'Выжить любой ценой', 1 => 'Каждый сам за себя', 2 => 'Захват ключа', ]; public function start() { global $c, $u; $this->info = mysql_fetch_array( mysql_query('SELECT * FROM `turnirs` WHERE `id` = "' . $u->info['inTurnir'] . '" LIMIT 1') ); $this->user = mysql_fetch_array( mysql_query( 'SELECT * FROM `users_turnirs` WHERE `turnir` = "' . $u->info['inTurnir'] . '" AND `bot` = "' . $u->info['id'] . '" LIMIT 1' ) ); } public function startTurnir() { global $c, $u; $row = mysql_fetch_array( mysql_query('SELECT COUNT(*) FROM `users` WHERE `win` = "0" AND `lose` = "0" AND `nich` = "0"') ); if ($row[0] > 0 && $this->info['status'] != 3) { //Создание поединка mysql_query( 'INSERT INTO `battle` (`city`,`time_start`,`timeout`,`type`,`turnir`) VALUES ("' . $u->info['city'] . '","' . time( ) . '","60","1","' . $this->info['id'] . '")' ); $uri = mysql_insert_id(); //Закидываем персонажей в поединок mysql_query( 'UPDATE `users` SET `battle` = "' . $uri . '" WHERE `inUser` = "0" AND `inTurnir` = "' . $this->info['id'] . '"' ); //Обозначаем завершение турнира при выходе mysql_query('UPDATE `turnirs` SET `status` = "3" WHERE `id` = "' . $this->info['id'] . '" LIMIT 1'); die('Перейтиде в раздел "поединки"...'); } else { if ($this->info['status'] == 3) { $this->finishTurnir(); } } } public function finishTurnir() { global $c, $u; $this->info = mysql_fetch_array( mysql_query('SELECT * FROM `turnirs` WHERE `id` = "' . $u->info['inTurnir'] . '" LIMIT 1') ); //mysql_query('UPDATE `users` SET `inUser` = 0, `inTurnir` = 0 WHERE `inTurnir` = '.$this->info['id'].' AND `inUser` > 0 LIMIT '.$this->info['users_in']); if ($this->info['status'] == 3) { $win = ''; $sp = mysql_query( 'SELECT * FROM `users_turnirs` WHERE `turnir` = "' . $this->info['id'] . '" ORDER BY `points` DESC LIMIT ' . $this->info['users_in'] ); while ($pl = mysql_fetch_array($sp)) { $inf = mysql_fetch_array( mysql_query('SELECT * FROM `users` WHERE `id` = "' . $pl['uid'] . '" LIMIT 1') ); $bot = mysql_fetch_array( mysql_query('SELECT * FROM `users` WHERE `id` = "' . $pl['bot'] . '" LIMIT 1') ); if (isset($inf['id'], $bot['id'])) { //выдаем призы и т.д mysql_query('DELETE FROM `users` WHERE `id` = "' . $bot['id'] . '" LIMIT 1'); mysql_query('DELETE FROM `stats` WHERE `id` = "' . $bot['id'] . '" LIMIT 1'); mysql_query('DELETE FROM `items_users` WHERE `uid` = "' . $bot['id'] . '" LIMIT 1000'); mysql_query('DELETE FROM `eff_users` WHERE `uid` = "' . $bot['id'] . '" LIMIT 1000'); } if ($bot['win'] > 0 && $bot['lose'] < 1) { $win .= '' . $inf['login'] . ', '; } } mysql_query( 'UPDATE `users` SET `inUser` = "0",`inTurnir` = "0" WHERE `inTurnir` = "' . $this->info['id'] . '" LIMIT ' . $this->info['users_in'] ); mysql_query( 'UPDATE `turnirs` SET `users_in` = 0,`status` = 0,`winner` = -1,`step` = 0,`time` = "' . (time( ) + $this->info['time2']) . '",`count` = `count` + 1 WHERE `id` = ' . $this->info['id'] . ' LIMIT 1' ); if ($win != '') { $win = rtrim($win, ', '); $win = 'Победители турнира: ' . $win . '. Следующий турнир начнется через ' . $u->timeOut( $this->info['time2'] ) . ' (' . date('d.m.Y H:i', (time() + $this->info['time2'])) . ').'; } else { $win = 'Победители турнира отсутствует. Следующий турнир начнется через ' . $u->timeOut( $this->info['time2'] ) . ' (' . date('d.m.Y H:i', (time() + $this->info['time2'])) . ').'; } $r = 'Турнир «' . $this->name[$this->info['type']] . ' [' . $this->info['level'] . '] №' . $this->info['count'] . '» завершился! ' . $win; mysql_query( 'DELETE FROM `users_turnirs` WHERE `turnir` = "' . $this->info['id'] . '" LIMIT ' . $this->info['users_in'] ); $cmsg = new ChatMessage(); $cmsg->setType(6); $cmsg->setText($r); (new Chat())->sendMsg($cmsg); } } public function locationSee() { global $c, $u; $r = ''; $tm1 = ''; $tm2 = ''; if ($this->info['step'] != 3 && $this->info['step'] != 0) { //получение комплекта if (isset($_GET['gocomplect']) && $this->user['points'] < 2) { $aso = []; $noitm = [ 869 => 1, ]; $sp = mysql_query( 'SELECT `id`,`price1`,`inslot`,`price2` FROM `items_main` WHERE `inslot` > 0 AND `inslot` <= 26 AND `inslot` != 25 AND `inslot` != 24 AND `inslot` != 23 AND `inslot` != 16 AND `inslot` != 17 AND `inslot` != 2 AND `price2` = 0' ); while ($pl = mysql_fetch_array($sp)) { if (!isset($noitm[$pl['id']])) { $aso[$pl['inslot']][count($aso[$pl['inslot']])] = $pl; } } $i = 0; $com = []; while ($i <= 17) { if ($i == 16) { //левая рука } elseif ($i == 17) { //правая рука } else { //обмундирование $com[$i] = $aso[$i][rand(0, count($aso[$i]))]; } if ($com[$i]['id'] > 0) { $u->addItem($com[$i]['id'], $u->info['id']); $this->user['points'] += $com[$i]['price1']; } echo ',' . $com[$i]; $i++; } mysql_query( 'UPDATE `users_turnirs` SET `points` = "' . $this->user['points'] . '" WHERE `bot` = "' . $u->info['id'] . '" LIMIT 1' ); $this->info['step'] == 0; } } if ($this->info['step'] == 3) { $this->finishTurnir(); } elseif ($this->info['step'] == 0) { //распределяем команды $po = [0, 0]; $sp = mysql_query( 'SELECT * FROM `users_turnirs` WHERE `turnir` = "' . $this->info['id'] . '" ORDER BY `points` DESC LIMIT ' . $this->info['users_in'] ); $tmr = rand(1, 2); if ($tmr == 1) { $tmr = [2, 1]; } else { $tmr = [1, 2]; } while ($pl = mysql_fetch_array($sp)) { $inf = mysql_fetch_array( mysql_query('SELECT * FROM `users` WHERE `id` = "' . $pl['uid'] . '" LIMIT 1') ); $bot = mysql_fetch_array( mysql_query('SELECT * FROM `users` WHERE `id` = "' . $pl['bot'] . '" LIMIT 1') ); if (isset($inf['id'], $bot['id'])) { if ($po[1] == $po[2]) { $tm = rand(1, 2); } elseif ($po[1] > $po[2]) { $tm = 2; } else { $tm = 1; } //$tm = $tmr[$tm]; $bot['team'] = $tm; $po[$bot['team']] += $pl['points']; mysql_query( 'UPDATE `stats` SET `team` = "' . $bot['team'] . '" WHERE `id` = "' . $bot['id'] . '" LIMIT 1' ); mysql_query( 'UPDATE `users_turnirs` SET `team` = "' . $bot['team'] . '" WHERE `id` = "' . $pl['id'] . '" LIMIT 1' ); } } mysql_query( 'UPDATE `turnirs` SET `step` = "1",`time` = "' . (time( ) + $this->info['time3']) . '" WHERE `id` = "' . $this->info['id'] . '" LIMIT 1' ); } $sp = mysql_query( 'SELECT * FROM `users_turnirs` WHERE `turnir` = "' . $this->info['id'] . '" LIMIT ' . $this->info['users_in'] ); $po = [0, 0]; while ($pl = mysql_fetch_array($sp)) { $inf = mysql_fetch_array(mysql_query('SELECT * FROM `users` WHERE `id` = "' . $pl['uid'] . '" LIMIT 1')); $bot = mysql_fetch_array( mysql_query( 'SELECT `u`.*,`st`.* FROM `users` AS `u` LEFT JOIN `stats` AS `st` ON `u`.`id` = `st`.`id` WHERE `u`.`id` = "' . $pl['bot'] . '" LIMIT 1' ) ); if (isset($inf['id'], $bot['id'])) { $po[$bot['team']] += $pl['points']; ${'tm' . $bot['team']} .= '' . $bot['login'] . ' [' . $bot['level'] . '], '; } } $r .= ''; $r .= '

«' . $this->name[$this->info['type']] . '»


Начало турнира через ' . $u->timeOut( $this->info['time'] - time() ) . '! '; if ($this->user['points'] < 3) { //Еще не получили обмундирование if ($this->user['points'] < 2) { $r .= ''; } else { $r .= ' '; } } else { $r .= 'Вы участвуете в турнире!'; } $r .= '

'; $r .= 'Команда №1: ' . rtrim($tm1, ', '); $r .= '
Команда №2: ' . rtrim($tm2, ', '); if (($this->info['time'] - time() < 0) && $this->info['step'] == 1) { //начинаем турнир $this->startTurnir(); } echo $r; } } $tur = new turnir; $tur->start();