room['file'] == 'dungeon_enter') { $error = ''; // Собираем ошибки. $dungeonGroupList = ''; // Сюда помещаем список Групп. $dungeonGo = 1; // По умолчанию, мы идем в пещеру. $dungeon = mysql_fetch_assoc( mysql_query( 'SELECT `id` as room, city, `dungeon_room` as d_room, city, `shop`, `dungeon_id` as id, `dungeon_name` as name, quest FROM `dungeon_room` WHERE `id`="' . $u->room['id'] . '" LIMIT 1' ) ); if (isset($_GET['rz']) && $dungeon['quest'] == 1) { $roomSection = 1; } // Получаем Задание else { $roomSection = 0; } // Собираем группу для похода //if( $u->info['admin'] > 0 ) var_info($dungeon); $all_dungeon = mysql_query('select city from dungeon_room where city is not null and active=1 '); while ($t = mysql_fetch_array($all_dungeon)) { $dungeon['list'][] = $t['city']; } unset($all_dungeon); if ($u->info['dn'] > 0) { $zv = mysql_fetch_array(mysql_query('SELECT * FROM `dungeon_zv` WHERE `id`="' . $u->info['dn'] . '" AND `delete` = "0" LIMIT 1')); if (!isset($zv['id'])) { mysql_query('UPDATE `stats` SET `dn` = "0" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); $u->info['dn'] = 0; } } /** @var int $dungeonTimeout Задержка на посещение пещеры. */ $dungeonTimeout = ActionModel::getOne(["uid = {$u->info['id']}", 'vars = psh0', "time > unix_timestamp() - 7200"], 'time'); if ($u->isAdmin()) { $dungeonTimeout = 0; } if ($dungeonTimeout) { // Кто-то передумал и не пойдет в пещеру, так-как уже там был. $dungeonGo = 0; if (isset($_GET['start'])) { $error = 'До следующего похода осталось еще: ' . Conversion::secondsToTimeout(60 * 60 * 2 - time() + $dungeonTimeout); } } if (isset($_GET['start']) && $zv['uid'] == $u->info['id'] && $dungeonGo == 1) { $ig = 1; if ($ig > 0) { //перемещаем игроков в пещеру //$u->addAction(time(),'psh'.$dun,''); $ins = mysql_query( 'INSERT INTO `dungeon_now` (`city`,`uid`,`id2`,`name`,`time_start`) VALUES ("' . $zv['city'] . '","' . $zv['uid'] . '","' . $dungeon['id'] . '","' . $dungeon['name'] . '","' . time() . '")' ); if ($ins) { $zid = mysql_insert_id(); mysql_query('UPDATE `dungeon_zv` SET `delete` = "' . time() . '" WHERE `id` = "' . $zv['id'] . '" LIMIT 1'); //обновляем пользователей $su = mysql_query( 'SELECT `u`.`id`,`st`.`dn` FROM `stats` AS `st` LEFT JOIN `users` AS `u` ON (`st`.`id` = `u`.`id`) WHERE `st`.`dn`="' . $zv['id'] . '" /*LIMIT ' . ($zv['team_max'] + 1) . '*/' ); $ids = ''; $map_locs = []; $spm2 = mysql_query('SELECT `id`,`x`,`y` FROM `dungeon_map` WHERE `id_dng` = "' . $dungeon['id'] . '"'); while ($plm2 = mysql_fetch_array($spm2)) { $map_locs[] = [$plm2['x'], $plm2['y']]; } unset($spm2, $plm2); $pxd = 0; while ($pu = mysql_fetch_array($su)) { $pxd++; $ids .= ' `id` = "' . $pu['id'] . '" OR'; if ($u->stats['silver'] >= 3) { $u->addAction((time() - ((60 * 60 * 2) / 100 * 30)), 'psh0', $pu['id'], $pu['id']); } else { $u->addAction(time(), 'psh0', $pu['id'], $pu['id']); } //Добавляем квестовые обьекты для персонажей $sp = mysql_query( 'SELECT * FROM `actions` WHERE `uid` = "' . $u->info['id'] . '" AND `room` = ' . $dungeon['room'] . ' AND `vars` LIKE "%start_quest%" AND `vals` = "go" LIMIT 100' ); while ($pl2 = mysql_fetch_array($sp)) { $pl = mysql_fetch_array( mysql_query('SELECT * FROM `quests` WHERE `id` = "' . (str_replace('start_quest', '', $pl2['vars'])) . '" AND `line` = "' . $dungeon['id'] . '" LIMIT 1') ); if (isset($pl['id'])) { $act = explode(',', $pl['act_date']); $i = 0; while ($i < count($act)) { $act_date = explode(':|:', $act[$i]); foreach ($act_date as $key => $val) { $val = explode(':=:', $val); $actdate[$val[0]] = $val[1]; } //Сбор ресурсов if (isset($actdate['tk_itm']) && $actdate['tk_itm'] != '') { $xr2 = explode('=', $actdate['tk_itm']); if ($xr2[2] == 0) { if (isset($actdate['tk_itm_fromY']) && isset($actdate['tk_itm_toY'])) { $actdate['tk_itm_fromY'] = (integer)$actdate['tk_itm_fromY']; $actdate['tk_itm_toY'] = (integer)$actdate['tk_itm_toY']; } $ml_arr = []; foreach ($map_locs as $ml) { // tk_itm_fromY tk_itm_toY - отсеиваем позицию для дропа предметов. if ((isset($actdate['tk_itm_fromY']) && isset($actdate['tk_itm_toY'])) or (!isset($actdate['tk_itm_fromY']) && isset($actdate['tk_itm_toY']))) { if ($ml[1] > $actdate['tk_itm_fromY'] && $actdate['tk_itm_toY'] > $ml[1]) { $ml_arr[] = $ml; } elseif (!isset($actdate['tk_itm_fromY']) && $actdate['tk_itm_toY'] > $ml[1]) { $ml_arr[] = $ml; } } else { $ml_arr[] = $ml; } } if (isset($ml_arr) && count($ml_arr) == 0) { $ml_arr = $map_locs; } //Добавляем обьект для юзера $j = 0; while ($j < $xr2[1]) { $cord = $ml_arr[rand(0, count($ml_arr) - 1)]; if ($cord[0] != 0 || $cord[1] != 0) { mysql_query( 'INSERT INTO `dungeon_items` (`dn`,`user`,`item_id`,`time`,`x`,`y`,`onlyfor`,`quest`) VALUES ( "' . $zid . '","' . $u->info['id'] . '","' . $xr2[0] . '","' . time() . '","' . $cord[0] . '","' . $cord[1] . '","' . $u->info['id'] . '","' . $pl['id'] . '" )' ); } $j++; } } else { //Предмет находится в конкретном месте mysql_query( 'INSERT INTO `dungeon_items` (`dn`,`user`,`item_id`,`time`,`x`,`y`,`onlyfor`,`quest`) VALUES ( "' . $zid . '","' . $u->info['id'] . '","' . $xr2[0] . '","' . time() . '","' . $xr2[2] . '","' . $xr2[3] . '","' . $u->info['id'] . '","' . $pl['id'] . '" )' ); } } $i++; } } } } $ids = rtrim($ids, 'OR'); $snew = 1; if ($dungeon['id'] == 106) { $snew = 4; } elseif ($dungeon['id'] == 104) { $snew = 4; } $upd1 = mysql_query( 'UPDATE `stats` SET `s`="' . $snew . '",`res_s`="1",`x`="0",`y`="0",`res_x`="0",`res_y`="0",`dn` = "0",`dnow` = "' . $zid . '" WHERE ' . $ids . ' LIMIT ' . ($zv['team_max'] + 1) . '' ); if ($upd1) { $upd2 = mysql_query('UPDATE `users` SET `room` = "' . $dungeon['d_room'] . '" WHERE ' . $ids . ' LIMIT ' . ($zv['team_max'] + 1) . ''); //Добавляем ботов и обьекты в пещеру $zid с for_dn = $dungeon['id'] //Добавляем ботов $vls = ''; $sp = mysql_query('SELECT * FROM `dungeon_bots` WHERE `for_dn` = "' . $dungeon['id'] . '"'); while ($pl = mysql_fetch_array($sp)) { if ($pl['id_bot'] == 0 && $pl['bot_group'] != '') { $bots = explode(',', $pl['bot_group']); $pl['id_bot'] = (int)$bots[rand(0, count($bots) - 1)]; } if ($pl['id_bot'] > 0) { $vls .= '("' . $zid . '","' . $pl['id_bot'] . '","' . $pl['colvo'] . '","' . $pl['items'] . '","' . $pl['x'] . '","' . $pl['y'] . '","' . $pl['dialog'] . '","' . $pl['items'] . '","' . $pl['go_bot'] . '","' . $pl['noatack'] . '"),'; } unset($bots); } $vls = rtrim($vls, ','); $ins1 = mysql_query('INSERT INTO `dungeon_bots` (`dn`,`id_bot`,`colvo`,`items`,`x`,`y`,`dialog`,`atack`,`go_bot`,`noatack`) VALUES ' . $vls . ''); //Добавляем обьекты $vls = ''; $sp = mysql_query('SELECT * FROM `dungeon_obj` WHERE `for_dn` = "' . $dungeon['id'] . '"'); while ($pl = mysql_fetch_array($sp)) { $vls .= '("' . $zid . '","' . $pl['name'] . '","' . $pl['img'] . '","' . $pl['x'] . '","' . $pl['y'] . '","' . $pl['action'] . '","' . $pl['type'] . '","' . $pl['w'] . '","' . $pl['h'] . '","' . $pl['s'] . '","' . $pl['s2'] . '","' . $pl['os1'] . '","' . $pl['os2'] . '","' . $pl['os3'] . '","' . $pl['os4'] . '","' . $pl['type2'] . '","' . $pl['top'] . '","' . $pl['left'] . '","' . $pl['date'] . '"),'; } //Добавление обьектов (день святого валентина) if (floor(date('m')) == 2 && floor(date('d')) >= 7) { if (floor(date('m')) == 2 && floor(date('d')) >= 14) { //Появляются мобы которые принимают цветы $vlsbts = ''; $ins1bts = null; if ($dungeon['id'] == 1) { //4 уровня (КАНАЛИЗАЦИЯ) $vlsbts .= '("' . $zid . '","410","1","","-5","3","8","0","0"),'; //4-7 уровня $vlsbts .= '("' . $zid . '","413","1","","8","46","9","0","0"),'; } elseif ($dungeon['id'] == 12) { //(ПТП) //4-7 уровня $vlsbts .= '("' . $zid . '","413","1","","-3","18","9","0","0"),'; //4-9 уровня $vlsbts .= '("' . $zid . '","414","1","","-2","29","10","0","0"),'; } elseif ($dungeon['id'] == 3) { //(КАТАКОМБЫ) //4-7 уровня $vlsbts .= '("' . $zid . '","413","1","","15","8","9","0","0"),'; //4-9 уровня $vlsbts .= '("' . $zid . '","414","1","","3","35","10","0","0"),'; } elseif ($dungeon['id'] == 101) { //(бездна) //4-7 уровня $vlsbts .= '("' . $zid . '","413","1","","-2","21","9","0","0"),'; //4-9 уровня $vlsbts .= '("' . $zid . '","414","1","","2","43","10","0","0"),'; } if ($vlsbts != '') { $vlsbts = rtrim($vlsbts, ','); $ins1bts = mysql_query('INSERT INTO `dungeon_bots` (`dn`,`id_bot`,`colvo`,`items`,`x`,`y`,`dialog`,`atack`,`go_bot`) VALUES ' . $vlsbts . ''); } unset($vlsbts, $ins1bts); } //Раскидываем предметы по пещере (Блёклый подземник) $dcords = []; $c_sp = mysql_query('SELECT * FROM `dungeon_map` WHERE `id_dng` = "' . $dungeon['id'] . '"'); while ($c_pl = mysql_fetch_array($c_sp)) { $dcords[] = [$c_pl['x'], $c_pl['y']]; } $fcords = []; $i = 1; while ($i <= $pxd) { $j = rand(1, 10); while ($j >= 0) { $rndxy = rand(0, count($dcords) - 1); $rndx = $dcords[$rndxy][0]; $rndy = $dcords[$rndxy][1]; $fcords[$rndx][$rndy] = true; unset($dcords[$rndxy]); $vls .= '("' . $zid . '","Блеклый подземник","vbig1.gif","' . $rndx . '","' . $rndy . '","fileact:vbig1","0","81","81","0","0","5","8","12","0","0","0","0","{use:\'takeit\',rt2:154,rl2:146,rt3:139,rl3:154,rt4:125,rl4:161}"),'; $j--; } $i++; } //Раскидываем предметы по пещере (Черепичный подземник) $sp = mysql_query('SELECT * FROM `dungeon_bots` WHERE `for_dn` = "' . $dungeon['id'] . '"'); $test = []; $dcords2 = []; $dcords3 = []; while ($pl = mysql_fetch_array($sp)) { if (!isset($test[$pl['id_bot']])) { $test[$pl['id_bot']] = mysql_fetch_array(mysql_query('SELECT * FROM `test_bot` WHERE `id` = "' . $pl['id_bot'] . '" LIMIT 1')); } if (isset($test[$pl['id_bot']]['id']) && $test[$pl['id_bot']] != 2) { if ($test[$pl['id_bot']]['level'] > 6) { $dcords2[] = [$pl['x'], $pl['y']]; } if ($test[$pl['id_bot']]['level'] >= 8 && $test[$pl['id_bot']]['align'] == 9) { $dcords3[] = [$pl['x'], $pl['y']]; } } else { $test[$pl['id_bot']] = 2; } } $i = 1; while ($i <= $pxd) { $j = rand(1, 5); while ($j >= 0) { $rndxy = rand(0, count($dcords2) - 1); $rndx = $dcords2[$rndxy][0]; $rndy = $dcords2[$rndxy][1]; if (!isset($fcords[$rndx][$rndy]) && isset($dcords2[$rndxy][0])) { $fcords[$rndx][$rndy] = true; unset($dcords2[$rndxy]); $vls .= '("' . $zid . '","Черепичный подземник","vbig2.gif","' . $rndx . '","' . $rndy . '","fileact:vbig2","0","81","81","0","0","5","8","12","0","0","0","0","{use:\'takeit\',rt2:154,rl2:146,rt3:139,rl3:154,rt4:125,rl4:161}"),'; } $j--; } $i++; } $i = 1; while ($i <= $pxd) { $j = rand(1, 2); while ($j >= 0) { $rndxy = rand(0, count($dcords3) - 1); $rndx = $dcords3[$rndxy][0]; $rndy = $dcords3[$rndxy][1]; if (!isset($fcords[$rndx][$rndy]) && isset($dcords3[$rndxy][0])) { $fcords[$rndx][$rndy] = true; unset($dcords3[$rndxy]); $vls .= '("' . $zid . '","Кровавый подземник","vbig3.gif","' . $rndx . '","' . $rndy . '","fileact:vbig3","0","81","81","0","0","5","8","12","0","0","0","0","{use:\'takeit\',rt2:154,rl2:146,rt3:139,rl3:154,rt4:125,rl4:161}"),'; } $j--; } $i++; } unset($test); } // $vls = rtrim($vls, ','); if ($vls != '') { $ins2 = mysql_query( 'INSERT INTO `dungeon_obj` (`dn`,`name`,`img`,`x`,`y`,`action`,`type`,`w`,`h`,`s`,`s2`,`os1`,`os2`,`os3`,`os4`,`type2`,`top`,`left`,`date`) VALUES ' . $vls . '' ); } else { $ins2 = true; } if ($upd2 && $ins1 && $ins2) { die(''); } else { $error = 'Ошибка перехода в подземелье...'; } } else { $error = 'Ошибка перехода в подземелье...'; } } else { $error = 'Ошибка перехода в подземелье...'; } } } elseif (isset($_POST['go'], $_POST['goid']) && $dungeonGo == 1) { if (!isset($zv['id'])) { $zv = mysql_fetch_array( mysql_query('SELECT * FROM `dungeon_zv` WHERE `city` = "' . $u->info['city'] . '" AND `id`="' . mysql_real_escape_string($_POST['goid']) . '" AND `delete` = "0" LIMIT 1') ); if (isset($zv['id']) && $u->info['dn'] == 0) { if ($zv['pass'] != '' && $_POST['pass_com'] != $zv['pass']) { $error = 'Вы ввели неправильный пароль'; } elseif ($u->info['level'] > 7 && $zv['dun'] != 1) { $row = 0; if (5 > $row) { $upd = mysql_query('UPDATE `stats` SET `dn` = "' . $zv['id'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); if (!$upd) { $error = 'Не удалось вступить в эту группу'; unset($zv); } else { $u->info['dn'] = $zv['id']; } } else { $error = 'В группе нет места'; unset($zv); } } elseif ($zv['dun'] == 1) { //Канализация $row_max = 5; if ($u->info['level'] == 4) { $row_max = 4; } elseif ($u->info['level'] == 5) { $row_max = 3; } elseif ($u->info['level'] == 6) { $row_max = 2; } elseif ($u->info['level'] >= 7) { $row_max = 1; } $row = mysql_fetch_array(mysql_query('SELECT COUNT(*) FROM `stats` WHERE `dn` = "' . $zv['id'] . '" LIMIT 1')); $row1 = mysql_fetch_array(mysql_query('SELECT * FROM `stats` WHERE `dn` = "' . $zv['id'] . '" LIMIT 1')); $row2 = mysql_fetch_array(mysql_query('SELECT * FROM `users` WHERE `id` = "' . $row1['id'] . '" LIMIT 1')); $row = $row[0]; $l45 = 0; if ($row2['level'] == 4 && $u->info['level'] == 5) { $l45 = 1; } elseif ($row2['level'] == 5 && $u->info['level'] == 4) { $l45 = 1; } if ($u->info['admin'] > 0) { $l45 = 1; } if ($row2['level'] != $u->info['level'] && $l45 == 0) { $error = 'Вы не подходите по уровню'; } elseif ($row_max > $row) { $upd = mysql_query('UPDATE `stats` SET `dn` = "' . $zv['id'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); if (!$upd) { $error = 'Не удалось вступить в эту группу'; unset($zv); } else { $u->info['dn'] = $zv['id']; } } else { $error = 'В группе нет места'; unset($zv); } } elseif (($u->info['level'] < 4 && $zv['dun'] == 104) || $u->info['admin'] > 0) { //Шахты $row_max = 3; if ($u->info['level'] > 3) { $row_max = 1; } $row = mysql_fetch_array(mysql_query('SELECT COUNT(*) FROM `stats` WHERE `dn` = "' . $zv['id'] . '" LIMIT 1')); $row1 = mysql_fetch_array(mysql_query('SELECT * FROM `stats` WHERE `dn` = "' . $zv['id'] . '" LIMIT 1')); $row2 = mysql_fetch_array(mysql_query('SELECT * FROM `users` WHERE `id` = "' . $row1['id'] . '" LIMIT 1')); $row = $row[0]; if ($row2['level'] != $u->info['level'] && $u->info['level'] > 3 && $u->info['admin'] == 0) { $error = 'Вы не подходите по уровню'; } elseif ($row_max > $row) { $upd = mysql_query('UPDATE `stats` SET `dn` = "' . $zv['id'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); if (!$upd) { $error = 'Не удалось вступить в эту группу'; unset($zv); } else { $u->info['dn'] = $zv['id']; } } else { $error = 'В группе для вас нет места'; unset($zv); } } else { $error = 'Вы не подходите по уровню'; unset($zv); } } else { $error = 'Заявка не найдена'; } } else { $error = 'Вы уже находитесь в группе'; } } elseif (isset($_POST['leave']) && isset($zv['id']) && $dungeonGo == 1) { if ($zv['uid'] == $u->info['id']) { //ставим в группу нового руководителя $ld = mysql_fetch_array(mysql_query('SELECT `id` FROM `stats` WHERE `dn` = "' . $zv['id'] . '" AND `id` != "' . $u->info['id'] . '" LIMIT 1')); if (isset($ld['id'])) { $zv['uid'] = $ld['id']; mysql_query('UPDATE `dungeon_zv` SET `uid` = "' . $zv['uid'] . '" WHERE `id` = "' . $zv['id'] . '" LIMIT 1'); mysql_query('UPDATE `stats` SET `dn` = "0" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); $u->info['dn'] = 0; unset($zv); } else { //удаляем группу целиком mysql_query('UPDATE `dungeon_zv` SET `delete` = "' . time() . '" WHERE `id` = "' . $zv['id'] . '" LIMIT 1'); mysql_query('UPDATE `stats` SET `dn` = "0" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); $u->info['dn'] = 0; unset($zv); } } else { //просто выходим с группы mysql_query('UPDATE `stats` SET `dn` = "0" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); $u->info['dn'] = 0; unset($zv); } } elseif (isset($_POST['add']) && $u->info['level'] > 1 && $dungeonGo == 1) { if ($u->info['dn'] == 0) { $ins = mysql_query( 'INSERT INTO `dungeon_zv` (`city`,`time`,`uid`,`dun`,`pass`,`com`,`lvlmin`,`lvlmax`,`team_max`) VALUES ("' . $u->info['city'] . '","' . time() . '","' . $u->info['id'] . '","' . $dungeon['id'] . '", "' . mysql_real_escape_string($_POST['pass']) . '", "' . mysql_real_escape_string($_POST['text']) . '", "8", "21", "5")' ); if ($ins) { $u->info['dn'] = mysql_insert_id(); $zv['id'] = $u->info['dn']; $zv['uid'] = $u->info['id']; mysql_query('UPDATE `stats` SET `dn` = "' . $u->info['dn'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); $error = 'Вы успешно создали группу'; } else { $error = 'Не удалось создать группу'; } } else { $error = 'Вы уже находитесь в группе'; } } //Генерируем список групп $sp = mysql_query('SELECT * FROM `dungeon_zv` WHERE `city` = "' . $u->info['city'] . '" AND `dun` = "' . $dungeon['id'] . '" AND `delete` = "0" AND `time` > "' . (time() - 60 * 60 * 2) . '"'); while ($pl = mysql_fetch_array($sp)) { $dungeonGroupList .= '
'; if ($u->info['dn'] == 0) { $dungeonGroupList .= ''; } $dungeonGroupList .= '' . date('H:i', $pl['time']) . ' '; $pus = ''; //группа $su = mysql_query( 'SELECT `u`.`id`,`u`.`login`,`u`.`level`,`u`.`align`,`u`.`clan`,`st`.`dn`,`u`.`city`,`u`.`room` FROM `stats` AS `st` LEFT JOIN `users` AS `u` ON (`st`.`id` = `u`.`id`) WHERE `st`.`dn`="' . $pl['id'] . '" LIMIT ' . ($pl['team_max'] + 1) . '' ); while ($pu = mysql_fetch_array($su)) { $pus .= '' . $pu['login'] . ' [' . $pu['level'] . ']'; $pus .= ', '; } $pus = trim($pus, ', '); $dungeonGroupList .= $pus; unset($pus); if ($pl['pass'] != '' && $u->info['dn'] == 0) { $dungeonGroupList .= ' '; } if ($pl['com'] != '') { $dl = ''; // Если модератор, даем возможность удалять комментарий к походу. $moder = mysql_fetch_array(mysql_query('SELECT * FROM `moder` WHERE `align` = "' . $u->info['align'] . '" LIMIT 1')); if (($moder['boi'] == 1 || $u->info['admin'] > 0) && $pl['dcom'] == 0) { $dl .= ' (удалить комментарий)'; if (isset($_GET['delcom']) && $_GET['delcom'] == $pl['id'] && $u->newAct($_GET['key']) == true) { mysql_query('UPDATE `dungeon_zv` SET `dcom` = "' . $u->info['id'] . '" WHERE `id` = "' . $pl['id'] . '" LIMIT 1'); $pl['dcom'] = $u->info['id']; } } $pl['com'] = htmlspecialchars($pl['com'], null); if ($pl['dcom'] > 0) { $dl = ' комментарий удален модератором'; } if ($pl['dcom'] > 0) { if ($moder['boi'] == 1 || $u->info['admin'] > 0) { $pl['com'] = '' . $pl['com'] . ''; } else { $pl['com'] = ''; } } $dungeonGroupList .= ' | ' . $pl['com'] . '' . $dl . ''; } $dungeonGroupList .= '
'; } ?>

room['name']; ?>

 
0) { $shop = mysql_fetch_array( mysql_query('SELECT `id` as shop_id, `code` FROM `room` WHERE `id` = "' . $dungeon['shop'] . '" LIMIT 1') ); if (isset($shop['code'])) { ?>
info['city'] == 'fallenearth') { echo "Темный Портал"; } elseif ($u->info['city'] == 'abandonedplain') { echo "Центральная площадь"; } elseif ($u->info['room'] == 188) { echo "Зал воинов"; } elseif ($u->info['room'] == 393) { echo "Зал воинов 2"; } elseif ($u->info['room'] == 372) { echo "Большая парковая улица"; } elseif ($u->info['room'] == 395) { echo "Зал воинов"; } elseif ($u->info['room'] == 397) { echo "Зал воинов 2"; } elseif ($u->info['room'] == 242) { echo "Страшилкина улица"; } else { echo "Магический Портал"; } ?>
Рыцарский магазин



' . $error . '
'; } //отображаем if ($dungeonGroupList == '') { $dungeonGroupList = ''; } else { if (!isset($zv['id']) || $u->info['dn'] == 0) { if ($dungeonGo == 1 || $u->info['dn'] == 0) { $pr = ''; } $dungeonGroupList = '
' . $pr . '
' . $dungeonGroupList . '' . $pr . '
'; } $dungeonGroupList .= '
'; } if ($roomSection == 0) { echo $dungeonGroupList; } if ($roomSection == 1) { # endQuest завершаем задание по нажатию. if (isset($_GET['endQuest']) && $_GET['endQuest'] != '') { $action = mysql_fetch_array(mysql_query('SELECT * FROM `actions` WHERE `uid` = ' . $u->info['id'] . ' AND `id`="' . $_GET['endQuest'] . '" AND `vals` = "go" LIMIT 1')); $quest = mysql_fetch_array(mysql_query('SELECT * FROM `quests` WHERE `id` = "' . str_replace('start_quest', '', $action['vars']) . '" LIMIT 1')); if ($q->questCheckEnd($quest) == 1) { $q->questSuccesEnd($quest, $action); } } ?>
info['id']}", "room = {$u->info['room']}", "time >= unix_timestamp() - 86400", "vars = psh_qt_{$dungeon['city']}"], 'time'); $qc = 0; // Quest Count //Генерируем список текущих квестов $sp = mysql_query('SELECT * FROM `actions` WHERE `vars` LIKE "%start_quest%" AND `vals` = "go" AND `uid` = "' . $u->info['id'] . '" LIMIT 100'); while ($pl = mysql_fetch_array($sp)) { if ($pl['room'] == $u->info['room']) { $pq = mysql_fetch_array(mysql_query('SELECT * FROM `quests` WHERE `id` = "' . str_replace('start_quest', '', $pl['vars']) . '" LIMIT 1')); if ($q->questCheckEnd($pq) == 1) { $qsee2 = ''; } else { $qsee2 = ''; } $qsee .= ' ' . $pq['name'] . '
' . $pq['info'] . '
' . $q->info($pq) . '' . $qsee2 . '

'; # $qc++; } } if (isset($_GET['add_quest']) && $qc == 0) { if ($questTimeout) { echo 'Нельзя получать задания чаще одного раза в сутки
'; } else { $sp = mysql_query('SELECT * FROM `quests` WHERE `line` = ' . $dungeon['id'] . ''); $dq_add = []; while ($pl = mysql_fetch_array($sp)) { if ($u->rep['rep' . $dungeon['city']] == 9999) { //квет, рыцарского задания if ($pl['kin'] == 1) { $dq_add = [0 => $pl]; } } elseif ($u->rep['rep' . $dungeon['city']] == 24999) { //квет, рыцарского задания if ($pl['kin'] == 2) { $dq_add = [0 => $pl]; } } else { if ($pl['kin'] == 0) { $dq_add[count($dq_add)] = $pl; } } } $dq_add = $q->onlyOnceQuest($dq_add, $u->info['id']); $dq_add = $dq_add[rand(0, count($dq_add) - 1)]; if ($q->testGood($dq_add) == 1 && $dq_add > 0) { $q->startq_dn($dq_add['id']); echo 'Вы успешно получили новое задание "' . $dq_add['name'] . '".
'; $u->addAction(time(), 'psh_qt_' . $dungeon['city'], $dq_add['id']); } else { if ($u->rep['rep' . $dungeon['city']] == 9999) { //квест, рыцарского задания echo 'Вы уже получили задание на достижение титула рыцаря!
'; } elseif ($u->rep['rep' . $dungeon['city']] >= 24999) { //квест, рыцарского задания echo 'Вы завершили квестовую линию, ожидайте новых заданий!
'; } else { echo 'Не удалось получить задание "' . $dq_add['name'] . '". Попробуйте еще...
'; } } unset($dq_add); } } elseif (isset($_GET['add_quest']) && $qc > 0) { echo 'Что-то пошло не так... осторожнее..


'; } if ($qsee == '') { $qsee = 'К сожалению у вас нет ни одного задания

'; } ?>
Текущие задания: 0) { echo 'Вы еще не справились с текущим заданием.'; } elseif (!$questTimeout && $qc == 0) { ?>
' . date('d.m.Y H:i', $questTimeout + 60 * 60 * 24) . ' ( Через ' . Conversion::secondsToTimeout($questTimeout + 60 * 60 * 24 - time()) . ' )'; } ?>

rep['add_stats'] * 100); $cur_price = ['price' => 0]; if (25 - $u->rep['add_stats'] > 0 && $u->rep['allrep'] - $u->rep['allnurep'] >= $price) { // Характеристики! foreach ($dungeon['list'] as $key => $val) { if (!($cur_price['price'] >= $price)) { $cur_price['price'] += $cur = ($price > ($cur_price['price'] + ($u->rep['rep' . $val] - $u->rep['nu_' . $val])) ? ($u->rep['rep' . $val] - $u->rep['nu_' . $val]) : (($u->rep['rep' . $val] - $u->rep['nu_' . $val]) - ((($price - $cur_price['price']) - ($u->rep['rep' . $val] - $u->rep['nu_' . $val])) * -1))); $cur_price['nu_' . $val] = $cur; } } if ($price == $cur_price['price']) { foreach ($dungeon['list'] as $key => $val) { if (isset($cur_price['nu_' . $val]) && isset($u->rep['nu_' . $val]) && $rt == 1) { $u->rep['nu_' . $val] += $cur_price['nu_' . $val]; $r = mysql_query('UPDATE `rep` SET `nu_' . $val . '` = "' . $u->rep['nu_' . $val] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); if ($r) { $rt = 1; } else { $rt = 0; } } } if ($rt == 1) { $u->info['ability'] += 1; $u->rep['add_stats'] += 1; mysql_query('UPDATE `rep` SET `add_stats` = "' . $u->rep['add_stats'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); mysql_query('UPDATE `stats` SET `ability` = "' . $u->info['ability'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); echo 'Вы успешно приобрели 1 способность за ' . $price . ' ед. награды
'; } else { echo 'Ничего не получилось...
'; } } else { echo 'Недостаточно репутации.'; } } else { echo 'Ничего не получилось...
'; } } elseif ($_GET['buy1'] == 2) { // Умения! $price = 10000; $cur_price = ['price' => 0]; if (10 - $u->rep['add_skills'] > 0 && $u->rep['allrep'] - $u->rep['allnurep'] >= $price) { // Умения! foreach ($dungeon['list'] as $key => $val) { if (!($cur_price['price'] >= $price)) { $cur_price['price'] += $cur = ($price > ($cur_price['price'] + ($u->rep['rep' . $val] - $u->rep['nu_' . $val])) ? ($u->rep['rep' . $val] - $u->rep['nu_' . $val]) : (($u->rep['rep' . $val] - $u->rep['nu_' . $val]) - ((($price - $cur_price['price']) - ($u->rep['rep' . $val] - $u->rep['nu_' . $val])) * -1))); $cur_price['nu_' . $val] = $cur; } } if ($price == $cur_price['price']) { foreach ($dungeon['list'] as $key => $val) { if (isset($cur_price['nu_' . $val]) && isset($u->rep['nu_' . $val]) && $rt == 1) { $u->rep['nu_' . $val] += $cur_price['nu_' . $val]; $r = mysql_query('UPDATE `rep` SET `nu_' . $val . '` = "' . $u->rep['nu_' . $val] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); if ($r) { $rt = 1; } else { $rt = 0; } } } if ($rt == 1) { $u->info['skills'] += 1; $u->rep['add_skills'] += 1; mysql_query('UPDATE `rep` SET `add_skills` = "' . $u->rep['add_skills'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); mysql_query('UPDATE `stats` SET `skills` = "' . $u->info['skills'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); echo 'Вы успешно приобрели 1 умение за ' . $price . ' ед. награды
'; } else { echo 'Ничего не получилось...
'; } } else { echo 'Недостаточно репутации.'; } } else { echo 'Ничего не получилось...
'; } } elseif ($_GET['buy1'] == 3) { // Кредиты $price = 100; $cur_price = ['price' => 0]; if ($u->rep['allrep'] - $u->rep['allnurep'] >= $price) { // Покупаем кредиты foreach ($dungeon['list'] as $key => $val) { if (!($cur_price['price'] >= $price)) { $cur_price['price'] += $cur = ($price > ($cur_price['price'] + ($u->rep['rep' . $val] - $u->rep['nu_' . $val])) ? ($u->rep['rep' . $val] - $u->rep['nu_' . $val]) : (($u->rep['rep' . $val] - $u->rep['nu_' . $val]) - ((($price - $cur_price['price']) - ($u->rep['rep' . $val] - $u->rep['nu_' . $val])) * -1))); $cur_price['nu_' . $val] = $cur; } } if ($price == $cur_price['price']) { foreach ($dungeon['list'] as $key => $val) { if (isset($cur_price['nu_' . $val]) && isset($u->rep['nu_' . $val]) && $rt == 1) { $u->rep['nu_' . $val] += $cur_price['nu_' . $val]; $r = mysql_query('UPDATE `rep` SET `nu_' . $val . '` = "' . $u->rep['nu_' . $val] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); if ($r) { $rt = 1; } else { $rt = 0; } } } if ($rt == 1) { $u->info['money'] += 10; $u->rep['add_money'] += 10; mysql_query('UPDATE `rep` SET `add_money` = "' . $u->rep['add_money'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); mysql_query('UPDATE `users` SET `money` = "' . $u->info['money'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); echo 'Вы успешно приобрели 10 кр. за ' . $price . ' ед. награды
'; } else { echo 'Ничего не получилось...
'; } } else { echo 'Недостаточно репутации.'; } } else { echo 'Ничего не получилось...
'; } } elseif ($_GET['buy1'] == 4) { // Особенности $price = 3000; $cur_price = ['price' => 0]; if (5 - $u->rep['add_skills2'] > 0 && $u->rep['allrep'] - $u->rep['allnurep'] >= $price) { // Особенности foreach ($dungeon['list'] as $key => $val) { if (!($cur_price['price'] >= $price)) { $cur_price['price'] += $cur = ($price > ($cur_price['price'] + ($u->rep['rep' . $val] - $u->rep['nu_' . $val])) ? ($u->rep['rep' . $val] - $u->rep['nu_' . $val]) : (($u->rep['rep' . $val] - $u->rep['nu_' . $val]) - ((($price - $cur_price['price']) - ($u->rep['rep' . $val] - $u->rep['nu_' . $val])) * -1))); $cur_price['nu_' . $val] = $cur; } } if ($price == $cur_price['price']) { foreach ($dungeon['list'] as $key => $val) { if (isset($cur_price['nu_' . $val]) && isset($u->rep['nu_' . $val]) && $rt == 1) { $u->rep['nu_' . $val] += $cur_price['nu_' . $val]; $r = mysql_query('UPDATE `rep` SET `nu_' . $val . '` = "' . $u->rep['nu_' . $val] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); if ($r) { $rt = 1; } else { $rt = 0; } } } if ($rt == 1) { $u->info['sskills'] += 1; $u->rep['add_skills2'] += 1; mysql_query('UPDATE `rep` SET `add_skills2` = "' . $u->rep['add_skills2'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); mysql_query('UPDATE `stats` SET `sskills` = "' . $u->info['sskills'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); echo 'Вы успешно приобрели 1 особенность за ' . $price . ' ед. награды
'; } else { echo 'Ничего не получилось...
'; } } else { echo 'Недостаточно репутации.'; } } else { echo 'Ничего не получилось...
'; } } } ?>
Награда: rep['allrep'] - $u->rep['allnurep']) - $cur_price['price'] : ($u->rep['allrep'] - $u->rep['allnurep'])); ?> ед.
Способность (еще rep['add_stats']) ?>) за rep['add_stats'] * 100); ?> ед.
Умение (еще rep['add_skills']) ?>) за 10000 ед.
Деньги (10 кр.) за 100 ед.
Особенность (еще rep['add_skills2']) ?>) за 3000 ед.
info['id'] . '" LIMIT 1000' ) ); if (isset($_GET['buy777']) && $chk[0] > 0) { ?>

info['id'] . '" LIMIT 1000' ); while ($chk_pl = mysql_fetch_array($chk_cl)) { if (mysql_query('UPDATE `items_users` SET `delete` = "' . time() . '" WHERE `id` = "' . $chk_pl['id'] . '" LIMIT 1')) { } { $x++; $prc += $chk_pl['price1']; } } $u->info['money'] += $prc; mysql_query('UPDATE `users` SET `money` = "' . $u->info['money'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); echo 'Вы успешно сдали чеки в количестве ' . $x . ' шт. на сумму ' . $prc . ' кр.
'; $chk[0] = 0; ?>

0) { ?>
$val) { //if( $u->rep['rep'.$val] > 0 ) { echo ''; //} } ?>
Репутация в ' . ucfirst(str_replace('city', ' city', $val)) . ': ' . $u->rep['rep' . $val] . ' ед.
Текущая репутация:
info['dn'] == 0) { ?>
Группа Комментарий
Пароль
 
info['id']) { $psh_start = '  '; } echo '
Группа ' . $psh_start . '
'; } } } else { echo 'Поход в пещеры разрешен один раз в два часа. Осталось еще: ' . Conversion::secondsToTimeout( 60 * 60 * 2 - time() + $dungeonTimeout ) . '
Но Вы всегда можете приобрести ключ от прохода у любого "копателя пещер" в Торговом зале ;)'; } } }