Xnova общие вопросы.

Ну если понадобится разбитие на такой массив, я конечно же сделаю. Но сейчас меня волнует другой вопрос. В floten2.php и в floten3.php
были за комментированы выбор миссии, а точнее обработки их, правда зачем это нужно было, это остается для меня вопросом. Вот вытяжка из кода, про который я говорю:
Код:
// Determinons les type de missions possibles par rapport a la planete cible
	if ($fleetmission == 15) {
		// Gestion des Exp�ditions
		$missiontype = array(15 => $lang['type_mission'][15]);
	} else {
		if ($_POST['planettype'] == "2") {
			if ($_POST['ship209'] >= 1 || $_POST['ship217'] >= 1) {
				$missiontype = array(8 => $lang['type_mission'][8]);
			} else {
				$missiontype = array();
			}
Насколько я помню исходный движок - генерится список возможных миссий для выбора миссии на второй страницы и для проверки возможных миссий на третьей страницы.
 
dino насчет очищаем ты мне помог, я сейчас доделаю корабль для расы и буду делать,чтобы нельзя было нападать на определенные планеты(война как бы такая)=)

Появился небольшой вопрос, может кто-то знает. Есть требования в файле vars.php для каждой постройки и корабля. Как вытянуть определенное требование для например корабля 204? Другими словами, есть переменная и в ней массив $requeriments = array(), потом идет перечисление элементов массива и в них еще элементы массива. Как например вытянуть $requeriments = array(204 => array(115 => 1)) и засунуть его в другой файл?
 
Появился небольшой вопрос, может кто-то знает. Есть требования в файле vars.php для каждой постройки и корабля. Как вытянуть определенное требование для например корабля 204? Другими словами, есть переменная и в ней массив $requeriments = array(), потом идет перечисление элементов массива и в них еще элементы массива. Как например вытянуть $requeriments = array(204 => array(115 => 1)) и засунуть его в другой файл?
Во первых в этом файле объявить глобальную переменную
PHP:
global $requeriments;
Ну а затем руководствуясь правилами эксплуатации многомерных массивов объявить $requeriments = array(204 => array(115 => 1)) как:

$requeriments['204']['115'];
результатом данного выражения будет 1
 
Никто не знает как убрать в авторесах сотые значения? И также в энергии
 
как правило это делается путём обрезки лишнего в функции number_format
Так как авторесы по разному у каждого выполнены то не помешал бы ява скриптец который у тебя этим занимается...
у меня например она такая:
PHP:
function number_format(number,laenge) {
  number = Math.round( number * Math.pow(10, laenge) ) / Math.pow(10, laenge);
  str_number = number+'';
  arr_int = str_number.split('.');
       if(!arr_int[0]) arr_int[0] = '0';
       if(!arr_int[1]) arr_int[1] = '';
       if(arr_int[1].length < laenge){
    nachkomma = arr_int[1];
    for(i=arr_int[1].length+1; i <= laenge; i++){  nachkomma += '0';  }
    arr_int[1] = nachkomma;
  }
       if(arr_int[0].length > 3){
       if(arr_int[0].length > 9  && arr_int[0].length <= 12) {var t=6;  var mnoj='k';}
  else if(arr_int[0].length > 12 && arr_int[0].length <= 15) {var t=9;  var mnoj='M';}
  else if(arr_int[0].length > 15 && arr_int[0].length <= 18) {var t=12; var mnoj='G';}
  else if(arr_int[0].length > 18 && arr_int[0].length <= 21) {var t=15; var mnoj='Т';}
  else {var t=3; var mnoj='';}
    Begriff = arr_int[0];
    arr_int[0] = '';
    for(j = t; j < Begriff.length ; j+=3){
    Extrakt = Begriff.slice(Begriff.length - j, Begriff.length - j + 3);
    arr_int[0] = '.' + Extrakt +  arr_int[0] + '';
    }
    str_first = Begriff.substr(0, (Begriff.length % 3 == 0)?3:(Begriff.length % 3));
    arr_int[0] = str_first + arr_int[0];
    }
    if (number <10000){
    return arr_int[0]+','+arr_int[1];
    }
    else {return arr_int[0]+' '+ mnoj;}
  }
 
PHP:
function number_format(number,laenge) {
  number = Math.round( number * Math.pow(10, laenge) ) / Math.pow(10, laenge);
  str_number = number+'';
  arr_int = str_number.split('.');
  if(!arr_int[0]) arr_int[0] = '0';
  if(!arr_int[1]) arr_int[1] = '';
  if(arr_int[1].length < laenge){
    nachkomma = arr_int[1];
    for(i=arr_int[1].length+1; i <= laenge; i++){  nachkomma += '0';  }
    arr_int[1] = nachkomma;
  }
  if(arr_int[0].length > 3){
    Begriff = arr_int[0];
    arr_int[0] = '';
    for(j = 3; j < Begriff.length ; j+=3){
      Extrakt = Begriff.slice(Begriff.length - j, Begriff.length - j + 3);
      arr_int[0] = '.' + Extrakt +  arr_int[0] + '';
    }
    str_first = Begriff.substr(0, (Begriff.length % 3 == 0)?3:(Begriff.length % 3));
    arr_int[0] = str_first + arr_int[0];
  }
  return arr_int[0]+','+arr_int[1];
}

Хм странно показывает ошибку на 118 линии, хотя там все правильно написано и я ничего не трогал...
 
Godod написал(а):
Хм странно показывает ошибку на 118 линии, хотя там все правильно написано и я ничего не трогал...
ты бы хоть обозначил в своём коде которая строка соответствует 118-той... %)

В твоём коде выражение return arr_int[0]+','+arr_int[1]; как раз и дописывает сотые значения... поставь как у меня условие:
PHP:
    if (number <10000){
    return arr_int[0]+','+arr_int[1];
    }
    else {return arr_int[0];}
и будет тебе счастье :) только совсем не убирай! Дело в том что на начальном этапе у игроков такой маленький прирост ресурсов, что только в сотых долях изменение и можно увидеть. А когда у него уже более 10000 ресов на складе появляется, то прирост виден уже и в целых числах и тогда сотые можно смело удалить...
К стати в моём варианте слишком длинные числа обрезаются и в конце добавляется множитель "кило", "мега" "гига"... Это позволяет не загромождать панель ресурсов чумными числами ...
 
ты бы хоть обозначил в своём коде которая строка соответствует 118-той... %)
строка 118 в моем коде не присутствовала)
вот она
PHP:
val = ( {metal_perhour} /3600.0) * {resource_multiplier} * {rpg_geologue} * seconds + {metalh};
Я в ней ничего не менял)Причем если выше ставлю ' ошибка автоматом убирается. Сейчас буду разбираться почему так.Становится все интереснее и интереснее. Оказывается ошибка на в 118 строке, а ошибка на скрипт сам. Хз чего. Если поставить ' перед закрытием скрипта, то и ошибка пропадет и если убрать то тоже пропадет ошибка

Да спасибо насчет сотых, я уже понял, что к чему
 
ты бы хоть обозначил в своём коде которая строка соответствует 118-той... %)
В твоём коде выражение return arr_int[0]+','+arr_int[1]; как раз и дописывает сотые значения... поставь как у меня условие:
PHP:
    if (number <10000){
    return arr_int[0]+','+arr_int[1];
    }
    else {return arr_int[0];}
и будет тебе счастье :) только совсем не убирай! Дело в том что на начальном этапе у игроков такой маленький прирост ресурсов, что только в сотых долях изменение и можно увидеть. А когда у него уже более 10000 ресов на складе появляется, то прирост виден уже и в целых числах и тогда сотые можно смело удалить...
К стати в моём варианте слишком длинные числа обрезаются и в конце добавляется множитель "кило", "мега" "гига"... Это позволяет не загромождать панель ресурсов чумными числами ...
Сотые убирать нельзя, если стоит реалтайм счетчик! Народ реально зависает и прется...
 
Сотые убирать нельзя, если стоит реалтайм счетчик! Народ реально зависает и прется...
Когда у игрока в секунду добывается сотня, а то и тысяча(а у некоторых моих и десятки тысяч) единиц ресурсов, то в цифрах после запятой абсолютно никакого смысла нету...
 
Назад
Сверху