<?php /** * Центральная площадь */ session_start(); if ($_SESSION['uid'] == null) { header("Location: index.php"); } include("config.php"); //$user = mysql_fetch_array(mysql_query("SELECT * FROM `users` WHERE `id` = '{$_SESSION['uid']}' LIMIT 1")); //$klan = mysql_fetch_array(mysql_query("SELECT * FROM `clans` WHERE `id` = '{$user['klan']}' LIMIT 1")); //$digger = mysql_fetch_array(mysql_query("SELECT * FROM `digger` WHERE `id` = '{$_SESSION['uid']}' LIMIT 1")); include("functions.php"); $tm = time(); if ($user['battle'] != 0) { header('location: fbattle.php'); die(); } if ($user['in_tower'] == 1) { header('Location: towerin.php'); die(); } if ($user['zayavka'] != 0) { die(); } /** * Проверяем можем ли мы двигаться. */ function can_i_move() { global $user; $d = db::c()->query('SELECT SUM(`massa`) AS `mass` FROM `inventory` WHERE `owner` = ?i AND `setsale` = 0', $user['id'])->fetch_assoc(); $eff = db::c()->query('SELECT `type` FROM `effects` WHERE `owner` = ?i AND (`type` = 10 OR `type` = 13 OR `type` = 14)', $user['id'])->fetch_assoc(); if ($d['mass'] > get_meshok()) { err('У вас переполнен рюкзак, вы не можете передвигаться...'); return false; } if ($eff['type'] == 10) { err('Вы парализованы и не можете передвигаться...'); return false; } if ($eff['type'] == 13 OR $eff['type'] == 14) { err('У вас тяжелая травма, вы не можете передвигаться...'); return false; } return true; } function move($room, $redirect = false) { if (can_i_move()) { db::c()->query('UPDATE `users`,`online` SET `users`.`room` = ?i,`online`.`room` = ?i WHERE `online`.`id` = `users`.`id` AND `online`.`id` = ?i', $room, $room, $_SESSION['uid']); if ($redirect) { header('location: ' . $redirect);} die(); } } $dig_raw = db::c()->query('SELECT `finish_dig`, `finish_guard` FROM `digger` WHERE `id` = ?i', $user['id'])->fetch_assoc(); if ($dig_raw["finish_dig"] > $tm || $dig_raw["finish_guard"] > $tm) { header('location: wall_build.php'); die(); } header("Cache-Control: no-cache"); $location = explode('/', filter_input(INPUT_SERVER, 'QUERY_STRING')); can_i_move(); switch ($location[0]) { case 'cp': move(20, 'city.php'); break; case 'strah': move(21, 'city.php'); break; case 'bps': move(26, 'city.php'); break; case 'ps': move(51, 'city.php'); break; case 'zaliv': move(2111, 'city.php'); break; case 'zamk': move(2601, 'city.php'); break; case 'abog': move(2655, 'city.php'); break; case 'torg': move(2702, 'city.php'); break; case 'got': if ($user['room'] == 20) { switch ($location[1]) { case 'level1': header('location: main.php?goto=arena'); die(); break; case 'level7': header('location: city.php?strah'); break; case 'level8': header('location: city.php?bps'); break; case 'level13': header('location: quest_room.php'); break; case 'level222': header('location: city.php?torg'); break; case 'level17': move(50, 'ashop.php'); break; case 'level2': move(22, 'shop.php'); break; case 'level4': move(23, 'repair.php'); break; case 'level9': move(24, 'new_year.php'); break; case 'level6': move(27, 'post.php'); break; case 'level3': move(25, 'comission.php'); break; } } elseif ($user['room'] == 21) { switch ($location[1]) { case 'level4': header('location: city.php?cp'); break; case 'level3': header('location: city.php?zaliv'); break; case 'level13': move(34, 'fshop.php'); break; case 'level5': move(29, 'bank.php'); break; case 'level16': move(31, 'tower.php'); break; case 'level14': move(30, 'clan_create.php'); break; case 'level650': move(650, 'ul_clans.php'); break; } } elseif ($user['room'] == 2111) { switch ($location[1]) { case 'level1': header('location: city.php?strah'); break; case 'level2': header('location: city.php?haos'); break; case 'level203': move(1055, 'group_arena.php'); break; case 'level1000': move(620, 'enter_cave.php'); break; case 'room666': move(666, 'jail.php'); break; case 'level5': move(203, 'church.php'); break; } } elseif ($user['room'] == 2601) { switch ($location[1]) { case 'level4': header('location: city.php?bps'); break; case 'level55': header('location: city.php?abog'); break; case 'level44': move(203, 'church.php'); break; /*FIXME Второй вход в церковь?*/ case 'level1': move(37, 'gotzamok.php'); break; case 'level1051': move(1051, 'lab_enter.php'); break; case 'level5': move(404, 'vxod.php'); break; } } elseif ($user['room'] == 2701) { switch ($location[1]) { case 'level1': header('location: city.php?zaliv'); break; case 'level2': move(402, 'lab_chaos_enter.php'); break; } } elseif ($user['room'] == 2702) { switch ($location[1]) { case 'level10': header('location: city.php?cp'); break; case 'level5': move(1054, 'fontan_luck.php'); break; case 'level202': move(1054, 'fontan_luck.php'); break; case 'level6': move(61, 'akadem.php'); break; } } elseif ($user['room'] == 2655) { switch ($location[1]) { case 'level10': header('location: city.php?zamk'); break; case 'level2055': move(603, 'aren_of_angels.php'); break; } } elseif ($user['room'] == 26) { switch ($location[1]) { case 'level4': header('location: city.php?cp'); break; case 'level3': header('location: city.php?zamk'); break; case 'level5': move(43, 'znahar.php'); break; case 'level660': move(660, 'hostel.php'); break; case 'level7': move(777, 'obshaga.php'); break; case 'level11': move(42, 'lotery.php'); break; case 'level56': move(401, 'hell.php'); break; } } break; } function getSeason() { $todayMonth = date('n'); if ($todayMonth >= 3 && $todayMonth <= 5) return 'spring_'; if ($todayMonth >= 6 && $todayMonth <= 8) return 'summer_'; if ($todayMonth >= 9 && $todayMonth <= 11) return 'autumn_'; return 'winter_'; } function buildset($id, $img, $top, $left, $des, $noSeason = 0) { if (!$noSeason) $img = getSeason() . $img; ?> <div style="position:absolute; left:<?= $left ?>px; top:<?= $top ?>px; z-index:90; cursor: pointer;"> <img src="i/city/sub/<?= $img ?>.png" alt="<?= $des ?>" title="<?= $des ?>" class="building" id="<?= $id ?>" onclick="solo(<?= $id ?>)"/> </div> <?php } function bgset($img) { $daytime = date('H'); if ($daytime >= 6 && $daytime <= 21) $background = getSeason() . $img . '_day'; else $background = getSeason() . $img . '_night'; echo sprintf('<div style="position:relative; display: inline-block;" id="ione"><img alt="background" src="i/city/%s.jpg">', $background); } $online = db::c()->query('SELECT 1 FROM `online` WHERE `real_time` >= ?i', (time() - 60)); ?> <!doctype html> <html lang="ru"> <HEAD> <link rel=stylesheet href="css/main.css"> <meta charset="utf-8"> <style> img.building:hover { filter: drop-shadow(2px 2px 2px white) sepia(15%); } </style> <script type="text/javascript"> function solo(n) { top.changeroom = n; window.location.href = 'city.php?got/level' + n; } function Down() { top.CtrlPress = window.event.ctrlKey } document.onmousedown = Down; </script> <title></title> </HEAD> <body> <table class="allzeroes"> <TR> <TD align=center></TD> <TD align=right>Сейчас в игре : <?= $online->getNumRows() ?> игроков.</TD> </TR> <TR> <TD align=center colspan=2> <?php if ($user['room'] == 20) { bgset('cap_cp'); buildset(1, "cap_club", 30, 235, "Бойцовский Клуб"); buildset(2, "cap_shop", 202, 171, "Магазин"); buildset(3, "cap_kom", 205, 105, "Комиссионный магазин"); buildset(4, "cap_rem", 202, 290, "Ремонтная мастерская");; buildset(13, "cap_statue", 222, 365, "Памятник Мэру Города"); buildset(6, "cap_po4ta", 180, 540, "Почта"); buildset(7, "cap_arr_right", 260, 710, "Страшилкина Улица", 1); buildset(222, "cap_arr_top", 180, 650, "Торговая улица", 1); buildset(8, "cap_arr_left", 258, 21, "Большая парковая улица", 1); buildset(17, "cap_berezka", 205, 435, "Березка"); buildset(11, "cap_loto", 230, 615, "Лотерея"); buildset(9, "cap_tree2", 260, 530, "Новогодняя елка"); buildset(14, "cap_sneg_3", 210, 390, "Снеговик"); echo "</div>"; } elseif ($user['room'] == 21) { bgset('cap_strash'); buildset(5, "cap_bank", 180, 485, "Банк");; buildset(14, "cap_registratura", 170, 113, "Регистратура кланов"); buildset(16, "cap_tower", 5, 315, "Башня смерти"); buildset(16555, "cap_tree", 165, 20, "Дерево"); buildset(3, "cap_arr_right", 255, 708, "Ристалище", 1); buildset(13, "cap_flowershop", 220, 613, "Цветочный магазин"); buildset(4, "cap_arr_left", 258, 21, "Центральная площадь", 1); echo "</div>"; } elseif ($user['room'] == 26) { bgset('cap_park'); buildset(6, "cap_gate", 170, 340, "Городские ворота", 1); buildset(660, "cap_vokzal", 163, 43, "Общежитие"); buildset(5, "cap_znah", 195, 538, "Хижина Знахаря"); buildset(3, "cap_arr_left", 259, 27, "Замковая площадь", 1); buildset(4, "cap_arr_right", 259, 715, "Центральная площадь", 1); echo "</div>"; } elseif ($user['room'] == 2601) { bgset('cap_zamk'); buildset(1052, "cap_lavka", 240, 425, "Храмовая лавка"); buildset(10, "ava_post", 240, 300, "Сувенирный магазинчик", 1); buildset(1, "cap_ruins", 166, 48, "Руины Старого замка"); buildset(1051, "cap_lab", 130, 327, "Вход в Лабиринт Хаоса"); buildset(44, "cap_hram", 173, 550, "Храм Древних"); buildset(55, "cap_arr_left", 258, 21, "Арена Богов", 1); buildset(4, "cap_arr_right", 260, 710, "Большая парковая улица", 1); echo "</div>"; } elseif ($user['room'] == 2655) { bgset('ar_e_n'); buildset(2055, "cap_altr_g", 230, 340, "Арена Ангелов"); buildset(2222, "cap_stop", 258, 21, "Проход закрыт", 1); buildset(10, "arr_right_png", 260, 710, "Замковая площадь", 1); echo "</div>"; } elseif ($user['room'] == 2111) { bgset('rist_bg'); buildset(1, "cap_arr_uleft", 240, 30, "Страшилкина Улица", 1); buildset(2, "cap_arr_right", 245, 708, "Секретный Лабиринт", 1); buildset(14, "cap_rist_solo", 210, 160, "Вход в Одиночные сражения"); buildset(14, "cap_rist_group", 243, 340, "Вход в Сражение отрядов"); buildset(1000, "av_zamk_rud", 80, 310, "Рудник"); buildset(203, "cap_rist_monstr", 145, 570, "Вход в Груповые сражения"); buildset(21, "angelscastle", 131, 628, "Замок Мэра Города"); echo "</div>"; } elseif ($user['room'] == 2701) { bgset('arena_bg1'); buildset(1, "cap_3strelka", 260, 30, "Берег Залива"); buildset(2, "cap_shar_dark", 234, 356, "Лабиринт Хаоса"); buildset(3, "cap_stop_png", 260, 720, "Проход закрыт"); echo "</div>"; } elseif ($user['room'] == 2702) { bgset('cap_torg'); buildset(6, "cap_arenda", 175, 70, "Академия"); buildset(202, "cap_fontan", 210, 350, "Фонтан удачи"); buildset(16, "cap_t_build42", 120, 300, "Аукцион"); buildset(16555, "cap_prokat", 155, 480, "Прокатная лавка"); buildset(21, "cap_lombard", 150, 565, "Ломбард"); buildset(10, "cap_arr_uleft", 259, 25, "Центральная площадь", 1); buildset(3, "cap_stop", 259, 720, "Проход закрыт", 1); echo "</div>"; } ?> </td> </tr> </table> </body> </html>