moving
This commit is contained in:
@@ -35,53 +35,29 @@ function can_i_move()
|
||||
$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('У вас переполнен рюкзак, вы не можете передвигаться...');
|
||||
$location[0] = NULL;
|
||||
return false;
|
||||
}
|
||||
|
||||
if ($eff['type'] == 10) {
|
||||
err('Вы парализованы и не можете передвигаться...');
|
||||
$location[0] = NULL;
|
||||
return false;
|
||||
}
|
||||
|
||||
if ($eff['type'] == 13 OR $eff['type'] == 14) {
|
||||
err('У вас тяжелая травма, вы не можете передвигаться...');
|
||||
$location[0] = NULL;
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Перемещаемся по заданным параметрам в пределах страницы
|
||||
* @param int $room - номер локации
|
||||
* @param string $roomname - название локации
|
||||
*/
|
||||
function move_to_inside($room = 0, $roomname = 'неизвестное место')
|
||||
function move($room, $redirect = false)
|
||||
{
|
||||
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']);
|
||||
?>
|
||||
<html>
|
||||
<head>
|
||||
<link rel="stylesheet" href="css/main.css">
|
||||
<meta charset="utf-8">
|
||||
</head>
|
||||
<body>
|
||||
<?php
|
||||
die("
|
||||
<script>setTimeout(function(){location.href='city.php'} , 5000);</script>
|
||||
<div style='margin: auto; text-align:center;'>
|
||||
<img src='i/ajax-loader.gif'><br><i>Переходим на $roomname...</i>
|
||||
</div>
|
||||
");
|
||||
}
|
||||
|
||||
/**
|
||||
* Перемещаемся по заданным параметрам за пределами страницы
|
||||
* @param int $room - номер локации
|
||||
* @param string $redirect - имя скрипта на который идёт редирект
|
||||
*/
|
||||
function move_to_outside($room = 0, $redirect = 'city')
|
||||
{
|
||||
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']);
|
||||
header('location: ' . $redirect);
|
||||
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();
|
||||
@@ -95,28 +71,28 @@ $location = explode('/', filter_input(INPUT_SERVER, 'QUERY_STRING'));
|
||||
can_i_move();
|
||||
switch ($location[0]) {
|
||||
case 'cp':
|
||||
move_to_inside(20, 'Центральную площадь');
|
||||
move(20);
|
||||
break;
|
||||
case 'strah':
|
||||
move_to_inside(21, 'Страшилкину Улицу');
|
||||
move(21);
|
||||
break;
|
||||
case 'bps':
|
||||
move_to_inside(26, 'Большую Парковую улицу');
|
||||
move(26);
|
||||
break;
|
||||
case 'ps':
|
||||
move_to_inside(51, 'Парковую улицу');
|
||||
move(51);
|
||||
break;
|
||||
case 'zaliv':
|
||||
move_to_inside(2111, 'Ристалище');
|
||||
move(2111);
|
||||
break;
|
||||
case 'zamk':
|
||||
move_to_inside(2601, 'Замковую площадь');
|
||||
move(2601);
|
||||
break;
|
||||
case 'abog':
|
||||
move_to_inside(2655, 'Арену Богов');
|
||||
move(2655);
|
||||
break;
|
||||
case 'torg':
|
||||
move_to_inside(2702, 'Торговую улицу');
|
||||
move(2702);
|
||||
break;
|
||||
case 'got':
|
||||
if ($user['room'] == 20) {
|
||||
@@ -138,25 +114,25 @@ switch ($location[0]) {
|
||||
header('location: city.php?torg');
|
||||
break;
|
||||
case 'level17':
|
||||
move_to_outside(50, 'ashop.php');
|
||||
move(50, 'ashop.php');
|
||||
break;
|
||||
case 'level2':
|
||||
move_to_outside(22, 'shop.php');
|
||||
move(22, 'shop.php');
|
||||
break;
|
||||
case 'level4':
|
||||
move_to_outside(23, 'repair.php');
|
||||
move(23, 'repair.php');
|
||||
break;
|
||||
case 'level10':
|
||||
move_to_outside(35, 'krshop.php');
|
||||
move(35, 'krshop.php');
|
||||
break;
|
||||
case 'level9':
|
||||
move_to_outside(24, 'new_year.php');
|
||||
move(24, 'new_year.php');
|
||||
break;
|
||||
case 'level6':
|
||||
move_to_outside(27, 'post.php');
|
||||
move(27, 'post.php');
|
||||
break;
|
||||
case 'level3':
|
||||
move_to_outside(26, 'comission.php');
|
||||
move(25, 'comission.php');
|
||||
break;
|
||||
}
|
||||
} elseif ($user['room'] == 21) {
|
||||
@@ -168,19 +144,19 @@ switch ($location[0]) {
|
||||
header('location: city.php?zaliv');
|
||||
break;
|
||||
case 'level13':
|
||||
move_to_outside(34, 'fshop.php');
|
||||
move(34, 'fshop.php');
|
||||
break;
|
||||
case 'level5':
|
||||
move_to_outside(29, 'bank.php');
|
||||
move(29, 'bank.php');
|
||||
break;
|
||||
case 'level16':
|
||||
move_to_outside(31, 'tower.php');
|
||||
move(31, 'tower.php');
|
||||
break;
|
||||
case 'level14':
|
||||
move_to_outside(30, 'klanedit.php');
|
||||
move(30, 'klanedit.php');
|
||||
break;
|
||||
case 'level650':
|
||||
move_to_outside(650, 'ul_clans.php');
|
||||
move(650, 'ul_clans.php');
|
||||
break;
|
||||
}
|
||||
} elseif ($user['room'] == 2111) {
|
||||
@@ -192,16 +168,16 @@ switch ($location[0]) {
|
||||
header('location: city.php?haos');
|
||||
break;
|
||||
case 'level203':
|
||||
move_to_outside(1055, 'group_arena.php');
|
||||
move(1055, 'group_arena.php');
|
||||
break;
|
||||
case 'level1000':
|
||||
move_to_outside(620, 'enter_cave.php');
|
||||
move(620, 'enter_cave.php');
|
||||
break;
|
||||
case 'room666':
|
||||
move_to_outside(666, 'jail.php');
|
||||
move(666, 'jail.php');
|
||||
break;
|
||||
case 'level5':
|
||||
move_to_outside(203, 'church.php');
|
||||
move(203, 'church.php');
|
||||
break;
|
||||
}
|
||||
} elseif ($user['room'] == 2601) {
|
||||
@@ -213,25 +189,25 @@ switch ($location[0]) {
|
||||
header('location: city.php?abog');
|
||||
break;
|
||||
case 'level21':
|
||||
move_to_outside(87, 'dshop.php');
|
||||
move(87, 'dshop.php');
|
||||
break;
|
||||
case 'level10':
|
||||
move_to_outside(35, 'krshop.php');
|
||||
move(35, 'krshop.php');
|
||||
break;
|
||||
case 'level44':
|
||||
move_to_outside(203, 'church.php');
|
||||
move(203, 'church.php');
|
||||
break; /*FIXME Второй вход в церковь?*/
|
||||
case 'level1':
|
||||
move_to_outside(37, 'gotzamok.php');
|
||||
move(37, 'gotzamok.php');
|
||||
break;
|
||||
case 'level1052':
|
||||
move_to_outside(1053, 'repshop.php');
|
||||
move(1053, 'repshop.php');
|
||||
break;
|
||||
case 'level1051':
|
||||
move_to_outside(1051, 'lab_enter.php');
|
||||
move(1051, 'lab_enter.php');
|
||||
break;
|
||||
case 'level5':
|
||||
move_to_outside(404, 'vxod.php');
|
||||
move(404, 'vxod.php');
|
||||
break;
|
||||
}
|
||||
} elseif ($user['room'] == 2701) {
|
||||
@@ -240,7 +216,7 @@ switch ($location[0]) {
|
||||
header('location: city.php?zaliv');
|
||||
break;
|
||||
case 'level2':
|
||||
move_to_outside(402, 'lab_chaos_enter.php');
|
||||
move(402, 'lab_chaos_enter.php');
|
||||
break;
|
||||
}
|
||||
} elseif ($user['room'] == 2702) {
|
||||
@@ -249,13 +225,13 @@ switch ($location[0]) {
|
||||
header('location: city.php?cp');
|
||||
break;
|
||||
case 'level5':
|
||||
move_to_outside(1054, 'fontan_luck.php');
|
||||
move(1054, 'fontan_luck.php');
|
||||
break;
|
||||
case 'level202':
|
||||
move_to_outside(1054, 'fontan_luck.php');
|
||||
move(1054, 'fontan_luck.php');
|
||||
break;
|
||||
case 'level6':
|
||||
move_to_outside(61, 'akadem.php');
|
||||
move(61, 'akadem.php');
|
||||
break;
|
||||
}
|
||||
} elseif ($user['room'] == 2655) {
|
||||
@@ -264,7 +240,7 @@ switch ($location[0]) {
|
||||
header('location: city.php?zamk');
|
||||
break;
|
||||
case 'level2055':
|
||||
move_to_outside(603, 'aren_of_angels.php');
|
||||
move(603, 'aren_of_angels.php');
|
||||
break;
|
||||
}
|
||||
} elseif ($user['room'] == 26) {
|
||||
@@ -276,47 +252,73 @@ switch ($location[0]) {
|
||||
header('location: city.php?zamk');
|
||||
break;
|
||||
case 'level5':
|
||||
move_to_outside(43, 'znahar.php');
|
||||
move(43, 'znahar.php');
|
||||
break;
|
||||
case 'level660':
|
||||
move_to_outside(660, 'hostel.php');
|
||||
move(660, 'hostel.php');
|
||||
break;
|
||||
case 'level20':
|
||||
move_to_outside(223, 'bench.php');
|
||||
move(223, 'bench.php');
|
||||
break;
|
||||
case 'level21':
|
||||
move_to_outside(222, 'bench_s.php');
|
||||
move(222, 'bench_s.php');
|
||||
break;
|
||||
case 'level22':
|
||||
move_to_outside(224, 'bench_m.php');
|
||||
move(224, 'bench_m.php');
|
||||
break;
|
||||
case 'level7':
|
||||
move_to_outside(777, 'obshaga.php');
|
||||
move(777, 'obshaga.php');
|
||||
break;
|
||||
case 'level11':
|
||||
move_to_outside(42, 'lotery.php');
|
||||
move(42, 'lotery.php');
|
||||
break;
|
||||
case 'level56':
|
||||
move(401, 'hell.php');
|
||||
break;
|
||||
// case 'level5':
|
||||
// move_to_outside(401, 'hell.php');
|
||||
// break;
|
||||
// case 'level6':
|
||||
// move_to_outside(110, 'jackill.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 src="i/city/%s.jpg">', $background);
|
||||
}
|
||||
|
||||
$online = db::c()->query('SELECT 1 FROM `online` WHERE `real_time` >= ?i', (time() - 60));
|
||||
?>
|
||||
<!doctype html>
|
||||
<html>
|
||||
<HEAD>
|
||||
<link rel=stylesheet href="css/main.css">
|
||||
<link rel="stylesheet" href="/locations/style.css"/>
|
||||
<meta charset="utf-8">
|
||||
<style>
|
||||
img.building:hover {filter:drop-shadow(2px 2px 2px white) sepia(15%);}
|
||||
img.building:hover {
|
||||
filter: drop-shadow(2px 2px 2px white) sepia(15%);
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
function solo(n) {
|
||||
@@ -340,51 +342,7 @@ $online = db::c()->query('SELECT 1 FROM `online` WHERE `real_time` >= ?i', (time
|
||||
<TR>
|
||||
<TD align=center colspan=2>
|
||||
<?php
|
||||
function getSeason()
|
||||
{
|
||||
$todayMonth = date('n');
|
||||
if ($todayMonth >= 3 && $todayMonth <= 5) return 'spring_';
|
||||
elseif ($todayMonth >= 6 && $todayMonth <= 8) return 'summer_';
|
||||
elseif ($todayMonth >= 9 && $todayMonth <= 11) return 'autumn_';
|
||||
else return 'winter_';
|
||||
}
|
||||
|
||||
function buildset_old($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="aFilter2"
|
||||
id="<?= $id ?>"
|
||||
onmouseover="this.src='i/city/sub/<?= $img ?>2.png'"
|
||||
onmouseout="this.src='i/city/sub/<?= $img ?>.png'" onclick="solo(<?= $id ?>)"/>
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
|
||||
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 src="i/city/%s.jpg">', $background);
|
||||
/**
|
||||
* Исходные строки:
|
||||
* echo "<table width=1><tr><td><div style=\"position:relative; cursor: pointer;\" id=\"ione\"><img src=\"i/city/", $fon, ".jpg\" alt=\"\" border=\"0\"/>";
|
||||
* echo "</div></td></tr></table>";
|
||||
*/
|
||||
}
|
||||
|
||||
if ($user['room'] == 20) {
|
||||
bgset('cap_cp');
|
||||
@@ -396,7 +354,7 @@ $online = db::c()->query('SELECT 1 FROM `online` WHERE `real_time` >= ?i', (time
|
||||
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(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, "Новогодняя елка");
|
||||
@@ -414,7 +372,7 @@ $online = db::c()->query('SELECT 1 FROM `online` WHERE `real_time` >= ?i', (time
|
||||
echo "</div>";
|
||||
} elseif ($user['room'] == 26) {
|
||||
bgset('cap_park');
|
||||
buildset(6, "cap_gate", 170, 340, "Городские ворота",1);
|
||||
buildset(6, "cap_gate", 170, 340, "Городские ворота", 1);
|
||||
buildset(660, "cap_vokzal", 163, 43, "Общежитие");
|
||||
buildset(5, "cap_znah", 195, 538, "Хижина Знахаря");
|
||||
buildset(21, "cap_2sk", 249, 416, "Средняя скамейка");
|
||||
@@ -426,7 +384,7 @@ $online = db::c()->query('SELECT 1 FROM `online` WHERE `real_time` >= ?i', (time
|
||||
} elseif ($user['room'] == 2601) {
|
||||
bgset('cap_zamk');
|
||||
buildset(1052, "cap_lavka", 240, 425, "Храмовая лавка");
|
||||
buildset(10, "ava_post", 240, 300, "Сувенирный магазинчик",1);
|
||||
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, "Храм Древних");
|
||||
|
||||
Reference in New Issue
Block a user