room['file'] == 'penter') { $dun = 1; //для новичков 2-7 лвл $er = ''; $dzs = ''; $g111 = 1; $dungeonTimeout = ActionModel::getOne(["uid = {$u->info['id']}", 'vars = psh1', 'time > unix_timestamp() - 7200'], 'time'); $moder = mysql_fetch_array(mysql_query('SELECT * FROM `moder` WHERE `align` = "' . $u->info['align'] . '" LIMIT 1')); 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; } } if ($dungeonTimeout) { $g111 = 0; if (isset($_GET['start'])) { $re = 'Поход в пещеры запрещен. Осталось еще: ' . Conversion::secondsToTimeout(7200 - time() + $dungeonTimeout); } } if (isset($_GET['start']) && $zv['uid'] == $u->info['id'] && $g111 == 1) { //начинаем поход //начинаем поход $ig = 1; if ($ig > 0) { //перемещаем игроков в пещеру //$u->addAction(time(),'psh1',''); $ins = mysql_query( 'INSERT INTO `dungeon_now` (`city`,`uid`,`id2`,`name`,`time_start`) VALUES ("' . $zv['city'] . '","' . $zv['uid'] . '","' . $dun . '","Канализация","' . time() . '")' ); if ($ins) { $zid = mysql_insert_id(); //обновляем пользователей $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 = ''; while ($pu = mysql_fetch_array($su)) { $ids .= ' `id` = "' . $pu['id'] . '" OR'; $u->addAction(time(), 'psh1', '', $pu['id']); } $ids = rtrim($ids, 'OR'); $upd1 = mysql_query('UPDATE `stats` SET `x`="0",`y`="0",`dn` = "0",`dnow` = "' . $zid . '" WHERE ' . $ids . ' LIMIT ' . ($zv['team_max'] + 1) . ''); if ($upd1) { $upd2 = mysql_query('UPDATE `users` SET `room` = "189" WHERE ' . $ids . ' LIMIT ' . ($zv['team_max'] + 1) . ''); //Добавляем ботов и обьекты в пещеру $zid с for_dn = $dun //Добавляем ботов $vls = ''; $sp = mysql_query('SELECT * FROM `dungeon_bots` WHERE `for_dn` = "' . $dun . '"'); while ($pl = mysql_fetch_array($sp)) { $vls .= '("' . $zid . '","' . $pl['id_bot'] . '","' . $pl['colvo'] . '","' . $pl['items'] . '","' . $pl['x'] . '","' . $pl['y'] . '","' . $pl['dialog'] . '","' . $pl['items'] . '"),'; } $vls = rtrim($vls, ','); $ins1 = mysql_query('INSERT INTO `dungeon_bots` (`dn`,`id_bot`,`colvo`,`items`,`x`,`y`,`dialog`,`atack`) VALUES ' . $vls . ''); //Добавляем обьекты $vls = ''; $sp = mysql_query('SELECT * FROM `dungeon_obj` WHERE `for_dn` = "' . $dun . '"'); 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'] . '"),'; } $vls = rtrim($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 . '' ); if ($upd2 && $ins1 && $ins2) { mysql_query('UPDATE `dungeon_zv` SET `delete` = "' . time() . '" WHERE `id` = "' . $zv['id'] . '" LIMIT 1'); die(''); } else { $re = 'Ошибка перехода в подземелье...'; } } else { $re = 'Ошибка перехода в подземелье...'; } } else { $re = 'Ошибка перехода в подземелье...'; } } } elseif (isset($_POST['go'], $_POST['goid']) && $g111 == 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'])) { if ($zv['lvlmin'] == $u->info['level'] || $u->info['admin'] > 0) { $row = 0; if ($zv['team_max'] > $row || $u->info['admin'] > 0) { $upd = mysql_query('UPDATE `stats` SET `dn` = "' . $zv['id'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); if (!$upd) { $re = 'Не удалось вступить в эту группу'; unset($zv); } else { $u->info['dn'] = $zv['id']; } } else { $re = 'В группе нет места'; unset($zv); } } else { $re = 'Вы не подходите по уровню'; unset($zv); } } else { $re = 'Заявка не найдена'; } } else { $re = 'Вы уже находитесь в группе'; } } elseif (isset($_POST['leave']) && isset($zv['id']) && $g111 == 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 && $g111 == 1) { if ($u->info['dn'] == 0) { $lmn = $u->info['level'] - 1; $lmx = $u->info['level'] + 1; $tmx = 0; if ($lmn < 2) { $lmn = 2; } if ($lmn > 7) { $lmn = 7; } if ($lmx < 2) { $lmx = 2; } if ($lmx > 7) { $lmx = 7; } if ($u->info['level'] >= 6 && $u->info['admin'] == 0) { $tmx = 0; } else { $tmx = 5; } //только своего уровня $lmn = $u->info['level']; $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'] . '","' . $dun . '", "' . mysql_real_escape_string($_POST['pass']) . '", "' . mysql_real_escape_string($_POST['text']) . '", "' . $lmn . '", "' . $lmx . '", "' . $tmx . '")' ); 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'); $re = 'Вы успешно создали группу'; } else { $re = 'Не удалось создать группу'; } } else { $re = 'Вы уже находитесь в группе'; } } //Генерируем список групп $sp = mysql_query( 'SELECT * FROM `dungeon_zv` WHERE `city` = "' . $u->info['city'] . '" AND `lvlmin` = "' . $u->info['level'] . '" AND `delete` = "0" AND `time` > "' . (time() - 60 * 60 * 2) . '"' ); while ($pl = mysql_fetch_array($sp)) { $dzs .= '
= $u->room['name']; ?> |