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

Статус
В этой теме нельзя размещать новые ответы.
Привет, я опять в строю.
Итак вопросы:
1) Сколько машин в онлайне может быть? читал посты выше, а на практике кто сталкивался с проблемой перегруза сервера, если таковая вообще есть?
2) Перерыл кучу сайтов, нашел исходник исходника, как я понял, ugamela.
2.1) Идея игры мне очень понравилась, но начав доработку... так криво написано, даже, замудрено, а не криво... если не прав, поправьте)
2.2) на сайте угамеллы был топик, с выходом от автора версии 0.6 Цитата: я знаю что нынешний двиг - хлам, поэтому решил переписать по-нормальному, ждите релиза. Там будет куча всего, чего нету в нынешней версии, а так же проблемы с лишними запросами будут решены. (примерно так перевел)
Я в замешательстве. Сам еще не много сделал для своего двига, но планов много, ждать ли релиза или доробатывать... Если что, иогу помочь с дороботкой.
 
И встречный вопрос:
Хочу на страницу обзор -
- примерно в районе показа кол-ва очков вывести информацию о текущем исследовании и оставшемся времени (чтобы время шло, т.е. не статику);
- под планету - что строится на верфи и обратный отсчет времени
- под планету - что строится за оборона и обратный отсчет времени
Не совсем то, что надо... Но поехали.
1) overview.php - ищем
Код:
	if ( $planetrow['b_building'] != 0 ) {
				UpdatePlanetBatimentQueueList ( $planetrow, $user );
заменяем весь!!! блок на
Код:
			if ( $planetrow['b_building'] != 0 ) {
				UpdatePlanetBatimentQueueList ( $planetrow, $user );
				if ( $planetrow['b_building'] != 0 ) {
					$BuildQueue = explode (";", $planetrow['b_building_id']);
					$CurrBuild  = explode (",", $BuildQueue[0]);
					$RestTime   = $planetrow['b_building'] - time();
					$PlanetID   = $planetrow['id'];
					$Build  = InsertBuildListScript ( "overview" );
					$Build .= '<th>'.$lang['bqueqe'].'</th><th colspan=3>'.$lang['tech'][$CurrBuild[0]] .' ('. ($CurrBuild[1]) .')';
					$Build .= '<br/>'.$lang['end_time']." <b id=\"blc\" class=\"z\"></b>";
					$Build .= "\n<script language=\"JavaScript\">";
					$Build .= "\n	pp = \"". $RestTime ."\";\n";  // temps necessaire (a compter de maintenant et sans ajouter time() )
					$Build .= "\n	pk = \"". 1 ."\";\n";          // id index (dans la liste de construction)
					$Build .= "\n	pm = \"cancel\";\n";           // mot de controle
					$Build .= "\n	pl = \"". $PlanetID ."\";\n";  // id planete
					$Build .= "\n	t();\n";
					$Build .= "\n</script>\n</th>";

					$parse['building'] = $Build;
				} else {
					$parse['building'] = "<th>".$lang['bqueqe']."</th><th colspan=3>".$lang['Free']."</th>";
				}
			} else {
				$parse['building'] = "<th>".$lang['bqueqe']."</th><th colspan=3>".$lang['Free']."</th>";
			}

			if ( $planetrow['b_tech'] != 0 ) {
				$Research = $planetrow['b_tech_id'];
				$RestTimeT   = $planetrow['b_tech'] - time();
				$PlanetID   = $planetrow['id'];
				$Tech  = InsertTechListScript ( "overview" );
				$Tech .= '<th>'.$lang['tqueqe'].'</th><th colspan=3>'.$lang['tech'][$Research].'';
				$Tech .= '<br/>'.$lang['end_time']." <b id=\"tlc\" class=\"z\"></b>";
				$Tech .= "\n<script language=\"JavaScript\">";
				$Tech .= "\n	tpp = \"". $RestTimeT ."\";\n";  // temps necessaire (a compter de maintenant et sans ajouter time() )
				$Tech .= "\n	tpk = \"". 1 ."\";\n";          // id index (dans la liste de construction)
				$Tech .= "\n	tpm = \"cancel\";\n";           // mot de controle
				$Tech .= "\n	tpl = \"". $PlanetID ."\";\n";  // id planete
				$Tech .= "\n	tt();\n";
				$Tech .= "\n</script>\n</th>";
				$parse['btech'] = $Tech;
			} else {
				$parse['btech'] = "<th>".$lang['tqueqe']."</th><th colspan=3>".$lang['Free']."</th>";
			}
2) далее создаем файл includes/functions/InsertTechListScript.php с таким кодом
Код:
<?php

function InsertTechListScript ( $CallProgram ) {
	global $lang;

	$TechListScript  = "<script type=\"text/javascript\">\n";
	$TechListScript .= "<!--\n";
	$TechListScript .= "function tt() {\n";
	$TechListScript .= "	v           = new Date();\n";
	$TechListScript .= "	var tlc     = document.getElementById('tlc');\n";
	$TechListScript .= "	var timeout = 1;\n";
	$TechListScript .= "	n           = new Date();\n";
	$TechListScript .= "	ss          = tpp;\n";
	$TechListScript .= "	aa          = Math.round( (n.getTime() - v.getTime() ) / 1000. );\n";
	$TechListScript .= "	s           = ss - aa;\n";
	$TechListScript .= "	m           = 0;\n";
	$TechListScript .= "	h           = 0;\n\n";
	$TechListScript .= "	if ( (ss + 3) < aa ) {\n";
	$TechListScript .= "		tlc.innerHTML = \"". $lang['completed'] ."<br>\" + \"<a href=". $CallProgram .".php?planet=\" + tpl + \">". $lang['continue'] ."</a>\";\n";
	$TechListScript .= "		if ((ss + 6) >= aa) {\n";
	$TechListScript .= "			window.setTimeout('document.location.href=\"". $CallProgram .".php?planet=' + tpl + '\";', 3500);\n";
	$TechListScript .= "		}\n";
	$TechListScript .= "	} else {\n";
	$TechListScript .= "		if ( s < 0 ) {\n";
	$TechListScript .= "			if (1) {\n";
	$TechListScript .= "				tlc.innerHTML = \"". $lang['completed'] ."<br>\" + \"<a href=". $CallProgram .".php?planet=\" + tpl + \">". $lang['continue'] ."</a>\";\n";
	$TechListScript .= "				window.setTimeout('document.location.href=\"". $CallProgram .".php?planet=' + tpl + '\";', 2000);\n";
	$TechListScript .= "			} else {\n";
	$TechListScript .= "				timeout = 0;\n";
	$TechListScript .= "				tlc.innerHTML = \"". $lang['completed'] ."<br>\" + \"<a href=". $CallProgram .".php?planet=\" + tpl + \">". $lang['continue'] ."</a>\";\n";
	$TechListScript .= "			}\n";
	$TechListScript .= "		} else {\n";
	$TechListScript .= "			if ( s > 59) {\n";
	$TechListScript .= "				m = Math.floor( s / 60);\n";
	$TechListScript .= "				s = s - m * 60;\n";
	$TechListScript .= "			}\n";
	$TechListScript .= "			if ( m > 59) {\n";
	$TechListScript .= "				h = Math.floor( m / 60);\n";
	$TechListScript .= "				m = m - h * 60;\n";
	$TechListScript .= "			}\n";
	$TechListScript .= "			if ( s < 10 ) {\n";
	$TechListScript .= "				s = \"0\" + s;\n";
	$TechListScript .= "			}\n";
	$TechListScript .= "			if ( m < 10 ) {\n";
	$TechListScript .= "				m = \"0\" + m;\n";
	$TechListScript .= "			}\n";
	$TechListScript .= "			if (1) {\n";
	$TechListScript .= "				tlc.innerHTML = h + \":\" + m + \":\" + s + \"<br><a href=". $CallProgram .".php?listid=\" + tpk + \"&cmd=\" + tpm + \"&planet=\" + tpl + \">". $lang['DelFirstQueue'] ."</a>\";\n";
	$TechListScript .= "			} else {\n";
	$TechListScript .= "				tlc.innerHTML = h + \":\" + m + \":\" + s + \"<br><a href=". $CallProgram .".php?listid=\" + tpk + \"&cmd=\" + tpm + \"&planet=\" + tpl + \">". $lang['DelFirstQueue'] ."</a>\";\n";
	$TechListScript .= "			}\n";
	$TechListScript .= "		}\n";
	$TechListScript .= "		tpp = tpp - 1;\n";
	$TechListScript .= "		if (timeout == 1) {\n";
	$TechListScript .= "			window.setTimeout(\"tt();\", 999);\n";
	$TechListScript .= "		}\n";
	$TechListScript .= "	}\n";
	$TechListScript .= "}\n";
	$TechListScript .= "//-->\n";
	$TechListScript .= "</script>\n";

	return $TechListScript;
}

?>
3)его надо включить в сами функции includes\todofleetcontrol.php просто вставляем строку
Код:
include($ugamela_root_path . 'includes/functions/InsertTechListScript.'.$phpEx);
4) правим языки.. а именно overview.mo добавим
Код:
$lang['bqueqe']                     = 'Стройка';
$lang['tqueqe']                     = 'Исследование';
$lang['fqueqe']                     = 'Флот';
$lang['oqueqe']                     = 'Оборона';

$lang['end_time']	= 'Время до окончания:';
остальные значения на будущее) ща влом писать.
5) правим темплейт. находим вывод планеты
Код:
<tr>
        <th>{moon_img}<br>{moon}</th>
        <th colspan="2"><img src="{dpath}planeten/{planet_image}.jpg" height="200" width="200"></th>
        <th class="s">
                <table class="s" align="top" border="0">
                <tr>
                        {anothers_planets}
                </tr>
                </table>
        </th>
</tr>
после этого вставляем
Код:
<tr>
{building}
</tr>
<tr>
{btech}
</tr>

Получаем крассивое отображение очереди построек и исследования (к сожалению, пока не показывает уровень исследования, честно, не догнал как сделать пока...(()
далее все в таком же духе. Ну вот вроде и все, думаю ничего не забыл.
 
обнаружил такой баг:
энергия в минусе а добыча идет, у французеф что-то подобное есть и есть вроде как фикс, но через переводчик я плохо понял что надо сделать,чтоб это исправить..

Это вроде не баг. Если энергия в минусе, то изменяется добыча, учитывая фактор, вроде. Например, если все рудники поставить на 100% и энергии валом(она все еще в +), то добываем, допустим по 100 каждого вида, а если энергии не хватает(уходит в -), то будет добыча идти, например, 95 95 100. Чем больше минус, тем меньше добыча ресов. Смысл, я думаю, понятен. Но насчет остановки производства.... это как вариант, остановка производства, надо подумать.
А по поводу модов, учи франсиш) и прямо с их сайта качай.

Уже задавал вопрос. В определенный момент, при постройке термоядерки и солнечной станции и рудников, идет не правильный обсчет, перед показателями ставит минусы. Скрины прилагаются. А вообще там разные варианты бывают(добыча энергии на железной шахте в плюсе))Какие будут советы? а то я их так и не услышал раньше.
 

Вложения

  • 1.JPG
    1.JPG
    35,9 KB · Просмотры: 49
  • 2.JPG
    2.JPG
    36 KB · Просмотры: 35
подскажите как сделать чтоб чат выдел русс язык???
делал как писал
Для просмотра ссылки Войди или Зарегистрируйся
как были иероглифы так и остались
 
проблемы с кодировкой решаются правкой кода и сменой хидеров... или Чат-2 пробуй
 
У кого есть проблема отображения новых мессах вверху? Вот решение:
файл rak.php ищем запрос
Код:
				doquery("UPDATE {{table}} SET new_message=new_message+1 WHERE id='" . $selected_row['zielid'] . "'", 'users');
меняем на
Код:
                doquery("UPDATE {{table}} SET `new_message` = `new_message` + 1 WHERE `id` = '" . $selected_row['zielid'] . "'", 'users');
скажете одно и то же? нет, КАВЫЧКИ!! мне помогли)
а так же в файлах alliance.php и других, где происходит обновление таблицы юзера и поля new_message. Я так и не догнал, запрос ведь корректный, тем более, что интовское поле!!
 
по пробуй новый чат Чат-2
спасибо всё отлично работает

рад что мой мод подошол :) ато проблемно общаться с немцами незная нифига по тамошнему

Добавлено через 5 минут
Скачал UserBar Generator для Ogame/XNova Но так и непонял как его настроить. Подскажите плиз

попробуй мой
createbannerev7.png

с модификацией до v2.1
 
Userbar

Где скачать твою версию? У меня версия AlexPro но в ней у меня вывелось только количество юзверей. остальные значения нулевые
 
Где скачать твою версию? У меня версия AlexPro но в ней у меня вывелось только количество юзверей. остальные значения нулевые

я немцам выкладывал, похоже тут режут урлы в посте
http : // xnova-germany.de / forum / index.php?page=Thread&threadID=1219 (убрать пробелы)
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху