делаю игру браузерную, перевожу движок игры, столкнулся с проблемой. перевожу только текст описаний и разговоров, при загрузке на сервер - вместо страницы ошибка сайт закрыт на обслуживание страницы не существует, закидываю обратно американскую версию все пашет. вот пример арена питомцев перевод.
if ($userrow == false) { //die("X"); if (isset($_GET["do"])) { if ($_GET["do"] == "verify") { header("Location: users.php?do=verify"); die(); } } header("Location: login.php?do=login"); die(); }
$controlquery = doquery("SELECT * FROM {{table}} WHERE id='1' LIMIT 1", "control"); $controlrow = mysql_fetch_array($controlquery); $page = "<center><a href='index.php'>Return to the Game</a><br></center>"; if ($controlrow["gameopen"] == 0) { header("Location: index.php"); die(); } //Must vote if (($userrow["poll"] != "Voted") && ($userrow["level"] >= "3")) { header("Location: poll.php"); die(); } // Block user if he/she has been banned. if ($userrow["authlevel"] == 2 || ($_COOKIE['dk_login'] == 1)) { setcookie("dk_login", "1", time()+999999999999999); die("<b>You have been banned</b><p>Your accounts has been banned and you have been placed into the Town Jail. This may well be permanent, or just a 24 hour temporary warning ban. If you want to be unbanned, contact the game administrator by emailing admin@dk-rpg.com."); }
$updatequery = doquery("UPDATE {{table}} SET location='Pet Arena' WHERE id='".$userrow["id"]."' LIMIT 1", "users");
$castlequery = doquery("SELECT * FROM {{table}} WHERE latitude='".$userrow["latitude"]."' AND longitude='".$userrow["longitude"]."' LIMIT 1", "strongholds"); if (mysql_num_rows($castlequery) == 0) {header("Location: index.php"); die();}
##############
//See if this user is in a duel, or has been challenged to a duel $query = "SELECT dk_duel.*, dk_users.charname, dk_users.level FROM dk_duel, dk_users WHERE (dk_duel.player1id = '$userrow[id]' AND dk_duel.player1done != 1 AND dk_duel.player2id = dk_users.id) OR (dk_duel.player2id = '$userrow[id]' AND dk_duel.player2done != 1 AND dk_duel.player1id = dk_users.id)"; $result = mysql_query($query) or die(mysql_error());
$page = "$ma[charname] (Level $ma[level]) вызвал вас на дуэль! Если вы выиграете, вы будете получать 0.01% от {$ma[charname]}'s общего опыта,немного кредитов и $wingold золота. однако если вы проиграете, то потеряете $losegold золтота, и ваше здоровье будет снижено! Вы можете либо <a href='index.php?do=acceptduel'>согласитьсяt</a> или <a href='index.php?do=declineduel'>отказаться</a> отвызова."; Display($page, $title); exit; } } elseif ($ma[duelstatus] == 3) { Require('pvp.php'); duel(); exit; } }
##############
if (isset($_GET["do"])) { $do = explode(":",$_GET["do"]);
$page = <<<END <table width="100%" align='center'> <tr><td class="title">Pet Arena</td></tr></table> <p>Вы пришли сюда, чтобы кормить и ухаживать за захваченными питомцами. Вы также можете обучить их сражаться с другими питомцами игроков. Обратите внимание, что сила настоящее время не работает так что не тратьте очки умений на это.<p> Для каждого поединка, ваш орден автоматически получает 1 кредит помещаемый в базе ордена для хранения. Тем не менее, вы не получите бонус шкалы, если вы только практикуетесь. Все домашние животные будут полностью восстановлены в полном здравии каждые 24 часов, бесплатно.<p> <table> <tr><td> <ul><b><u>General</u></b> <li /><a href="arena.php?do=view">Смотреть питомцев</a> <li /><a href="arena.php?do=feed">Кормить питомцев</a> <li /><a href="arena.php?do=spells">Покупать силы питомцу</a> <li /><a href="arena.php?do=release">отпустить питомца</a><br>
$page .= "</table><center><p>Вы ограничены количеством боев и побед вы можете иметь. Если, когда вы пытаетесь бороться, и вы получите отправлены обратно на эту страницу, вы должны подождать некоторое время.<p><a href='strongholds.php'>Вернуться на базу</a></center>";
display($page,"Pet Arena"); }
function doview($id) { global $userrow;
$updatequery = doquery("UPDATE {{table}} SET location='Viewing Pets' WHERE id='".$userrow["id"]."' LIMIT 1", "users");
$page = "<table width='100%'><tr><td class='title'>Pet Arena - View your Pets</td></tr></table>"; $petquery = doquery("SELECT * FROM {{table}} WHERE trainer='".$userrow["charname"]."'", "arena"); if (mysql_num_rows($petquery) <= 0) { $page .= "У вас нет питомцев для участия на арене!<br>"; $page .= "Для того чтобы захватить существо вам нужна сила захвата "; $page .= "В борьбе с врагом. Если сила является достаточно мощной, чтобы удерживать существо, "; $page .= "и монстр был ослаблен достаточно (низкие HP) вы можете захватить его в качестве питомца.<p>"; $page .= "Вы можете вернуться на <a href='strongholds.php'>базу</a>, или оставить и "; $page .= "<a href='index.php?do=move:0'>продолжить изучение</a>.<p>"; display($page, "Viewing Pets"); }
$page .= "<tr><td bgcolor='#ffffff'><b>Побед:</b></td><td bgcolor='#ffffff'>".$petrow["wins"]."<br></td></tr>"; $page .= "<tr><td bgcolor='#ffffff'><b>Последняя победа:</b></td><td bgcolor='#ffffff'>".$petrow["lastwin"]."<br></td></tr>"; $page .= "<tr><td bgcolor='#eeeeee'><b>Поражений:</b></td><td bgcolor='#eeeeee'>".$petrow["losses"]."<br></td></tr>"; $page .= "<tr><td bgcolor='#eeeeee'><b>Последний проигрышь:</b></td><td bgcolor='#eeeeee'>".$petrow["lastloss"]."<br></td></tr>"; $page .= "<tr><td bgcolor='#ffffff'><b>Очки умений:</b></td><td bgcolor='#ffffff'>".$petrow["skillpoints"]."<br></td></tr>"; $page .= "</table>"; $page .= "<center><br>You may<a href='arena.php'>Вернутся на арену</a> if you have changed your mind.</center>"; display($page,"Pet Arena - View Pets"); } if (!isset($id)) { $page .= "Вы можете захватить до 5 различных животных для использования внутри Арены. "; $page .= "Некоторые домашние животные лучше подходят для различных сражениях, в зависимости от их "; $page .= "специальных способностей, иммунитеты, и в целом сильные и слабые стороны.<p>"; $page .= "<table width='95%' style='border: solid 1px black' cellspacing='0' cellpadding='0'>"; $page .= "<tr><td colspan='5' bgcolor='#fffff'><center><b>пожалуйста выбирите питомца</b></center></td></tr>"; $page .= "<tr><td><b>имя</b></td><td><b>вид</b></td><td><b>HP</b></td><td><b>уровень</b></td><td><b>побед/поражений</b></td></tr>"; $count = 2; while ($petrow = mysql_fetch_array($petquery)) { if ($count == 1) { $color = "bgcolor='#ffffff'"; $count = 2; } else { $color = "bgcolor='#eeeeee'"; $count = 1;} $page .= "<tr><td ".$color." width='25%'>"; $page .= "<a href='arena.php?do=view:".$petrow["id"]."'>".$petrow["name"]."</a></td>"; $page .= "<td ".$color." width='25%'>".$petrow["type"]."</td>"; $page .= "<td ".$color." width='20%'>".$petrow["currenthp"]."/".$petrow["maxhp"]."</td>"; $page .= "<td ".$color." width='20%'>".$petrow["level"]."</td>"; $page .= "<td ".$color." width='20%'>".$petrow["wins"]."/".$petrow["losses"]."</td>"; $page .= "</tr>"; } $page .= "</table>";
} else { // if you chose to view a Pet...
$petquery = doquery("SELECT * FROM {{table}} WHERE id='$id' LIMIT 1", "arena"); $petrow = mysql_fetch_array($petquery); if ($petrow["trainer"] != $userrow["charname"]) { $page .= "Вы не являетесь владельцем питомца,!<br>"; $page .= "Вы можете только просматривать, кормить, и выпуск домашних животных, которые находятся под вашим контролем.<p>"; $page .= "Вы можете вернуться на <a href='strongholds.php'>Базу</a>, или оставить и "; $page .= "<a href='index.php?do=move:0'>продолжить свое путешествие</a>.<p>"; display($page, "Viewing Pets"); }
$page .= "</table>"; } $page .= "<center><br>You may <a href='arena.php'>Вернуться на арену</a> if you have changed your mind.</center>"; display($page,"Pet Arena - View Pets"); }
function spells() { // Purchase capture spells
global $userrow, $numqueries;
if (isset($_POST["submit"])) {
$castlequery = doquery("SELECT * FROM {{table}} WHERE latitude='".$userrow["latitude"]."' AND longitude='".$userrow["longitude"]."' LIMIT 1", "strongholds"); if (mysql_num_rows($castlequery) == 0) {header("Location: index.php"); die();}
} elseif (isset($_POST["cancel"])) {
header("Location: index.php"); die();
} else {
$title = "Buy Spells";
$updatequery = doquery("UPDATE {{table}} SET location='Buying Spells' WHERE id='".$userrow["id"]."' LIMIT 1", "users");
$page = "<table width='100%' border='1'><tr><td class='title'>Buy Spells</td></tr></table><p>"; $page .= "Добро пожаловать в мой Магазин.<p>Я легендарный наставник.<p>Вы можете приобрести глакроны от меня, который дадут вам возможность захватить существ выше уровнем.Уровнь, который в силе захвата, это самый высокий уровень существа, который вы можете захватить. Чем выше уровень существа, тем больше шансов что его параметры будут выше, для использования в на арене питомцев.<p>Эти галакроны не из дешевых, я требую, кредиты от вас, если вы желаете приобрести любой из следующих сил:<br />\n"; $page .= "<br /><br /><li /><a href=\"arena.php?do=spells1\">Lvl30 сила захвата</a><li /><a href=\"arena.php?do=spells2\">Lvl45 сила захвата</a><li /><a href=\"arena.php?do=spells3\">Lvl60 сила захвата</a><li /><a href=\"arena.php?do=spells4\">Lvl75 сила захвата</a><li /><a href=\"arena.php?do=spells5\">Lvl100 сила захвата</a><li /><a href=\"arena.php?do=spells6\">Lvl120 сила захвата</a><br /><p><p>Вы можете вернуться на <a href=\"arena.php\">Арену</a>,или продолжить свой путь используя навигатор с права.<br />\n";
}
display($page, $title);
}
function spells1() { // Lvl30 capture
global $userrow, $numqueries;
$castlequery = doquery("SELECT * FROM {{table}} WHERE latitude='".$userrow["latitude"]."' AND longitude='".$userrow["longitude"]."' LIMIT 1", "strongholds"); if (mysql_num_rows($castlequery) == 0) {header("Location: index.php"); die();}
if (isset($_POST["submit"])) {
if ($userrow["dscales"] < 100){ display("У вас недостаточно кредитов чтобы купит этот голокрон с силой захвата.<br /><br />Вы можете вернуться <a href=\"strongholds.php\">на базу</a>, или продолжить свой путь используя навигатор с права.", "Not enough Dragon Scales"); die(); }
$title = "Buy Spells - You have learnt a new Capture Spell";
$spellquery = doquery("SELECT id FROM {{table}}","spells"); $userspells = explode(",",$userrow["spells"]); //add spell array_push($userspells, 66); $new_userspells = implode(",",$userspells); $userid = $userrow["id"]; doquery("UPDATE {{table}} SET spells='$new_userspells' WHERE id='$userid' LIMIT 1", "users"); $newdscales = $userrow["dscales"] - 100; $query = doquery("UPDATE {{table}} SET dscales='$newdscales' WHERE id='".$userrow["id"]."' LIMIT 1", "users"); $page = "<table width='100%' border='1'><tr><td class='title'>Buy Spells - You have learnt a new Capture Spell</td></tr></table><p>"; $page .= "Голокрон раскрыл для вас свои знания и вы узнали как применять силу захвата.<p>Поздравляем вы изучили <b>Lvl30 силу захвата</b>!<br /><br />Вы можете вернуться на <a href=\"arena.php\">Арену питомцев</a>, или продолжить свой путь используя навигатор с права.";
} elseif (isset($_POST["cancel"])) {
header("Location: index.php"); die();
} else {
$title = "Buy Spells - Capture Spell"; $page = "<table width='100%' border='1'><tr><td class='title'>Купить голокрон -голокрон силы захвата</td></tr></table><p>"; $page .= "Вы уверены что хотите купить голокрон, чтобы узнать <b>Lvl30 силу захвата по цене 100 кредитов</b>?<br /><br />\n"; $page .= "<form action=\"arena.php?do=spells1\" method=\"post\">\n"; $page .= "<input type=\"submit\" name=\"submit\" value=\"Да\" /> <input type=\"submit\" name=\"cancel\" value=\"нет\" />\n"; $page .= "</form>\n"; $page .= "Вы можете вернуться на<a href=\"arena.php\">Арену питомцев</a>, или продолжить свой путь используя навигатор с права.<br /><br />\n";
}
display($page, $title);
Часть кода убрано т.к не вмещаюсь по лимиду иногда бывает ошибка при нажатии на кнопку переход вроде есть, но белый экран, приходиться обновлять. сначала делал через блокнот в utf-8 потом подумал что он коверкает код удалось сделать через PHP_Expert_Editor_4.3 то что также коверкал блокнот, грузилось теперь ничего не помогает на некоторых частях игры. Что делать уже не знаю.
Добавлено (04.02.2013, 18:14) --------------------------------------------- удается редактировать без глюков, когда сохраняешь в блокноте в утф 8 и потом редактируешь в PHP_Expert_Editor_4.3 при редактировании 10-15 строк заливая на хост, при перезагрузке страницы с ареной происходит вылет на страницу ошибки при перезагрузке все нормально. Возможно полностью переведенная страница становиться как большая ошибка, поэтому приходится рядить по несколько строк.
Сообщение отредактировал vinurd - Понедельник, 04 Февраля 2013, 11:09