[Движок] АРХИВ XNova - браузерная on-line игра по типу OGame

Статус
В этой теме нельзя размещать новые ответы.
BE@ST, прошу прощения тогда :( Порой трудно угадать уровень собеседника. Уж лучше очевидное написать иногда...
По поводу кода, попался один момент. Вот этот
PHP:
    } elseif ($CurrentPlanet["energy_max"] >= $CurrentPlanet["energy_used"]) {
        // Cas normal (Y a assez d'energie toutes les mines tournent a plein rendement)
        $production_level            = 100;
    } else {
        // Cas ou il manque de l'energie ... On calcule un pourcentage de production
$production_level            = floor(($CurrentPlanet['energy_max'] / $CurrentPlanet['energy_used']) * 100);  
}
Вот не знаю как у тебя, но в моей сборке energy_used всегда отрицательное! А значит $production_level = 100; будет выполняться всегда.
Код:
//За 11 последних дней
SELECT count(*) FROM `game_planets` WHERE `energy_used`<0 and last_update>1234567890;
>count(*)
>2540
SELECT count(*) FROM `game_planets` WHERE `energy_used`>0 and last_update>1234567890;
>count(*)
>0
И решение видится как замена в вышеприведенном фрагменте:
PHP:
 $CurrentPlanet["energy_used"]
на
PHP:
 abs($CurrentPlanet["energy_used"])

изменил первую строку того фрагмента и ничего не поменялось:ak:
видимо не это надо менять, либо не только это...:(
хм юзеры начали говорить что у них работает - просто у меня для наглядности стоит динамический счётчик ресов чтобы было видно сколько идёт - так он работает не зависимо от этих показателей...мб он настраивается где то отдельно ?
юзеры гвоорят что он них считает но после обновления страницы возвращается старое значение (т.е. наверное исправлен баг)
надо как то подправить этот счётчик:)
 
Ещё ошибка =)
Во вкладке флот свержу пишется такие символы : п»ї
Как это убрать?
 
BE@ST, вообще то там в двух местах нужен abs в том фрагменте, из-за второго может получаться минус.
И сразу определимся - этот скрипт лишь начисляет выработанные ресурсы. За отображение во вкладке Ресурсы/сырье отвечает resources.php в корне игры. В нем есть полностью аналогичный код.
 
BE@ST, вообще то там в двух местах нужен abs в том фрагменте, из-за второго может получаться минус.
И сразу определимся - этот скрипт лишь начисляет выработанные ресурсы. За отображение во вкладке Ресурсы/сырье отвечает resources.php в корне игры. В нем есть полностью аналогичный код.

изменять во 2-м месте надо с учётом одинарных ковычек ?
п.с. отображение в ресурсах верное, у меня динамический счётчик в TopNavigationBar (RealtimeRess мод стоит) - вот там и идут ресурсы при отрицательной энергии как будто всё нормально а при обновлении страницы естественно сбрасываются значения на реальные.
 
изменять во 2-м месте надо с учётом одинарных ковычек ?
п.с. отображение в ресурсах верное, у меня динамический счётчик в TopNavigationBar (RealtimeRess мод стоит) - вот там и идут ресурсы при отрицательной энергии как будто всё нормально а при обновлении страницы естественно сбрасываются значения на реальные.

Не принципиально в конкретной ситуации. Оставь одинарные. Вопрос зачем там вообще двойные кое-где ставились.

Ну тут уж непродуманность этого плагина... Как вариант, добавить в js скрипт еще одну переменную с фактором производства и на него уж умножать значение, которое будет прибавляться.
 
Не принципиально в конкретной ситуации. Оставь одинарные. Вопрос зачем там вообще двойные кое-где ставились.

Ну тут уж непродуманность этого плагина... Как вариант, добавить в js скрипт еще одну переменную с фактором производства и на него уж умножать значение, которое будет прибавляться.

как в формулы js грамотно запихнуть продакшн лвл ?

PHP:
 <script LANGUAGE='JavaScript'>
<!--
var now = new Date();
var event = new Date();
var seconds = (now - event);
var val = 0;
var val2 = 0;
var val3 = 0;
ID=window.setTimeout('update();', 1000);
function update() {
  now = new Date();
  seconds = (now - event) /1000;
  val = ( {metal_perhour} /3600.0) * {resource_multiplier} * {rpg_geologue} * seconds + {metalh};
  if( val >= {metal_mmax} ) val = {metal_mmax};
  document.ressources.metal.value = number_format( val ,2);
  val = ( {crystal_perhour} /3600.0) * {resource_multiplier} * {rpg_geologue} * seconds + {crystalh};
  if( val >= {crystal_mmax} ) val = {crystal_mmax};
  document.ressources.crystal.value = number_format( val ,2);
  val = ( {deuterium_perhour} /3600.0) * {resource_multiplier} * {rpg_geologue} * seconds + {deuteriumh};
  if( val >= {deuterium_mmax} ) val = {deuterium_mmax};
  document.ressources.deut.value = number_format( val ,2);

  ID=window.setTimeout('update();',1000);
}
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];
}
// --></script>
 
Устроили чат..., ну да ладно.
А что тут запихивать ? )
Вот у тебя считается металл для вывода:
PHP:
val = ( {metal_perhour} /3600.0) * {resource_multiplier} * {rpg_geologue} * seconds + {metalh};
Добавь сюда фактор производства (prod_fact:(
PHP:
val = ( {metal_perhour} /3600.0) * {resource_multiplier} * {rpg_geologue}* {prod_fact} * seconds + {metalh};
Соответственно добавь этот множитель и в кристалл, и в дейтерий.
Далее /include/functions/ShowTopNavigationBar.php добавь собственно сам фактор производства в массив, который ты отдаешь шаблонизатору.
PHP:
/*Здесь у нас считаются ресурсы, тутже еще и окрашиваются строки :)*/
/*бла-бла*/

// добавим вот это, к примеру
$parse['prod_fact'] = 0;
if ( $CurrentPlanet["energy_used"] && $CurrentPlanet["energy_max"] )
{
   $parse['prod_fact']=abs($CurrentPlanet["energy_used"] / $CurrentPlanet["energy_max"]);
   if ( $parse['prod_fact'] > 1 ) $parse['prod_fact']=1;
}
// а дальше уже по коду
// говорим что за шаблон парсить и отдаем ему массив со значениями
$TopBar = parsetemplate( $NavigationTPL, $parse);

И все... ну и я не наблюдаю что у тебя базовая добыча учитывается, хотя это мелочи. Добавить можно аналогично - вопрос двух-трех минут.
 
Прости не понял какой каретки???
 
Устроили чат..., ну да ладно.
А что тут запихивать ? )
Вот у тебя считается металл для вывода:
PHP:
val = ( {metal_perhour} /3600.0) * {resource_multiplier} * {rpg_geologue} * seconds + {metalh};
Добавь сюда фактор производства (prod_fact:(
PHP:
val = ( {metal_perhour} /3600.0) * {resource_multiplier} * {rpg_geologue}* {prod_fact} * seconds + {metalh};
Соответственно добавь этот множитель и в кристалл, и в дейтерий.
Далее /include/functions/ добавь собственно сам фактор производства в массив, который ты отдаешь шаблонизатору.
PHP:
/*Здесь у нас считаются ресурсы, тутже еще и окрашиваются строки :)*/
/*бла-бла*/
 
// добавим вот это, к примеру
$parse['prod_fact'] = 0;
if ( $CurrentPlanet["energy_used"] && $CurrentPlanet["energy_max"] )
{
   $parse['prod_fact']=abs($CurrentPlanet["energy_used"] / $CurrentPlanet["energy_max"]);
   if ( $parse['prod_fact'] > 1 ) $parse['prod_fact']=1;
}
// а дальше уже по коду
// говорим что за шаблон парсить и отдаем ему массив со значениями
$TopBar = parsetemplate( $NavigationTPL, $parse);

И все... ну и я не наблюдаю что у тебя базовая добыча учитывается, хотя это мелочи. Добавить можно аналогично - вопрос двух-трех минут.

у меня не получилось :(
добавил этот код в ShowTopNavigationBar.php но ничего не изменилось :confused:
п.с. js естественно изменил
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху