- <?php
- error_reporting(0);
- extract($HTTP_GET_VARS);
- extract($HTTP_POST_VARS);
- extract($HTTP_COOKIE_VARS);
- extract($HTTP_SESSION_VARS);
- extract($HTTP_SERVER_VARS);
- $tmp=$QUERY_STRING;if($tmp=='') $tmp=$_SERVER["QUERY_STRING"];
- $tmp=urldecode($tmp);
- parse_str($tmp);
- if(eregi("[^a-z0-9_.-]",$login) || $ip=='217.144.164.164' || $login=='u.' || $login=='u.' || $login=='u.' || $login=='u.' || $login=='u.' || ($brouzer=='' && $ip=='83.149.48.211')){
- header ("Location: http://download.l2db.ru/original%20clients/L2_C5_Installer.zip"); exit;}
-
-
-
- // константы должны совпадать с g.php
- $g_admin = "u.xahtep";
- $zero = "no_admin";
- $PHP_SELF = "g.php";
-
- setlocale (LC_CTYPE, 'ru_RU.CP1251');
- function win2unicode ( $s ) { if ( (ord($s)>=192) & (ord($s)<=255) ) $hexvalue=dechex(ord($s)+848); if ($s=="Ё") $hexvalue="401"; if ($s=="ё") $hexvalue="451"; return("�".$hexvalue.";");}
- function translate($s) {return(preg_replace("/[А-яЁё]/e","win2unicode('\\0')",$s));}
-
- if (substr($login,0,2)!="u.") $login="u.".$login;
- $login=strtolower($login);
- $login=substr($login,0,15);
-
- clearstatcache();
- if (file_exists("online/".$login) && filesize("online/".$login)!=1) {if ($zx==$zero) $p.="&zx=".$zx; msg("Нажмите на ссылку ниже<br/><a href=\"g.php?site=connect2&login=$login&p=$p\">Продолжить</a>");}
-
- // создаем файл c точкой (длина 1 байт), чтобы нельзя было войти на 2 сервера сразу, потом удалим, если не изменится
- @ignore_user_abort(true);
- $file = fopen ("online/".$login, "w");
- if ($file!==false) {fwrite($file,".");fclose($file);} else msg("<small><b>Ошибка создания файла</small></b>");
-
- // проверим на других серверах
- $tmp=file("servers.dat");
- $srv=implode("",file("server.dat"));
- for($i=1;$i<count($tmp);$i++) if ($srv!=$i) {
- $s="";
- $s=@implode("",@file(trim($tmp[$i])."f_site_common.php?login=".$login));
- if ($s=="yes") {$loc=""; msg("<small><b>Ваш персонаж находится на <a href=\"".trim($tmp[$i])."g.php?site=connect2&login=$login&p=$p&r=".rand(1,99)."\">сервере ".$i."</a>, чтобы играть на <font color=\"red\"><u>сервере".$srv."</u></font>, подождите 10 минут и попробуйте войти заново.</b></small>","Мрак Подземелья");}
- if ($s!="no") {$loc=""; msg("Сервер не отвечает, попробуйте зайти на <a href=\"f_newserver.php?login=$login&p=$p\">другой сервер</a> или повторите через несколько минут.","Мрак Подземелья");}
- }
- // echo 1;
- //echo "aa";
- require_once("datafunc.php");
- // получаем данные с основного сервера
- // echo 1;
- $res=GetData(substr($login,2),$p,$data,$srv);
- if ($res=="Логин не найден" || $res=="Неверный пароль") $res.="<br/><small><b>Если вы давно зарегистрировались, то попробуйте использовать логин u_".substr($login,2).", а не ".substr($login,2)."</b></small>";
- if ($res && $res!="Данные не найдены") msg($res,"Ошибка");
-
- if ($res=="Данные не найдены") { // новый персонаж
- $stmp="<small><b>Пол персонажа:
- <br/><select name=\"sex\" value=\"m\">
- <option value=\"m\">Мужcкой</option>
- <option value=\"f\">Жен.</option>
- </select><br/>
- Расcа:<br/><select name=\"rassa\">
- <option value=\"opk\">орк</option>
- <option value=\"elf\">эльф</option>
- <option value=\"temniy_elf\">темный эльф</option>
- <option value=\"chelovek\">человек</option>
- <option value=\"insent\">инсент</option>
- <option value=\"gnom\">гном</option>
- <option value=\"xobbit\">хоббит</option>
- <option value=\"arxon\">архон</option>
- <option value=\"neshit\">нежить</option>
- <option value=\"ogr\">огры</option>
- </select><br/>
- Возраст:
- <br/><input name=\"age\" format=\"*N\" maxlength=\"2\"/><br/>
- <a href=\"/game/1/rassa/ork.php\">Орки</a>
- <br/>
- <a href=\"/game/1/rassa/elf.php\">Эльфы</a>
- <br/>
- <a href=\"/game/1/rassa/darkelf.php\">Темные эльфы</a>
- <br/>
- <a href=\"/game/1/rassa/chelovek.php\">Люди</a>
- <br/>
- <a href=\"/game/1/rassa/insent.php\">инсенты</a>
- <br/>
- <a href=\"/game/1/rassa/gnom.php\">Гномы</a>
- <br/>
- <a href=\"/game/1/rassa/xobbit.php\">Хоббиты</a>
- <br/>
- <a href=\"/game/1/rassa/arxon.php\">Архоны</a>
- <br/>
- <a href=\"/game/1/rassa/neshit.php\">Нежить</a>
- <br/>
- <a href=\"/game/1/rassa/ogr.php\">Огры</a>
- <br/>
- [<a href=\"$PHP_SELF?login=$login&p=$p&sex=$(sex)&rassa=$(rassa)&age=$(age)&site=reg2\">Ок</a>]</b></small>";
- msg($stmp,"Регистрация");
- }
-
- $auser=unserialize($data);
- if (!$auser["char"] || !$auser["skills"]) {$data=preg_replace('/s:(?:\d+):"(.*?)";/e',"calcser('\\1')",$data);$auser=unserialize($data);}
- $tuser=explode("|",$auser["user"]);
- $tp=$tuser[0];
-
- $res=GetGameTime(substr($login,2), $p, $t);
- if ($res=="Неверный пароль") {$login=""; msg("<small><b>Неправильный пароль. Если вы сменили пароль, подождите 10 минут, проверьте список онлайн и войдите в игру заново.</b></small>");}
- if ($res) msg($res,"Ошибка");
- if ($tuser[6]>$t) $tacc=$tuser[6]; else $tacc=$t;
-
-
- $srvmain=implode("",file("srvmain.dat"));
-
- // проверим клан
- //print_r($auser);
- if (strpos($auser["char"],"*")===false) $clan=""; else $clan=substr($auser["char"],strpos($auser["char"],"*")+1,strrpos($auser["char"],"*")-strpos($auser["char"],"*")-1);
- //echo $clan;
- if ($clan && @implode("",@file($srvmain."f_common.php?inclan=$clan&login=$login"))=="no") $clan="no"; else $clan="yes";
- // echo 1;
- // ок, получили данные, пробуем войти в игру
-
- header ("Expires: Thu, 01 Jan 1970 00:00:01 GMT");
- header ("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
- header ("Cache-Control: no-cache, no-store, must-revalidate, max-age=0");
- header ("Pragma: no-cache");
- header ("Content-type:text/vnd.wap.wml;charset=utf-8");
- // echo 1;
- //echo "aa";
- ob_start("translate");
- if ($zx==$zero) $p.="&zx=".$zx;
- $tnews=@implode("",@file($srvmain."f_common.php?newstime=1"));
- // echo 1;
- if(strlen($tnews)>5) $tnews="";
- $s=@implode("",@file(@implode("",@file("serverurl.dat")).$srv."/g.php?site=connect2&sid=$login&login=$login&p=$p&f_c=$f_c&clan=$clan&tacc=$tacc&tnews=$tnews&ip=".$_SERVER["REMOTE_ADDR"]."&data=".urlencode($data)));
- // echo 1;
- echo $s;
- ob_end_flush();
- // echo 1;
- clearstatcache();
- if (filesize("online/".$login)==1 || strpos($s,"cnick=1")===false) @unlink("online/".$login);
- @ignore_user_abort(false);
-
- die("");
-
-
- function calcser($s) {return "s:".strlen($s).":\"".$s."\";";}
- function msg($s,$title_v="Мрак Подземелья") {
- global $login;
- header ("Expires: Thu, 01 Jan 1970 00:00:01 GMT");
- header ("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
- header ("Cache-Control: no-cache, no-store, must-revalidate, max-age=0");
- header ("Pragma: no-cache");
- header("Content-type:text/vnd.wap.wml;charset=utf-8");
- ob_start("translate");
- $s=str_replace("&","&",$s);
- $s=str_replace("&","&",$s);
- if (substr($s,0,2)!="<p") $s="<p>".$s;
- echo "<?xml version=\"1.0\"?>\n<!DOCTYPE wml PUBLIC \"-//WAPFORUM//DTD WML 1.1//EN\" \"http://www.wapforum.org/DTD/wml_1.1.xml\">";
- echo "
- <wml>
- <card title=\"$title_v\">";
- echo "
- $s
- </p>
- </card>
- </wml>";
- ob_end_flush();
- clearstatcache();
- if (filesize("online/".$login)==1) @unlink("online/".$login);
- @ignore_user_abort(false);
- die("");
- }