Просмотр файла f_site.dat

Размер файла: 12.49Kb
  1. // страницы логина и регистрации
  2.  
  3. //linkОсновнойСайт
  4. if ($tmp=='') msg("<p align=\"center\"><a href=\"$PHP_SELF?site=connect\">Вход</a><br/><a href=\"$PHP_SELF?site=reg\">Регистрация</a><br/><a href=\"$PHP_SELF?site=online\">Кто в игре?</a><br/><a href=\"http://game.psp.h2m.ru\">Новости</a><br/><a href=\"$PHP_SELF?site=rule\">О игре</a><br/><a href=\"http://psp.h2m.ru/forum/index.php?fid=8&id=12175260989058&page=0&\">Форум</a><br/><a href=\"http://psp.h2m.ru\">Выход</a><br/>-=*=-<br/><a href=\"http://top.kycb-kycb.org.ru/in.php?id=964\"><img src=\"http://top.kycb-kycb.org.ru/c.php?id=964&amp;s\" alt=\"\" /></a><br/><br/>Автор оригинальной версии игры: Blade (blade17@rambler.ru).",$game_title,0,'none');
  5. //if ($site=='rule') msg("<p>Версия ".$version."<br/>".$game_title." - это многопользовательская текстовая игра жанра RPG, в которую можно играть с мобильного телефона через WAP/GPRS.<br/>В ней можно путешествовать по миру, разговаривать с игровыми персонажами и другими игроками, выполнять квесты, воевать, использовать сотни предметов и десятки заклинаний, торговать, развивать свои навыки и многое, многое другое... При этом одновременно с вами в игре может находиться неограниченное число других игроков, взаимодействие с которыми происходит в режиме реального времени.","Правила",0,'none');
  6. if ($site=='rule') msg("<p align=\"center\">Версия ".$version."<br/>".$game_title." - это многопользовательская текстовая игра жанра RPG, в которую можно играть с мобильного телефона через WAP/GPRS.<br/>В игре свыше 200 локаций, более 20 разных заклинаний, сотни предметов - оружие, броня, элексиры, еда и т.д., более 40 NPC с нелинейными диалогами, 18 навыков, которые можно развивать, включая такие как \"приручение животных\", \"воровство\" и многое, многое другое...<br/><a href=\"game.php\">Назад</a><br/>-=*=-<br/><a href=\"http://top.kycb-kycb.org.ru/in.php?id=964\"><img src=\"http://top.kycb-kycb.org.ru/c.php?id=964&amp;s\" alt=\"\" /></a><br/></p>","Правила",0,'none');
  7. if ($site=='about') msg("Автор оригинальной версии игры: Blade (blade17@rambler.ru).<br/>Официальный сайт игры: <a href=\"http://wap.computermag.ru/game/\">wap.computermag.ru</a>.<br/>PHP исходники игры можно скачать с сайта http://blade.fklab.com.<br/>Возможно, в игру на этом сайте внесены изменения его владельцем/админом, поэтому по всем вопросам обращайтесь на форум или к владельцу сайта.",$game_title,0,'none');
  8. //$game_title." - это многопользовательская текстовая игра жанра RPG, в которую можно играть с мобильного телефона через WAP/GPRS.
  9. if ($site=='connect') { //linkЛогин
  10. $stmp="<p align=\"center\">Логин:
  11. <br/><input name=\"login\"/>
  12. <br/>Пароль:
  13. <br/><input name=\"p\"/>
  14. <br/><a href=\"$PHP_SELF?login=$(login)&p=$(p)&site=connect2\">Войти</a>
  15. <br/><a href=\"$PHP_SELF?site=lostpassword&lost=$(login)\">Я забыл пароль</a>
  16. <br/><a href=\"$PHP_SELF?site=reg\">Регистрация</a><br/><a href=\"game.php\">Назад</a><br/>-=*=-<br/><a href=\"http://top.kycb-kycb.org.ru/in.php?id=964\"><img src=\"http://top.kycb-kycb.org.ru/c.php?id=964&amp;s\" alt=\"\" /></a><br/></p>";
  17. if ($debug) $stmp.="<p><form action=$PHP_SELF>
  18. <table><tr><td>
  19. <input type=hidden name=site value=connect2>
  20. Логин:</td><td><input type=text name=login></td></tr><tr><td>
  21. Пароль:</td><td><input type=text name=p></td></tr><tr>
  22. </table>
  23. <br/><input type=submit value=Войти>
  24. </form>";
  25. msg($stmp,$game_title,0,'none');
  26. }
  27.  
  28. if ($site=='lostpassword') { //выслать пароль //linkВыслатьПароль
  29. eval(implode('',file("f_loadoffline.dat")));
  30. if (isset($game["loc"]["loc.offline"]["user.".$lost])) {
  31. $info=split("\|",$game["loc"]["loc.offline"]["user.".$lost]["info"]);
  32. if ($info[1]) {
  33. if (mail($info[1], "Пароль от игры ".$game_title, "Ваши данные для входа в свой аккаунт игры Амулет Дракона.\nЛогин: ".$lost."\nПароль: ".$info[0])) $stmp="Пароль выслан на адрес ".$info[1]."\n<br/><anchor>Назад<prev/></anchor>";
  34. else $stmp="Не удается отправить писмо на адрес ".$info[1]."\n<br/><anchor>Назад<prev/></anchor>";
  35. } else $stmp="Невозможно выслать пароль, так как при регистрации не был указан email.\n<br/><anchor>Назад<prev/></anchor>";
  36. } else $stmp="Нет такого пользователя: $lost.<br/>Чтобы получить забытый пароль по почте, введите на предыдущем экране ваш логин и выберите ссылку \"Я забыл пароль\".\n<br/><anchor>Назад<prev/></anchor>";
  37. msg($stmp,$game_title,0,'none');
  38. }
  39.  
  40. if ($site=='online') { //кто онлайн //linkОнлайн
  41. ai(); // обновим список
  42. $stmp="<p align=\"center\">Всего игроков: ".intval($game["all"]);
  43. if (count($game["players"])>0) {
  44. $stmp.="\n<br/>Сейчас в игре ".count($game["players"])." человек:";
  45. $ind=0;
  46. $count=0;
  47. if ($start<0 || !$start) $start=0;
  48. $online=array_keys($game["players"]);
  49. foreach($online as $i) {
  50. if ($ind>=$start) {
  51. $stmp.="\n<br/>".$game["loc"][$game["players"][$i]][$i]["title"];
  52. $count++;
  53. if ($count>=$count_show) break; // след. страница, если слишком много человек или предметов
  54. }
  55. $ind++;
  56. }
  57. if ($start && $start-$count_show>=0) $stmp.="\n<br/><a href=\"$PHP_SELF?site=online&start=".($start-$count_show)."\">[<<]</a>";
  58. if ($count+$start<count($game["players"])) {if (!$start) $stmp.="\n<br/>"; $stmp.= " <a href=\"$PHP_SELF?site=online&start=".($count+$start)."\">[+]</a>";}
  59. } else $stmp.="\n<br/>Сейчас в игре никого нет<br/><a href=\"game.php\">Назад</a><br/>-=*=-<br/><a href=\"http://top.kycb-kycb.org.ru/in.php?id=964\"><img src=\"http://top.kycb-kycb.org.ru/c.php?id=964&amp;s\" alt=\"\" /></a><br/></p>";
  60.  
  61. msg($stmp,"Онлайн",0,'none');
  62. }
  63.  
  64.  
  65. if ($site=='connect2') {
  66. if (substr($login,0,5)!='user.') $login='user.'.$login;
  67. if(!isset($game["players"][$login])) eval(implode('',file("f_loadoffline.dat")));
  68. if (isset($game["loc"]["loc.offline"][$login]) || isset($game["players"][$login])) {
  69. if (isset($game["players"][$login])) $info=split("\|",$game["loc"][$game["players"][$login]][$login]["info"]); else $info=split("\|",$game["loc"]["loc.offline"][$login]["info"]);
  70. if ($info[0]!=$p) msg("<p align=\"center\">Неправильный пароль<br/><a href=\"game.php?site=connect\">Назад</a><br/>-=*=-<br/><a href=\"http://top.kycb-kycb.org.ru/in.php?id=964\"><img src=\"http://top.kycb-kycb.org.ru/c.php?id=964&amp;s\" alt=\"\" /></a><br/>",$game_title,0,'none');
  71. // запоминаем логин в сессии
  72. if ($usesession) {session_start(); $sid = session_id();$sid=substr($sid,0,6); session_id($sid); $_SESSION["login"]=$login;} // укорачиваем имя сессии до 5 символов
  73. if (!isset($game["players"][$login])) {
  74. // добавляем в локацию...
  75. $loc=$game["loc"]["loc.offline"][$login]["loc"];
  76. $game["loc"][$loc][$login]=$game["loc"]["loc.offline"][$login];
  77. $game["players"][$login]=$loc;
  78. unset($game["loc"]["loc.offline"][$login]);
  79. // всем в локации в журнал, что пришел такой-то
  80. addjournalall($loc,"Появился ".$game["loc"][$loc][$login]["title"],$login);
  81. // очищаем свой журнал
  82. //$game["loc"][$loc][$login]["journal"]="";
  83. if ($game["loc"][$loc][$login]["crim"]) {$game["loc"][$loc][$login]["time_crim"]=time()+$game["loc"][$loc][$login]["time_crim"]-$game["loc"][$loc][$login]["time"];} // остаток времени сколько быть кримом
  84. $game["loc"][$loc][$login]["time_regenerate"]=time(); // чтобы начать с тем же уровнем здоровья
  85. unset($game["loc"][$loc][$login]["look"]);
  86. $game["loc"][$loc][$login]["time"]=time();
  87. }
  88. msg("Логин успешно.\n<br/>Сохраните в своем телефоне закладку на эту страницу и вам не придется каждый раз вручную вводить логин и пароль.\n<br/><a href=\"$PHP_SELF?sid=$sid&look=1\">В игру</a><br/>-=*=-<br/><a href=\"http://top.kycb-kycb.org.ru/in.php?id=964\"><img src=\"http://top.kycb-kycb.org.ru/c.php?id=964&amp;s\" alt=\"\" /></a><br/>");
  89. //$look=1; // при первом заходе выведем инфу о локации
  90. }else msg ("Такой логин не существует, вам надо зарегистрироваться",$game_title,0,'none');
  91. }
  92.  
  93. if ($site=='reg') { //linkРегистрация
  94. $stmp="<p align=\"center\">Логин:
  95. <br/><input name=\"login\"/>
  96. <br/>Пароль:
  97. <br/><input name=\"p\"/>
  98. <br/>Email:
  99. <br/><input name=\"email\"/>
  100. <br/>Имя (будет видно в игре):
  101. <br/><input name=\"title\"/>
  102. <br/>Пол:
  103. <br/><select name=\"sex\" value=\"m\">
  104. <option value=\"m\">Муж.</option>
  105. <option value=\"f\">Жен.</option>
  106. </select>
  107. <br/>Возраст:
  108. <br/><input name=\"age\"/>
  109. <br/><a href=\"$PHP_SELF?login=$(login)&p=$(p)&email=$(email)&title=$(title)&sex=$(sex)&age=$(age)&site=reg2\">Продолжить</a><br/><a href=\"game.php\">Назад</a><br/>-=*=-<br/><a href=\"http://top.kycb-kycb.org.ru/in.php?id=964\"><img src=\"http://top.kycb-kycb.org.ru/c.php?id=964&amp;s\" alt=\"\" /></a><br/></p>";
  110. if($debug) $stmp.="
  111. <p><form action=$PHP_SELF>
  112. <table><tr><td>
  113. <input type=hidden name=site value=reg2>
  114. Логин:</td><td><input type=text name=login value=></td></tr><tr><td>
  115. Пароль:</td><td><input type=text name=p value=></td></tr><tr><td>
  116. Email:</td><td><input type=text name=email value=></td></tr><tr><td>
  117. Имя (будет видно в игре):</td><td><input type=text name=title value=></td></tr><tr><td>
  118. Пол:</td><td>
  119. <input type=radio name=sex value=m checked=true>Мужской<br/>
  120. <input type=radio name=sex value=f>Женский</td></tr><tr><td>
  121. Возраст:</td><td><input type=text name=age value=23></td></tr>
  122. </table>
  123. <br/><input type=submit value=Продолжить>
  124. </form>";
  125. msg($stmp,$game_title,0,'none');
  126. }
  127.  
  128. if ($site=='reg2') {
  129. if (!$login) msg("Заполните все поля.<br/><anchor>назад<prev/></anchor>",$game_title,0,'none');
  130. if (!preg_match("/\w/",$title)) msg("В имени должны присутствовать буквы или цифры.<br/><anchor>назад<prev/></anchor>",$game_title,0,'none');
  131. if (substr($login,0,5)!='user.') $login='user.'.$login;
  132. foreach(array_keys($game["players"]) as $i) {
  133. if ($login==$i) msg("Такой логин уже существует, выберите другой<br/><a href=\"$PHP_SELF?reg=1\">Назад</a>",$game_title,0,'none');
  134. if ($title==$game["loc"][$game["players"][$i]][$i]["title"]) msg("Имя ".$title." уже занято, выберите другое<br/><a href=\"$PHP_SELF?reg=1\">Назад</a>",$game_title,0,'none');
  135. }
  136. eval(implode('',file("f_loadoffline.dat")));
  137. if ($game["loc"]["loc.offline"]) foreach(array_keys($game["loc"]["loc.offline"]) as $i) {
  138. if ($login==$i) msg("Такой логин уже существует, выберите другой<br/><a href=\"$PHP_SELF?reg=1\">Назад</a>",$game_title,0,'none');
  139. if ($title==$game["loc"]["loc.offline"][$i]["title"]) msg("Имя ".$title." уже занято, выберите другое<br/><a href=\"$PHP_SELF?reg=1\">Назад</a><br/><a href=\"http://top.kycb-kycb.org.ru/in.php?id=964\"><img src=\"http://top.kycb-kycb.org.ru/c.php?id=964&amp;s\" alt=\"\" /></a>",$game_title,0,'none');
  140. }
  141. if (!isset($game["players"][$login]) && !isset($game["loc"]["loc.offline"][$login])) {
  142. if (!$p || !$email || !$sex || !$age || !$title) msg("Заполните все поля!<br/><a href=\"$PHP_SELF?reg=1\">Назад</a><br/><a href=\"http://top.kycb-kycb.org.ru/in.php?id=964\"><img src=\"http://top.kycb-kycb.org.ru/c.php?id=964&amp;s\" alt=\"\" /></a>",$game_title,0,'none');
  143. // сохраняем логин в сессии
  144. if ($usesession) $_SESSION["login"]=$login;
  145. $game["players"][$login]="loc.0";
  146. $game["loc"]["loc.0"][$login] = array(
  147. "title"=>$title,
  148. "info"=>"$p|$email|$sex|$age|".time(), // инфа и время создания
  149. // skills=str|dex|int|level|points|meditation|steal|animaltaming|hand|coldweapon|ranged|parring|uklon|magic|magic_resist|magic_uklon|regeneration|hiding|look|steallook|animallore|spirit
  150. "skills"=>"1|1|1|0|2|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0",
  151. "loc"=>"loc.0",
  152. "ghost"=>"0",
  153. "crim"=>"0",
  154. "time"=>time(),
  155. "macros"=>array(1=>array("name"=>"повторить","act"=>"last","obj"=>"\"last\"","to"=>"\"last\"")),
  156. "journal"=>array(),
  157. "equip"=>array(),
  158. "items"=>array(
  159. "item.misc.money"=>"монеты|800|1","item.note"=>"записка|1|0|Здравствуй, мой юный друг! Зная, что тебе нелегко придется в первое время, я снабдил тебя 400 монетами, потрать их на обучение и, в первую очередь, на поднятие силы и ловкости. Обо всем остальном тебе расскажет привратник Уин. Удачи и береги себя!<br/>подпись: БОГ",
  160. "item.scroll.createfood"=> "свиток Создать еду|1|20",
  161. "item.scroll.war.arrow"=> "свиток Магическая стрела|3|30",
  162. "item.scroll.summon.wolf"=> "свиток Призвать волка|2|45",
  163. ),
  164. "magic"=>array(),
  165. "msg"=>array(),
  166. );
  167. calcparam($login); // обновим все значения
  168. $game["all"]=$game["all"]+1;
  169. msg("Регистрация завершена<br/><a href=\"$PHP_SELF?login=$login&p=$p&site=connect2\">Начать игру</a>",$game_title,0,'none');
  170. } else msg("Персонаж с логином $login уже существует, задайте другой<br/><a href=\"$PHP_SELF?reg=1\">Назад</a><br/><a href=\"http://top.kycb-kycb.org.ru/in.php?id=964\"><img src=\"http://top.kycb-kycb.org.ru/c.php?id=964&amp;s\" alt=\"\" /></a>",$game_title,0,'none');
  171. }