2022-12-19 22:22:19 +02:00
< ? php
2022-12-30 21:03:37 +02:00
use Core\Config ;
use Core\Db ;
2022-12-19 22:22:19 +02:00
class FightRequest
{
2022-12-30 21:03:37 +02:00
private array $z1n = [ 4 => 'ãðóïïîâûå' , 5 => 'õàîòè÷íûå' ];
private array $z2n = [ 4 => 'ãðóïïîâîãî' , 5 => 'õàîòè÷íîãî' ];
private bool $backTest = false ; // Äëÿ ïðîâåðîê õàîòè÷åñêèõ ïîåäèíêîâ.
private static bool $bcktst ;
private User $u ;
private ? int $zv_see = null ;
public string $test_s = '' ;
public string $error = '' ;
2022-12-19 22:22:19 +02:00
/**
* Çàÿâêè íà áîé.
*/
public function __construct ()
{
$this -> u = User :: start ();
unset ( $_POST [ 'kingfight' ], $_POST [ 'nobot' ], $_POST [ 'mut_clever' ]);
$this -> u -> info [ 'no_zv_key' ] = true ;
if ( ! empty ( $_GET [ 'del_z_time' ])) {
$zay = Db :: getValue (
'select count(*) from zayvki where id = ? and creator = ? and start = 0 and cancel = 0 and btl_id = 0 and priz = 0' ,
[ $this -> u -> info [ 'zv' ], $this -> u -> info [ 'id' ]]
);
if ( $zay ) {
$colls = Db :: getValue ( 'select count(*) from stats where zv = ?' , [ $this -> u -> info [ 'zv' ]]);
if ( $colls === 1 ) {
Db :: sql ( 'update stats set zv = 0 where id = ?' , [ $this -> u -> info [ 'id' ]]);
Db :: sql ( 'delete from zayvki where id = ?' , [ $this -> u -> info [ 'zv' ]]);
}
}
}
$this -> test (); //ïðîâåðÿåì çàÿâêè
}
private function add_effn ( $uid , $id )
{
$eff = Db :: getRow ( 'select mname, mdata, oneType, id2 from eff_main where id2 = ?' , [ $id ]);
if ( ! $eff [ 'id2' ]) {
return ;
}
2022-12-30 21:03:37 +02:00
Db :: sql (
2022-12-19 22:22:19 +02:00
'insert into eff_users (overType, id_eff, uid, name, timeUse, data) values (?,?,?,?,unix_timestamp(),?)' ,
[ $eff [ 'oneType' ], $eff [ 'id2' ], $uid , $eff [ 'mname' ], $eff [ 'mdata' ]]
);
// Db::sql('
// insert into eff_users (overType, id_eff, uid, name, timeUse, data)
// select oneType, id2, ?, mname, unix_timestamp(), mdata from eff_main
// where id2 = ?',
// [$uid, $id]);
}
private function testTravm ()
{
$tr = Db :: getValue (
'select v1 from eff_users where id_eff = 4 and `delete` = 0 and uid = ? order by v1 desc limit 1' ,
[ $this -> u -> info [ 'id' ]]
);
return $tr ? $tr - 1 : 0 ;
}
private function testTurnir ()
{
$chat = new Chat ();
//Ïðîâåðÿåì òóðíèðû â ýòîì ãîðîäå
$trn = Db :: getRows ( 'select * from turnirs where status != -1' );
$stmt = Db :: prepare ( 'update turnirs set chat = ? where id = ?' );
foreach ( $trn as $pl ) {
//Íà÷àëî òóðíèðà
if ( $pl [ 'status' ] == 0 && $pl [ 'time' ] > time ()) {
if ( floor (( $pl [ 'time' ] - time ()) / 60 ) <= 2 && $pl [ 'chat' ] > 0 ) {
$stmt -> execute ([ 0 , $pl [ 'id' ]]);
} elseif ( floor (( $pl [ 'time' ] - time ()) / 60 ) <= 5 && $pl [ 'chat' ] > 1 ) {
//Îñòàëîñü 5 ìèí.
$chat -> sendsys ( '<b style="color: red;">Òóðíèðû:</b> Äî íà÷àëà òóðíèðà îñòàëîñü 5 ìèíóò.' );
$stmt -> execute ([ 1 , $pl [ 'id' ]]);
} elseif ( floor (( $pl [ 'time' ] - time ()) / 60 ) <= 10 && $pl [ 'chat' ] > 2 ) {
//Îñòàëîñü 10 ìèí.
$chat -> sendsys ( '<b style="color: red;">Òóðíèðû:</b> Äî íà÷àëà òóðíèðà îñòàëîñü 10 ìèíóò.' );
$stmt -> execute ([ 2 , $pl [ 'id' ]]);
} elseif ( floor (( $pl [ 'time' ] - time ()) / 60 ) <= 15 && $pl [ 'chat' ] > 3 ) {
//Îñòàëîñü 15 ìèí.
$chat -> sendsys ( '<b style="color: red;">Òóðíèðû:</b> Äî íà÷àëà òóðíèðà îñòàëîñü 15 ìèíóò.' );
$stmt -> execute ([ 3 , $pl [ 'id' ]]);
}
}
if ( $pl [ 'status' ] != 0 || $pl [ 'time' ] >= time ()) {
continue ;
}
if ( $pl [ 'users_in' ] > 1 ) {
//Íà÷àëî òóðíèðà
2022-12-30 21:03:37 +02:00
Db :: sql ( 'update turnirs set time = unix_timestamp() + ?, status = 1 where id = ?' , [ $pl [ 'time3' ], $pl [ 'id' ]]);
2022-12-19 22:22:19 +02:00
$usp = mysql_query (
'SELECT * FROM `users` WHERE `inTurnirnew` = "' . $pl [ 'id' ] . '" LIMIT ' . $pl [ 'users_in' ]
);
while ( $ur = mysql_fetch_array ( $usp )) {
mysql_query (
'INSERT INTO `users` (`login`,`room`,`name`,`sex`,`level`,`inTurnirnew`,`bithday`,`activ`) VALUES ("' . $ur [ 'login' ] . '","318","' . $ur [ 'name' ] . '","' . $ur [ 'sex' ] . '","' . $t [ 'level' ] . '","' . $pl [ 'id' ] . '","01.01.2001","0")'
);
$uri = mysql_insert_id ();
mysql_query (
'INSERT INTO `users_turnirs` (`uid`,`bot`,`turnir`) VALUES ("' . $ur [ 'id' ] . '","' . $uri . '","' . $pl [ 'id' ] . '")'
);
$zid = 0 ;
$x1 = 0 ;
$y1 = 0 ;
mysql_query (
'INSERT INTO `stats` (`upLevel`,`dnow`,`id`,`stats`,`exp`,`ability`,`skills`,`x`,`y`) VALUES ("98","' . $zid . '","' . $uri . '","s1=3|s2=3|s3=3|s4=3|s5=0|s6=0|rinv=40|m9=5|m6=10","0","0","0",' . $x1 . ',' . $y1 . ')'
);
mysql_query (
'UPDATE `users` SET `inUser` = "' . $uri . '" WHERE `id` = "' . $ur [ 'id' ] . '" LIMIT 1'
);
//Äîáàâëÿåì ýôôåêòû ñêîðîñòü ðåãåíà è çàïðåò ïåðåäâèæåíèÿ
}
} else {
//Îòìåíà òóðíèðà
mysql_query (
'UPDATE `turnirs` SET `time` = "' . ( time (
) + $pl [ 'time2' ]) . '",`users_in` = "0" WHERE `id` = "' . $pl [ 'id' ] . '" LIMIT 1'
);
mysql_query ( 'UPDATE `users` SET `inTurnirnew` = "0" WHERE `inTurnirnew` = "' . $pl [ 'id' ] . '"' );
}
}
}
private function testGroupAndChaotic ()
{
//Ïðîâåðÿåì õàîòè÷íûå è ãðóïïîâûå áîè â ýòîì ãîðîäå
$sp = mysql_query (
'SELECT * FROM `zayvki` AS `z` WHERE `z`.`btl_id` = "0" AND `z`.`cancel` = "0" AND `z`.`start` = "0" AND (`z`.`razdel` = 4 OR `z`.`razdel` = 5) ORDER BY `z`.`id` DESC LIMIT 22'
);
while ( $pl = mysql_fetch_array ( $sp )) {
$uz = mysql_query (
'SELECT `u`.`sex`,`u`.`id`,`u`.`login`,`u`.`align`,`u`.`clan`,`u`.`admin`,`u`.`city`,`u`.`room`,`u`.`online`,`u`.`level`,`u`.`battle`,`u`.`money`,`st`.* FROM `stats` AS `st` LEFT JOIN `users` AS `u` ON (`st`.`id` = `u`.`id`) WHERE `st`.`zv`="' . $pl [ 'id' ] . '"'
);
$tm1 = [];
$tm2 = [];
$i = [];
$toChat = '' ;
$toChat2 = '' ;
$toWhere = '' ;
while ( $t = mysql_fetch_array ( $uz )) {
if ( ! isset ( $ { 'tm' . $t [ 'team' ]})) {
$ { 'tm' . $t [ 'team' ]} = [];
}
if ( ! isset ( $i [ $t [ 'team' ]])) {
$i [ $t [ 'team' ]] = 0 ;
}
$ { 'tm' . $t [ 'team' ]}[ $i [ $t [ 'team' ]]] = $t ;
$toChat .= '' . $t [ 'login' ] . ',' ;
$toWhere .= 'OR `id` = "' . $t [ 'id' ] . '" ' ;
if ( $pl [ 'razdel' ] == 5 && $pl [ 'time_start' ] - 180 < time () - $pl [ 'time' ] && $pl [ 'send' ] == 0 ) {
$toChat2 .= '' . $this -> u -> microLogin2 ( $t ) . ', ' ;
}
$i [ $t [ 'team' ]] ++ ;
}
if ( $pl [ 'razdel' ] == 5 ) {
$col_p = mysql_fetch_array (
mysql_query ( 'SELECT COUNT(*) FROM `stats` WHERE `zv` = "' . $pl [ 'id' ] . '"' )
);
$cols = $col_p [ 0 ];
if ( $cols >= $pl [ 'maxplayers' ]) {
$pl [ 'time_start' ] = time () - $pl [ 'time' ] - 1 ;
}
}
if ( $pl [ 'time_start' ] < time (
) - $pl [ 'time' ] || ( $pl [ 'razdel' ] == 4 && $i [ 1 ] >= $pl [ 'tm1max' ] && $i [ 2 ] >= $pl [ 'tm2max' ])) {
$toChat = rtrim ( $toChat , ',' );
$toWhere = ltrim ( $toWhere , 'OR ' );
if ( $pl [ 'razdel' ] == 4 ) {
//ãðóïïû
$this -> testGroup ( $i , $pl , $toChat , $toWhere );
} elseif ( $pl [ 'razdel' ] == 5 ) {
//fixme ¸áàíûé êîñòûëü!
$this -> testCronChaotic ( $pl , $toChat , $toWhere );
return ;
//õàîòû
//
$i = mysql_fetch_array (
mysql_query ( 'SELECT COUNT(*) FROM `stats` WHERE `zv` = "' . $pl [ 'id' ] . '" LIMIT 1' )
);
if ( $i [ 0 ] < 4 && ( $i [ 0 ] < 2 || $pl [ 'fastfight' ] == 0 )) {
//ãðóïïà íå íàáðàíà
$this -> cancelGroup ( $pl , $toChat , ' Áåäà!' );
} else {
//Íà÷èíàåì ïîåäèíîê
$this -> startBattle ( $pl [ 'id' ], $toChat . '|-|' . $toWhere );
}
}
}
}
}
/** Ïðîâåðÿåì çàÿâêè
* @return void
*/
private function test ()
{
if ( $this -> u -> info [ 'zv' ] > 0 ) {
$z = Db :: getRow ( 'select * from zayvki where id = ?' , [ $this -> u -> info [ 'zv' ]]);
if ( $z [ 'id' ] && ( $z [ 'cancel' ] || $z [ 'btl_id' ] || $z [ 'time' ] < time () - 3600 ) || ! $z [ 'id' ]) {
$this -> u -> info [ 'zv' ] = 0 ;
Db :: sql ( 'update stats set zv = 0 where id = ?' , [ $this -> u -> info [ 'id' ]]);
}
}
$this -> testTurnir ();
$this -> testGroupAndChaotic ();
}
private function testCronTurnir ()
{
//Ïðîâåðÿåì òóðíèðû â ýòîì ãîðîäå
$sp = mysql_query ( 'SELECT * FROM `turnirs` WHERE `status` != "-1"' );
while ( $pl = mysql_fetch_array ( $sp )) {
//Íà÷àëî òóðíèðà
if ( $pl [ 'status' ] != 0 || $pl [ 'time' ] >= time ()) {
continue ;
}
if ( $pl [ 'users_in' ] > 1 ) {
//Íà÷àëî òóðíèðà
mysql_query (
'UPDATE `turnirs` SET `time` = "' . ( time (
) + $pl [ 'time3' ]) . '",`status` = "1" WHERE `id` = "' . $pl [ 'id' ] . '" LIMIT 1'
);
$usp = mysql_query (
'SELECT * FROM `users` WHERE `inTurnirnew` = "' . $pl [ 'id' ] . '" LIMIT ' . $pl [ 'users_in' ]
);
while ( $ur = mysql_fetch_array ( $usp )) {
mysql_query (
'INSERT INTO `users` (`login`,`room`,`name`,`sex`,`level`,`inTurnirnew`,`bithday`,`activ`) VALUES ("' . $ur [ 'login' ] . '","318","' . $ur [ 'name' ] . '","' . $ur [ 'sex' ] . '","' . $t [ 'level' ] . '","' . $pl [ 'id' ] . '","01.01.2001","0")'
);
$uri = mysql_insert_id ();
mysql_query (
'INSERT INTO `users_turnirs` (`uid`,`bot`,`turnir`) VALUES ("' . $ur [ 'id' ] . '","' . $uri . '","' . $pl [ 'id' ] . '")'
);
$zid = 0 ;
$x1 = 0 ;
$y1 = 0 ;
mysql_query (
'INSERT INTO `stats` (`upLevel`,`dnow`,`id`,`stats`,`exp`,`ability`,`skills`,`x`,`y`) VALUES ("98","' . $zid . '","' . $uri . '","s1=3|s2=3|s3=3|s4=3|s5=0|s6=0|rinv=40|m9=5|m6=10","0","0","0",' . $x1 . ',' . $y1 . ')'
);
mysql_query (
'UPDATE `users` SET `inUser` = "' . $uri . '" WHERE `id` = "' . $ur [ 'id' ] . '" LIMIT 1'
);
//Äîáàâëÿåì ýôôåêòû ñêîðîñòü ðåãåíà è çàïðåò ïåðåäâèæåíèÿ
}
} else {
//Îòìåíà òóðíèðà
mysql_query (
'UPDATE `turnirs` SET `time` = "' . ( time (
) + $pl [ 'time2' ]) . '",`users_in` = "0" WHERE `id` = "' . $pl [ 'id' ] . '" LIMIT 1'
);
mysql_query ( 'UPDATE `users` SET `inTurnirnew` = "0" WHERE `inTurnirnew` = "' . $pl [ 'id' ] . '"' );
}
}
}
private function testGroup ( $groups , $zayavka , $toChat , $toWhere )
{
if ( $zayavka [ 'razdel' ] != 4 ) {
return ;
}
if (
empty ( $groups [ 1 ]) ||
empty ( $groups [ 2 ]) ||
(
empty ( $groups [ 3 ]) &&
$zayavka [ 'teams' ] == 3
)
) {
//ãðóïïà íå íàáðàíà
$this -> cancelGroup ( $zayavka , $toChat );
} else {
//Íà÷èíàåì ïîåäèíîê
$this -> startBattle ( $zayavka [ 'id' ], $toChat . '|-|' . $toWhere );
}
}
private function testCronChaotic ( $zayavka , $toChat , $toWhere )
{
$chat = new Chat ();
$levelToExp = [
0 => 0 ,
1 => 110 ,
2 => 420 ,
3 => 1300 ,
4 => 2500 ,
5 => 5000 ,
6 => 12500 ,
7 => 30000 ,
8 => 300000 ,
9 => 3000000 ,
10 => 10000000 ,
11 => 52000000 ,
12 => 63000000 ,
13 => 182000000 ,
14 => 212000000 ,
15 => 352000000 ,
16 => 504000000 ,
17 => 1187000000 ,
18 => 2455000000 ,
19 => 4387000000 ,
20 => 6355000000 ,
21 => 15500000000 ,
22 => 755500000000 ,
];
$botUsers = [];
define ( 'FAST_FIGHT_REQUIRED_FIGHTERS_COUNT' , 2 );
define ( 'FIGHT_REQUIRED_FIGHTERS_COUNT' , 6 );
$requiredFightersToStartBattle = FIGHT_REQUIRED_FIGHTERS_COUNT ;
if ( $zayavka [ 'fastfight' ] > 0 ) {
$requiredFightersToStartBattle = FAST_FIGHT_REQUIRED_FIGHTERS_COUNT ;
}
$pendingFightersCount = Db :: getValue ( 'select count(*) from stats where zv = ?' , [ $zayavka [ 'id' ]]);
if ( $pendingFightersCount < $requiredFightersToStartBattle ) {
//ãðóïïà íå íàáðàíà
//Äîáàâëÿåì íåäîñòàþùèõ èãðîêîâ
if ( ! $zayavka [ 'nobot' ]) { // Åñëè íåò çàïðåòà íà áîòîâ.
$getRealPlayersQuery = 'select * from stats left join users on stats.id = users.id where exp >= ? and exp < ? and bot = 0 order by btl_cof desc limit 50' ;
$getBotsQuery = 'select * from stats left join users on stats.id = users.id where bot = 2 and exp >= ? and exp < ?' ;
$botUsers = Db :: getRows ( $getBotsQuery , [ $levelToExp [ $zayavka [ 'min_lvl_1' ]], $levelToExp [ $zayavka [ 'max_lvl_1' ] + 1 ]]);
}
if ( empty ( $botUsers )) {
$text = ' Íå óäàëîñü íà÷àòü ïîåäèíîê ïî ïðè÷èíå: Ãðóïïà íå íàáðàíà. (' . $zayavka [ 'id' ] . ': 0 ' . $levelToExp [ $zayavka [ 'min_lvl_1' ]] . '-' . $levelToExp [ $zayavka [ 'max_lvl_1' ] + 1 ] . ')' ;
$chat -> sendsys ( $text , 'Merlin' );
$this -> cancelGroup ( $zayavka , $toChat , ' Áîòû ïðîñïàëè.' );
} else {
$pendingBotsCount = 0 ;
for ( $i = 0 ; $i < $requiredFightersToStartBattle - $pendingFightersCount ; $i ++ ) {
shuffle ( $botUsers );
$botInfo = array_shift ( $botUsers );
$botData = [
'id' => $botInfo [ 'id' ],
'login' => $botInfo [ 'login' ],
'level' => $botInfo [ 'level' ],
'city' => $botInfo [ 'city' ],
'cityreg' => $botInfo [ 'city' ],
'name' => $botInfo [ 'login' ],
'sex' => $botInfo [ 'sex' ],
'deviz' => '' ,
'hobby' => '' ,
'time_reg' => time (),
'obraz' => $botInfo [ 'obraz' ],
'stats' => $botInfo [ 'stats' ],
'upLevel' => $botInfo [ 'upLevel' ],
'priems' => $botInfo [ 'priems' ],
'loclon' => true ,
];
$bot = $this -> u -> addNewbot ( 1 , null , $botData , null , true );
if ( $bot ) {
Db :: sql (
'update stats set btl_cof = ?, zv = ?, hpNow = 1000000, mpNow = 1000000 where id = ?' ,
[ $botInfo [ 'btl_cof' ], $zayavka [ 'id' ], $bot ]
);
Db :: sql ( 'update users set room = 303, battle = 0 where id = ?' , [ $bot ]);
$pendingBotsCount ++ ;
}
}
unset ( $botUsers , $botInfo , $botData , $bot );
if ( $pendingBotsCount + $pendingFightersCount >= $requiredFightersToStartBattle ) {
$this -> backTest = true ;
self :: $bcktst = true ;
}
}
} else {
//Íà÷èíàåì ïîåäèíîê
$this -> startBattle ( $zayavka [ 'id' ], $toChat . '|-|' . $toWhere );
}
}
/** Ïðîâåðÿåì õàîòè÷íûå è ãðóïïîâûå áîè â ýòîì ãîðîäå
* @return void
* @throws Exception
*/
private function testCronGroupAndChaotic ()
{
define ( 'GROUP_BATLE' , 4 );
define ( 'CHAOTIC_BATTLE' , 5 );
$zv1k = Db :: getRows (
'select * from zayvki where btl_id = 0 and cancel = 0 and start = 0 and razdel in (4, 5) order by id desc limit 1000'
);
foreach ( $zv1k as $zv ) {
$tm1 = [];
$tm2 = [];
$i = [];
$toChat = $toWhere = '' ;
$users = Db :: getRows ( 'select * from stats left join users on stats.id = users.id where zv = ?' , [ $zv [ 'id' ]]);
foreach ( $users as $user ) {
! empty ( $ { 'tm' . $user [ 'team' ]}) ? : $ { 'tm' . $user [ 'team' ]} = [];
! empty ( $i [ $user [ 'team' ]]) ? : $i [ $user [ 'team' ]] = 0 ;
$ { 'tm' . $user [ 'team' ]}[ $i [ $user [ 'team' ]]] = $user ;
$toChat .= $user [ 'login' ] . ',' ;
$toWhere .= 'OR id = ' . $user [ 'id' ] . ' ' ;
$i [ $user [ 'team' ]] ++ ;
}
if ( $zv [ 'time_start' ] > time (
) - $zv [ 'time' ] && ( $zv [ 'razdel' ] != 4 || $i [ 1 ] < $zv [ 'tm1max' ] || $i [ 2 ] < $zv [ 'tm2max' ])) {
continue ;
}
$toChat = rtrim ( $toChat , ',' );
$toWhere = ltrim ( $toWhere , 'OR ' );
trigger_error ( 'test' );
if ( $zv [ 'razdel' ] == GROUP_BATLE ) {
$this -> testGroup ( $i , $zv , $toChat , $toWhere );
} else {
$this -> testCronChaotic ( $zv , $toChat , $toWhere );
}
}
}
public function testCronZv ()
{
$this -> testCronTurnir ();
$this -> testCronGroupAndChaotic ();
if ( $this -> backTest || self :: $bcktst ) {
self :: $bcktst = false ;
$this -> testCronZv ();
}
}
public function userInfo ()
{
$r = '' ;
$dp = '' ;
$ph = $this -> u -> stats [ 'hpNow' ] / $this -> u -> stats [ 'hpAll' ] * 100 ;
if ( $this -> u -> stats [ 'mpAll' ] > 0 ) {
$pm = $this -> u -> stats [ 'mpNow' ] / $this -> u -> stats [ 'mpAll' ] * 100 ;
} else {
$dp = 'margin-top:13px;' ;
}
$r .= '<table border="0" cellspacing="0" cellpadding="0" height="20">
<tr><td valign="middle"> <font>' . $this -> u -> microLogin ( $this -> u -> info [ 'id' ], 1 ) . '</font> </td>
<td valign="middle" width="120">
<div style="position:relative;' . $dp . '"><div id="vhp' . ( $this -> u -> info [ 'id' ]) . '" title="Óðîâåíü æèçíè" align="left" class="seehp" style="position:absolute; top:-10px; width:120px; height:10px; z-index:12;"> ' . floor (
$this -> u -> stats [ 'hpNow' ]
) . '/' . $this -> u -> stats [ 'hpAll' ] . '</div>
<div title="Óðîâåíü æèçíè" class="hpborder" style="position:absolute; top:-10px; width:120px; height:9px; z-index:13;"><img src="https://img.new-combats.com/1x1.gif" height="9" width="1"></div>
<div class="hp_3 senohp" style="height:9px; width:' . floor (
120 / 100 * $ph
) . 'px; position:absolute; top:-10px; z-index:11;" id="lhp' . ( $this -> u -> info [ 'id' ]) . '"><img src="https://img.new-combats.com/1x1.gif" height="9" width="1"></div>
<div title="Óðîâåíü æèçíè" class="hp_none" style="position:absolute; top:-10px; width:120px; height:10px; z-index:10;"><img src="https://img.new-combats.com/1x1.gif" height="10"></div>
' ;
if ( $this -> u -> stats [ 'mpAll' ] > 0 ) {
$r .= '<div id="vmp' . ( $this -> u -> info [ 'id' ]) . '" title="Óðîâåíü ìàíû" align="left" class="seemp" style="position:absolute; top:0px; width:120px; height:10px; z-index:12;"> ' . floor (
$this -> u -> stats [ 'mpNow' ]
) . '/' . $this -> u -> stats [ 'mpAll' ] . '</div>
<div title="Óðîâåíü ìàíû" class="hpborder" style="position:absolute; top:0px; width:120px; height:9px; z-index:13;"><img src="https://img.new-combats.com/1x1.gif" height="9" width="1"></div>
<div class="hp_mp senohp" style="height:9px; position:absolute; top:0px; width:' . floor (
120 / 100 * $pm
) . 'px; z-index:11;" id="lmp' . ( $this -> u -> info [ 'id' ]) . '"><img src="https://img.new-combats.com/1x1.gif" height="9" width="1"></div>
<div title="Óðîâåíü ìàíû" class="hp_none" style="position:absolute; top:0px; width:120px; height:10px; z-index:10;"></div>' ;
}
$r .= '</div></td></tr></table>' ;
unset ( $stt , $ph , $pm );
return $r ;
}
public function cancelGroup ( $zv , $uids , $debug = null )
{
if ( $zv [ 'priz' ] > 0 ) {
$sp = mysql_query ( 'SELECT `id` FROM `stats` WHERE `zv` = "' . $zv [ 'id' ] . '"' );
}
$upd = mysql_query ( 'UPDATE `stats` SET `zv` = "0" WHERE `zv` = "' . $zv [ 'id' ] . '"' );
if ( ! $upd ) {
return ;
}
$upd = mysql_query ( 'UPDATE `zayvki` SET `cancel` = "' . time () . '" WHERE `id` = "' . $zv [ 'id' ] . '"' );
if ( ! $upd || $uids == '' ) {
return ;
}
if ( $zv [ 'priz' ] > 0 ) {
while ( $pl = mysql_fetch_array ( $sp )) {
//Âûäàåì ïî 1 æåòîíó
if ( $zv [ 'type' ] == 33 ) //ÒÓÒ ãðóïà íå íàáðàííà óäàëÿåì ïåðñîíàæà è âûäàåì æåòîí
{
$pld = mysql_fetch_array (
mysql_query ( 'SELECT `id` FROM `users` WHERE `inUser` = "' . $pl [ 'id' ] . '"' )
);
if ( isset ( $pld [ 'id' ])) {
mysql_query ( 'UPDATE `users` SET `inUser` = "0" WHERE `id` = "' . $pld [ 'id' ] . '" LIMIT 1' );
$this -> u -> addItem ( 4754 , $pld [ 'id' ], '' );
$uids = $pld [ 'id' ];
mysql_query ( 'DELETE FROM `users` WHERE `id` = "' . $pl [ 'id' ] . '" LIMIT 1' );
mysql_query ( 'DELETE FROM `stats` WHERE `id` = "' . $pl [ 'id' ] . '" LIMIT 1' );
mysql_query ( 'DELETE FROM `items_users` WHERE `uid` = "' . $pl [ 'id' ] . '" LIMIT 100' );
mysql_query ( 'DELETE FROM `eff_users` WHERE `uid` = "' . $pl [ 'id' ] . '" LIMIT 100' );
}
} else {
$this -> u -> addItem ( 4754 , $pl [ 'id' ], '' );
}
}
$text = ' Íå óäàëîñü íà÷àòü ïîåäèíîê ïî ïðè÷èíå: Ãðóïïà íå íàáðàíà. Âû ïîëó÷àåòå Ïðèçîâîé Æåòîí (õ1)' ;
} else {
$text = ' Íå óäàëîñü íà÷àòü ïîåäèíîê ïî ïðè÷èíå: Ãðóïïà íå íàáðàíà!' ;
}
$chat = new Chat ();
$chat -> sendsys ( $text . $debug , $uids );
}
public function add ()
{
if ( ! isset ( $_GET [ 'r' ]) || $this -> u -> info [ 'inTurnirnew' ] != 0 ) {
return ;
}
$r = round ( intval ( $_GET [ 'r' ]));
if ( ! in_array ( $r , [ 1 , 4 , 5 , 8 , 10 ])) {
return ;
}
$az = 1 ;
if ( $r == 1 && $this -> u -> info [ 'level' ] > 0 ) {
$az = 0 ;
$this -> error = 'Âû óæå âûðîñëè èç ïîëçóíêîâ ;)' ;
}
if (( $r == 4 || $r == 5 ) && $this -> u -> info [ 'level' ] < 2 ) {
$az = 0 ;
$this -> error = 'Â ' . $this -> z1n [ $r ] . ' áîè òîëüêî ñî âòîðîãî óðîâíÿ.' ;
}
if ( $this -> testTravm () == 1 && $_POST [ 'k' ] != 1 ) {
$this -> error = 'Âû òðàâìèðîâàíû. Ñ òàêèìè óâå÷üÿìè äîñòóïíû êóëà÷íûå áîè.' ;
$az = 0 ;
} elseif ( $this -> testTravm () == 2 ) {
$this -> error = 'Âû òðàâìèðîâàíû. Ñ òàêèìè óâå÷üÿìè íåâîçìîæíî ñðàæàòüñÿ.' ;
$az = 0 ;
} elseif ( $this -> u -> info [ 'hpNow' ] < $this -> u -> stats [ 'hpAll' ] / 100 * 30 ) {
$this -> error = 'Âû åùå ñëèøêîì îñëàáëåíû ÷òîáû íà÷àòü íîâûé áîé' ;
$az = 0 ;
}
if ( $this -> u -> info [ 'zv' ] > 0 ) {
$az = 0 ;
$this -> error = 'Âû óæå íàõîäèòå â çàÿâêå.' ;
}
if ( $az != 1 ) {
return ;
}
$nz = [];
$nz [ 'travmaChance' ] = 0 ;
$nz [ 'time_start' ] = 0 ;
$nz [ 'min_lvl_1' ] = 0 ;
$nz [ 'min_lvl_2' ] = 0 ;
$nz [ 'max_lvl_1' ] = 21 ;
$nz [ 'max_lvl_2' ] = 21 ;
$nz [ 'tm1max' ] = 0 ;
$nz [ 'tm2max' ] = 0 ;
$nz [ 'invise' ] = 0 ;
$nz [ 'money' ] = 0 ;
$nz [ 'comment' ] = '' ;
$nz [ 'tm1' ] = 0 ;
$nz [ 'tm2' ] = 0 ;
$nz [ 'otmorozok' ] = 0 ;
$nz [ 'fastfight' ] = 0 ;
$nz [ 'noinc' ] = 0 ;
$nz [ 'city' ] = $this -> u -> info [ 'city' ];
$nz [ 'creator' ] = $this -> u -> info [ 'id' ];
$nz [ 'type' ] = 0 ;
if ( $_POST [ 'k' ] == 1 ) {
$nz [ 'type' ] = 1 ;
}
if ( $_POST [ 'k' ] == 2 ) {
$nz [ 'type' ] = 6 ;
$nz [ 'travmaChance' ] = 100 ;
}
$_POST [ 'timeout' ] = round ( intval ( mysql_real_escape_string ( $_POST [ 'timeout' ])));
if ( $_POST [ 'timeout' ] == 1 || $_POST [ 'timeout' ] == 2 || $_POST [ 'timeout' ] == 3 || $_POST [ 'timeout' ] == 4 || $_POST [ 'timeout' ] == 5 ) {
$nz [ 'timeout' ] = $_POST [ 'timeout' ] * 60 ;
} else {
$nz [ 'timeout' ] = 3 * 60 ;
}
$nz [ 'razdel' ] = $r ;
$gad = 1 ;
if ( $r == 5 && $this -> u -> info [ 'level' ] > 1 ) {
//õàîòè÷íûé áîé
if ( $_POST [ 'startime2' ]) {
$nz [ 'time_start' ] = ( int ) $_POST [ 'startime2' ];
$nz [ 'comment' ] = substr ( $_POST [ 'cmt' ], 0 , 40 );
$nz [ 'comment' ] = str_replace ( '"' , '"' , $nz [ 'comment' ]);
$nz [ 'comment' ] = htmlspecialchars ( $nz [ 'comment' ], null , 'cp1251' );
if ( ! in_array ( $nz [ 'time_start' ], [ 60 , 180 , 300 ])) {
$nz [ 'time_start' ] = 600 ;
}
if ( isset ( $_POST [ 'mut_hidden' ])) {
$nz [ 'invise' ] = 1 ;
}
if ( isset ( $_POST [ 'noinc' ])) {
$nz [ 'noinc' ] = 1 ;
}
if ( isset ( $_POST [ 'fastfight' ])) {
$nz [ 'fastfight' ] = 1 ;
}
if ( isset ( $_POST [ 'otmorozok' ])) {
$nz [ 'otmorozok' ] = 1 ;
}
if ( isset ( $_POST [ 'nobot' ])) {
$nz [ 'nobot' ] = 1 ;
}
if ( isset ( $_POST [ 'kingfight' ])) {
$nz [ 'kingfight' ] = 1 ;
}
if ( isset ( $_POST [ 'arand' ])) {
$nz [ 'arand' ] = 1 ;
}
if ( isset ( $_POST [ 'travma' ])) {
$nz [ 'travmaChance' ] = 100 ;
}
if ( isset ( $_POST [ 'noatack' ])) {
$nz [ 'noatack' ] = 1 ;
}
if ( isset ( $_POST [ 'noeff' ])) {
$nz [ 'noeff' ] = 1 ;
}
if ( isset ( $_POST [ 'smert' ])) {
$nz [ 'smert' ] = 1 ;
}
if ( isset ( $_POST [ 'noart' ])) {
$nz [ 'noart' ] = 1 ;
}
if ( $nz [ 'kingfight' ] == 1 && $nz [ 'fastfight' ] == 1 ) {
$nz [ 'kingfight' ] = 0 ;
}
$nz [ 'timeout' ] = ( int ) $_POST [ 'timeout' ];
if ( $nz [ 'timeout' ] != 1 && $nz [ 'timeout' ] != 2 && $nz [ 'timeout' ] != 3 && $nz [ 'timeout' ] != 4 && $nz [ 'timeout' ] != 5 ) {
$nz [ 'timeout' ] = 3 ;
}
//Ãåíåðèðóåì óðîâíè ñîþçíèêà
$lvl = ( int ) $_POST [ 'levellogin1' ];
if ( $lvl == 0 ) {
$nz [ 'min_lvl_1' ] = 2 ;
$nz [ 'max_lvl_1' ] = 21 ;
} elseif ( $lvl == 3 ) {
$nz [ 'min_lvl_1' ] = $this -> u -> info [ 'level' ];
$nz [ 'max_lvl_1' ] = $this -> u -> info [ 'level' ];
$nz [ 'min_lvl_2' ] = $nz [ 'min_lvl_1' ];
$nz [ 'max_lvl_2' ] = $nz [ 'min_lvl_2' ];
} elseif ( $lvl == 6 ) {
$nz [ 'min_lvl_1' ] = $this -> u -> info [ 'level' ] - 1 ;
$nz [ 'max_lvl_2' ] = $this -> u -> info [ 'level' ] + 1 ;
} else {
$nz [ 'min_lvl_1' ] = 2 ;
$nz [ 'max_lvl_1' ] = 2 ;
}
if (( int ) $_POST [ 'k' ] == 1 ) {
//êóëà÷íûé áîé
$nz [ 'type' ] = 1 ;
}
if (( int ) $_POST [ 'k' ] == 2 ) {
//êðîâàâûé áîé
$nz [ 'type' ] = 6 ;
$nz [ 'travmaChance' ] = 1 ;
}
$nz [ 'timeout' ] = $nz [ 'timeout' ] * 60 ;
$nz [ 'tm1' ] = $this -> u -> stats [ 'reting' ];
if ( ! $this -> u -> info [ 'no_zv_key' ] && ( $_POST [ 'code21' ] == 0 || $_POST [ 'code21' ] != $_SESSION [ 'code2' ] || $_SESSION [ 'code2' ] == 0 || ! isset ( $_SESSION [ 'code2' ]))) {
$this -> error = 'Íåïðàâèëüíûé êîä ïîäòâåðæäåíèÿ' ;
$gad = 0 ;
}
} else {
$gad = 0 ;
$this -> error = '×òî-òî íå òàê...<br>' ;
}
} elseif ( $r == 4 && $this -> u -> info [ 'level' ] > 1 ) {
//ãðóïïîâîé áîé
//çäåñü çàíîñèì è ïðîâåðÿåì äàííûå íà ãóðïïîâîé áîé
if ( $_POST [ 'startime' ]) {
$nz [ 'time_start' ] = ( int ) $_POST [ 'startime' ];
$nz [ 'comment' ] = substr ( $_POST [ 'cmt' ], 0 , 40 );
$nz [ 'comment' ] = str_replace ( '"' , '"' , $nz [ 'comment' ]);
if ( $nz [ 'time_start' ] != 300 && $nz [ 'time_start' ] != 600 && $nz [ 'time_start' ] != 900 && $nz [ 'time_start' ] != 1200 && $nz [ 'time_start' ] != 1800 ) {
$nz [ 'time_start' ] = 600 ;
}
$nz [ 'timeout' ] = ( int ) $_POST [ 'timeout' ];
if ( $nz [ 'timeout' ] != 1 && $nz [ 'timeout' ] != 2 && $nz [ 'timeout' ] != 3 && $nz [ 'timeout' ] != 4 && $nz [ 'timeout' ] != 5 ) {
$nz [ 'timeout' ] = 3 ;
}
$nz [ 'timeout' ] = $nz [ 'timeout' ] * 60 ;
$nz [ 'tm1max' ] = ( int ) $_POST [ 'nlogin1' ];
if ( $nz [ 'tm1max' ] < 1 || $nz [ 'tm1max' ] > 99 ) {
$this -> error .= 'Íåâåðíîå êîë-âî ñîþçíèêîâ<br>' ;
$gad = 0 ;
}
$nz [ 'tm2max' ] = ( int ) $_POST [ 'nlogin2' ];
if ( $nz [ 'tm2max' ] < 1 || $nz [ 'tm2max' ] > 99 ) {
$this -> error .= 'Íåâåðíîå êîë-âî ïðîòèâíèêîâ<br>' ;
$gad = 0 ;
}
if ( $this -> testTravm () == 1 && $_POST [ 'k' ] != 1 ) {
$this -> error = 'Âû òðàâìèðîâàíû. Ñ òàêèìè óâå÷üÿìè äîñòóïíû êóëà÷íûå áîè.' ;
$gad = 0 ;
} elseif ( $this -> testTravm () == 2 ) {
$this -> error = 'Âû òðàâìèðîâàíû. Ñ òàêèìè óâå÷üÿìè íåâîçìîæíî ñðàæàòüñÿ.' ;
$gad = 0 ;
} elseif ( $nz [ 'tm1max' ] + $nz [ 'tm2max' ] < 3 ) {
$this -> error .= 'Çàÿâêè 1 íà 1 ïîäàþòñÿ â ðàçäåëå ôèçè÷åñêèå èëè äîãîâîðíûå áîè<br>' ;
$gad = 0 ;
}
//Ãåíåðèðóåì óðîâíè ñîþçíèêà
$lvl = ( int ) $_POST [ 'levellogin1' ];
if ( $lvl == 0 ) {
$nz [ 'min_lvl_1' ] = 2 ;
$nz [ 'max_lvl_1' ] = 21 ;
} elseif ( $lvl == 1 ) {
$nz [ 'min_lvl_1' ] = 2 ;
$nz [ 'max_lvl_1' ] = $this -> u -> info [ 'level' ];
} elseif ( $lvl == 2 ) {
$nz [ 'min_lvl_1' ] = 2 ;
$nz [ 'max_lvl_1' ] = $this -> u -> info [ 'level' ] - 1 ;
} elseif ( $lvl == 3 ) {
$nz [ 'min_lvl_1' ] = $this -> u -> info [ 'level' ];
$nz [ 'max_lvl_1' ] = $this -> u -> info [ 'level' ];
} elseif ( $lvl == 4 ) {
$nz [ 'min_lvl_1' ] = $this -> u -> info [ 'level' ];
$nz [ 'max_lvl_1' ] = $this -> u -> info [ 'level' ] + 1 ;
} elseif ( $lvl == 5 ) {
$nz [ 'min_lvl_1' ] = $this -> u -> info [ 'level' ] - 1 ;
$nz [ 'max_lvl_1' ] = $this -> u -> info [ 'level' ];
} elseif ( $lvl == 6 ) {
$nz [ 'min_lvl_1' ] = $this -> u -> info [ 'level' ] - 1 ;
$nz [ 'max_lvl_1' ] = $this -> u -> info [ 'level' ] + 1 ;
$nz [ 'min_lvl_1' ] = 99 ;
} else {
$this -> error = '×òî-òî íå òàê...<br>' ;
$gad = 0 ;
}
//Ãåíåðèðóåì óðîâíè ïðîòèâíèêà
$lvl = ( int ) $_POST [ 'levellogin2' ];
if ( $lvl == 0 ) {
$nz [ 'min_lvl_2' ] = 2 ;
$nz [ 'max_lvl_2' ] = 21 ;
} elseif ( $lvl == 1 ) {
$nz [ 'min_lvl_2' ] = 2 ;
$nz [ 'max_lvl_2' ] = $this -> u -> info [ 'level' ];
} elseif ( $lvl == 2 ) {
$nz [ 'min_lvl_2' ] = 2 ;
$nz [ 'max_lvl_2' ] = $this -> u -> info [ 'level' ] - 1 ;
} elseif ( $lvl == 3 ) {
$nz [ 'min_lvl_2' ] = $this -> u -> info [ 'level' ];
$nz [ 'max_lvl_2' ] = $this -> u -> info [ 'level' ];
} elseif ( $lvl == 4 ) {
$nz [ 'min_lvl_2' ] = $this -> u -> info [ 'level' ];
$nz [ 'max_lvl_2' ] = $this -> u -> info [ 'level' ] + 1 ;
} elseif ( $lvl == 5 ) {
$nz [ 'min_lvl_2' ] = $this -> u -> info [ 'level' ] - 1 ;
$nz [ 'max_lvl_2' ] = $this -> u -> info [ 'level' ];
} elseif ( $lvl == 6 ) {
$nz [ 'min_lvl_2' ] = $this -> u -> info [ 'level' ] - 1 ;
$nz [ 'max_lvl_2' ] = $this -> u -> info [ 'level' ] + 1 ;
$nz [ 'min_lvl_2' ] = 99 ;
} else {
$this -> error = '×òî-òî íå òàê...<br>' ;
$gad = 0 ;
}
if ( $nz [ 'min_lvl_1' ] < 2 ) {
$nz [ 'min_lvl_1' ] = 2 ;
}
if ( $nz [ 'max_lvl_1' ] > 21 ) {
$nz [ 'max_lvl_1' ] = 21 ;
}
if ( $nz [ 'min_lvl_2' ] < 2 ) {
$nz [ 'min_lvl_2' ] = 2 ;
}
if ( $nz [ 'max_lvl_2' ] > 21 ) {
$nz [ 'max_lvl_2' ] = 21 ;
}
if (( int ) $_POST [ 'k' ] == 1 ) {
//êóëà÷íûé áîé
$nz [ 'type' ] = 1 ;
}
if (( int ) $_POST [ 'k' ] == 2 ) {
//êðîâàâûé áîé
$nz [ 'type' ] = 6 ;
$nz [ 'travmaChance' ] = 100 ;
}
} else {
$gad = 0 ;
$this -> error = '×òî-òî íå òàê...<br>' ;
}
}
$bt2 = ( int ) $_POST [ 'bots2' ];
if ( $bt2 != 0 && $r == 4 && $this -> u -> info [ 'level' ] > 1 ) {
$bt2 = 1 ;
$nz [ 'min_lvl_2' ] = $this -> u -> info [ 'level' ];
$nz [ 'max_lvl_2' ] = $this -> u -> info [ 'level' ];
$nz [ 'min_lvl_1' ] = $this -> u -> info [ 'level' ];
$nz [ 'max_lvl_1' ] = $this -> u -> info [ 'level' ];
} else {
$bt2 = 0 ;
}
if ( $gad == 1 ) {
if ( ! isset ( $nz [ 'withUser' ])) {
$nz [ 'withUser' ] = '' ;
}
$nz [ 'time_create_zv' ] = time ();
if ( $nz [ 'razdel' ] == 4 || $nz [ 'razdel' ] == 5 ) {
//Îêðóãëÿåì âðåìÿ äëÿ êðîíû
$nz [ 'time_create_zv' ] = strtotime (
date ( 'd.m.Y H:i' , $nz [ 'time_create_zv' ]) . ':00' , $nz [ 'time_create_zv' ]
);
} elseif ( $nz [ 'razdel' ] == 3 ) {
$nz [ 'noinc' ] = 1 ;
}
$nz [ 'teams' ] = 2 ;
$nz [ 'align1' ] = 0 ;
$nz [ 'align2' ] = 0 ;
$nz [ 'align3' ] = 0 ;
if ( isset ( $_POST [ '3align' ])) {
$nz [ 'teams' ] = 3 ;
$nz [ 'min_lvl_1' ] = 2 ;
$nz [ 'min_lvl_2' ] = 2 ;
$nz [ 'max_lvl_1' ] = 21 ;
$nz [ 'max_lvl_2' ] = 21 ;
//
if ( floor ( $this -> u -> info [ 'align' ]) == 3 ) {
$nz [ 'align1' ] = 3 ;
$nz [ 'align2' ] = 1 ;
$nz [ 'align3' ] = 7 ;
} elseif ( floor ( $this -> u -> info [ 'align' ]) == 7 ) {
$nz [ 'align1' ] = 7 ;
$nz [ 'align2' ] = 1 ;
$nz [ 'align3' ] = 3 ;
} else {
$nz [ 'align1' ] = 1 ;
$nz [ 'align2' ] = 3 ;
$nz [ 'align3' ] = 7 ;
}
//
}
//
if ( $nz [ 'razdel' ] == 2 && isset ( $_POST [ 'commentfiz' ])) {
$nz [ 'comment' ] = htmlspecialchars ( $_POST [ 'commentfiz' ], null , 'cp1251' );
}
//
if ( $nz [ 'razdel' ] == 5 ) {
$nz [ 'maxplayers' ] = [
6 => 6 ,
8 => 8 ,
10 => 10 ,
12 => 12 ,
14 => 14 ,
16 => 16 ,
18 => 18 ,
20 => 20 ,
40 => 40 ,
];
if ( isset ( $nz [ 'players' ][ $_POST [ 'players' ]])) {
$nz [ 'maxplayers' ];
} else {
$nz [ 'maxplayers' ] = $nz [ 'maxplayers' ][ $_POST [ 'players' ]];
}
}
$dbvalues = [
$nz [ 'maxplayers' ],
$nz [ 'otmorozok' ],
$nz [ 'align1' ],
$nz [ 'align2' ],
$nz [ 'align3' ],
$nz [ 'teams' ],
$nz [ 'smert' ],
$nz [ 'noart' ],
$nz [ 'noeff' ],
$nz [ 'noatack' ],
$nz [ 'arand' ],
$nz [ 'kingfight' ],
$nz [ 'nobot' ],
$nz [ 'fastfight' ],
$nz [ 'noinc' ],
$bt2 ,
$nz [ 'time_create_zv' ],
$nz [ 'city' ],
$nz [ 'creator' ],
$nz [ 'type' ],
$nz [ 'time_start' ],
$nz [ 'timeout' ],
$nz [ 'min_lvl_1' ],
$nz [ 'min_lvl_2' ],
$nz [ 'max_lvl_1' ],
$nz [ 'max_lvl_2' ],
$nz [ 'tm1max' ],
$nz [ 'tm2max' ],
$nz [ 'travmaChance' ],
$nz [ 'invise' ],
$nz [ 'razdel' ],
$nz [ 'comment' ],
$nz [ 'money' ],
$nz [ 'withUser' ],
$nz [ 'tm1' ],
$nz [ 'tm2' ],
];
$dbquery = 'insert into zayvki (`maxplayers`,`otmorozok`,`align1`,`align2`,`align3`,`teams`,`smert`,`noart`,`noeff`,`noatack`,`arand`,`kingfight`,`nobot`,`fastfight`,`noinc`,`bot2`,`time`,`city`,`creator`,`type`,`time_start`,`timeout`,`min_lvl_1`,`min_lvl_2`,`max_lvl_1`,`max_lvl_2`,`tm1max`,`tm2max`,`travmaChance`,`invise`,`razdel`,`comment`,`money`,`withUser`,`tm1`,`tm2`) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)' ;
$ins = Db :: run ( $dbquery , $dbvalues );
$zid = Db :: lastInsertId ();
if ( $ins ) {
Db :: sql ( 'update stats set zv = ?, team = 1 where id = ?' , [ $zid , $this -> u -> info [ 'id' ]]);
$this -> u -> info [ 'zv' ] = $zid ;
$this -> error = 'Çàÿâêà íà áîé ïîäàíà' ;
} else {
$this -> error = 'Îøèáêà: Çàÿâêà íå ïîäàíà!' ;
}
}
}
//òðåíåðîâî÷íûé áîé
public function addBot ()
{
global $c ;
if (( $this -> u -> info [ 'level' ] <= $c [ 'bot_level' ] || $this -> u -> info [ 'admin' ] > 0 ) && $this -> u -> info [ 'exp' ] != 12499 ) {
$bot = $this -> u -> addNewbot ( $id [ 'id' ], null , $this -> u -> info [ 'id' ], null , true );
} else {
$bot = false ;
}
if ( ! $bot ) {
$this -> error = 'Áîè ñ ìîíñòðàìè, íåæèòüþ, êëîíàìè è ïðî÷èìè âóðäàëàêàìè ïðîâîäÿòñÿ òîëüêî äëÿ ïåðñîíàæåé ìëàäøå 8 óðîâíÿ...<br>Ñî ñòîðîíû ïîñìàòðèâàåò Îáùèé Âðàã, åìó ÿâíî ÷òî-òî íå ïîíðàâèëîñü...<br>' ;
} elseif ( $this -> u -> info [ 'hpNow' ] < $this -> u -> stats [ 'hpAll' ] / 100 * 30 && ( $r == 1 )) {
$this -> error = 'Âû åùå ñëèøêîì îñëàáëåíû ÷òîáû íà÷àòü íîâûé áîé' ;
$az = 0 ;
} elseif ( $this -> u -> info [ 'align' ] == 2 ) {
$this -> error = 'Õàîñíèêè íå ìîãóò ñðàæàòüñÿ çäåñü' ;
$az = 0 ;
} elseif ( ! $bot ) {
echo '<br><font color=red>Cannot start battle (no prototype "ND0Clone")</font><br>' ;
} else {
//ñîçäàåì ïîåäèíîê ñ áîòîì
$expB = 0 ;
$btl = [ 'smert' => 0 , 'noart' => 0 , 'noeff' => 0 , 'otmorozok' => 0 , 'noatack' => 0 , 'priz' => 0 , 'arand' => 0 , 'kingfight' => 0 , 'nobot' => 0 , 'fastfight' => 0 , 'players' => '' , 'timeout' => 60 , 'type' => 0 , 'invis' => 0 , 'noinc' => 0 , 'travmChance' => 0 , 'typeBattle' => 0 , 'addExp' => $expB , 'money' => 0 , 'money3' => 0 ];
$ins = mysql_query (
'INSERT INTO `battle` (`otmorozok`,`smert`,`noart`,`noeff`,`noatack`,`arand`,`kingfight`,`nobot`,`fastfight`,`clone`,`city`,`time_start`,`players`,`timeout`,`type`,`invis`,`noinc`,`travmChance`,`typeBattle`,`addExp`,`money`,`priz`) VALUES (
"' . $btl [ 'otmorozok' ] . '",
"' . $btl [ 'smert' ] . '",
"' . $btl [ 'noart' ] . '",
"' . $btl [ 'noeff' ] . '",
"' . $btl [ 'noatack' ] . '",
"' . $btl [ 'arand' ] . '",
"' . $btl [ 'kingfight' ] . '",
"' . $btl [ 'nobot' ] . '",
"' . $btl [ 'fastfight' ] . '",
"1",
"' . $this -> u -> info [ 'city' ] . '",
"' . time () . '",
"' . $btl [ 'players' ] . '",
"' . $btl [ 'timeout' ] . '",
"' . $btl [ 'type' ] . '",
"' . $btl [ 'invis' ] . '",
"' . $btl [ 'noinc' ] . '",
"' . $btl [ 'travmChance' ] . '",
"' . $btl [ 'typeBattle' ] . '",
"' . $btl [ 'addExp' ] . '",
"' . $btl [ 'money' ] . '",
"' . $btl [ 'priz' ] . '")'
);
if ( $ins ) {
$btl_id = mysql_insert_id ();
//îáíîâëÿåì äàííûå î ïîåäèíêå
$this -> u -> info [ 'enNow' ] -= $trEn ;
$upd2 = mysql_query (
'UPDATE `users` SET `battle`="' . $btl_id . '" WHERE `id` = "' . $this -> u -> info [ 'id' ] . '" OR `id` = "' . $bot . '" LIMIT 2'
);
mysql_query (
'UPDATE `stats` SET `team`="1",`enNow` = "' . $this -> u -> info [ 'enNow' ] . '" WHERE `id` = "' . $this -> u -> info [ 'id' ] . '" LIMIT 1'
);
mysql_query (
'UPDATE `stats` SET `hpNow` = "' . $this -> u -> stats [ 'hpAll' ] . '",`team`="2" WHERE `id` = "' . $bot . '" LIMIT 1'
);
//îáíîâëÿåì çàÿâêó, ÷òî áîé íà÷àëñÿ
$this -> u -> info [ 'battle' ] = $btl_id ;
//Îòïðàâëÿåì ñîîáùåíèå â ÷àò âñåì áîéöàì
mysql_query (
" INSERT INTO `chat` (`city`,`room`,`to`,`time`,`type`,`toChat`,`sound`) VALUES (' " . $this -> u -> info [ 'city' ] . " ',' " . $this -> u -> info [ 'room' ] . " ',' " . $this -> u -> info [ 'login' ] . " ',' " . time (
) . " ','11','0','117') "
);
die ( '<script>location="main.php?battle_id=' . $btl_id . '";</script>' );
} else {
$this -> error = 'Cannot start battle (no prototype "ABD0Clone")' ;
}
}
}
//òðåíåðîâî÷íûé áîé
public function addBotClone ( $uid )
{
if ( $this -> u -> info [ 'online' ] > 0 ) {
$bot = $this -> u -> addNewbot ( $id [ 'id' ], null , $uid , null , false );
} else {
$bot = false ;
}
if ( ! $bot ) {
$this -> error = 'Íå ïîëó÷èëîñü íà÷àòü ïîåäèíîê' ;
} elseif ( $this -> u -> info [ 'hpNow' ] < $this -> u -> stats [ 'hpAll' ] / 100 * 30 && ( $r >= 1 || $r <= 3 )) {
$this -> error = 'Âû åùå ñëèøêîì îñëàáëåíû ÷òîáû íà÷àòü íîâûé áîé' ;
$az = 0 ;
} elseif ( $this -> u -> info [ 'align' ] == 2 ) {
$this -> error = 'Õàîñíèêè íå ìîãóò ñðàæàòüñÿ çäåñü' ;
$az = 0 ;
} elseif ( ! $bot ) {
echo '<br><font color=red>Cannot start battle (no prototype "ND0Clone")</font><br>' ;
} else {
//ñîçäàåì ïîåäèíîê ñ áîòîì
$expB = 0 ;
$btl = [ 'priz' => 0 , 'smert' => 0 , 'noart' => 0 , 'noeff' => 0 , 'noatack' => 0 , 'arand' => 0 , 'kingfight' => 0 , 'nobot' => 0 , 'fastfight' => 0 , 'players' => '' , 'timeout' => 60 , 'type' => 0 , 'invis' => 0 , 'noinc' => 0 , 'travmChance' => 0 , 'typeBattle' => 0 , 'addExp' => $expB , 'money' => 0 , 'money3' => 0 ];
$ins = mysql_query (
'INSERT INTO `battle` (`otmorozok`,`priz`,`smert`,`noart`,`noeff`,`noatack`,`arand`,`kingfight`,`nobot`,`fastfight`,`clone`,`city`,`time_start`,`players`,`timeout`,`type`,`invis`,`noinc`,`travmChance`,`typeBattle`,`addExp`,`money`) VALUES (
"' . $btl [ 'otmorozok' ] . '",
"' . $btl [ 'priz' ] . '",
"' . $btl [ 'smert' ] . '",
"' . $btl [ 'noart' ] . '",
"' . $btl [ 'noeff' ] . '",
"' . $btl [ 'noatack' ] . '",
"' . $btl [ 'arand' ] . '",
"' . $btl [ 'kingfight' ] . '",
"' . $btl [ 'nobot' ] . '",
"' . $btl [ 'fastfight' ] . '",
"1",
"' . $this -> u -> info [ 'city' ] . '",
"' . time () . '",
"' . $btl [ 'players' ] . '",
"' . $btl [ 'timeout' ] . '",
"564",
"' . $btl [ 'invis' ] . '",
"' . $btl [ 'noinc' ] . '",
"' . $btl [ 'travmChance' ] . '",
"' . $btl [ 'typeBattle' ] . '",
"' . $btl [ 'addExp' ] . '",
"' . $btl [ 'money' ] . '")'
);
if ( $ins ) {
$btl_id = mysql_insert_id ();
//îáíîâëÿåì äàííûå î ïîåäèíêå
$this -> u -> info [ 'enNow' ] -= $trEn ;
$upd2 = mysql_query (
'UPDATE `users` SET `battle`="' . $btl_id . '" WHERE `id` = "' . $this -> u -> info [ 'id' ] . '" OR `id` = "' . $bot . '" LIMIT 2'
);
mysql_query (
'UPDATE `stats` SET `team`="1",`enNow` = "' . $this -> u -> info [ 'enNow' ] . '" WHERE `id` = "' . $this -> u -> info [ 'id' ] . '" LIMIT 1'
);
mysql_query ( 'UPDATE `stats` SET `team`="2" WHERE `id` = "' . $bot . '" LIMIT 1' );
//Åñëè áîé êóëà÷íûé, òî ñíèìàåì âåùè
if ( $btl [ 'type' ] == 1 ) {
mysql_query (
'UPDATE `items_users` SET `inOdet`="0" WHERE `uid` = "' . $this -> u -> info [ 'id' ] . '" AND `inOdet`!=0'
);
mysql_query ( 'UPDATE `items_users` SET `inOdet`="0" WHERE `uid` = "' . $bot . '" AND `inOdet`!=0' );
}
//îáíîâëÿåì çàÿâêó, ÷òî áîé íà÷àëñÿ
$this -> u -> info [ 'battle' ] = $btl_id ;
//Îòïðàâëÿåì ñîîáùåíèå â ÷àò âñåì áîéöàì
mysql_query (
" INSERT INTO `chat` (`city`,`room`,`to`,`time`,`type`,`toChat`,`sound`) VALUES (' " . $this -> u -> info [ 'city' ] . " ',' " . $this -> u -> info [ 'room' ] . " ',' " . $this -> u -> info [ 'login' ] . " ',' " . time (
) . " ','11','0','117') "
);
die ( '<script>location="main.php?battle_id=' . $btl_id . '";</script>' );
} else {
$this -> error = 'Cannot start battle (no prototype "ABD0Clone")' ;
}
}
}
public function startBattle ( $id , $vars = null )
{
$z = mysql_fetch_array (
mysql_query (
'SELECT * FROM `zayvki` WHERE `id`="' . $id . '" AND `start` = "0" AND `cancel` = "0" AND (`time` > "' . ( time (
) - 60 * 60 * 2 ) . '" OR `razdel` > 3) LIMIT 1'
)
);
if ( $z [ 'type' ] == 33 ) {
sleep ( 5 );
}
mysql_query ( 'START TRANSACTION' );
mysql_query (
" LOCK TABLES
`aaa_monsters` WRITE,
`actions` WRITE,
`bank` WRITE,
`battle` WRITE,
`battle_act` WRITE,
`battle_actions` WRITE,
`battle_cache` WRITE,
`battle_end` WRITE,
`battle_last` WRITE,
`battle_logs` WRITE,
`battle_logs_save` WRITE,
`battle_stat` WRITE,
`battle_users` WRITE,
`bs_actions` WRITE,
`bs_items` WRITE,
`bs_items_use` WRITE,
`bs_logs` WRITE,
`bs_map` WRITE,
`bs_statistic` WRITE,
`bs_trap` WRITE,
`bs_turnirs` WRITE,
`bs_zv` WRITE,
`clan` WRITE,
`clan_wars` WRITE,
`dungeon_actions` WRITE,
`dungeon_bots` WRITE,
`dungeon_items` WRITE,
`dungeon_map` WRITE,
`dungeon_now` WRITE,
`dungeon_zv` WRITE,
`eff_main` WRITE,
`eff_users` WRITE,
`items_img` WRITE,
`items_local` WRITE,
`items_main` WRITE,
`items_main_data` WRITE,
`items_users` WRITE,
`izlom` WRITE,
`izlom_rating` WRITE,
`laba_act` WRITE,
`laba_itm` WRITE,
`laba_map` WRITE,
`laba_now` WRITE,
`laba_obj` WRITE,
`levels` WRITE,
`levels_animal` WRITE,
`online` WRITE,
`priems` WRITE,
`quests` WRITE,
`reimage` WRITE,
`reg` WRITE,
`stats` WRITE,
`test_bot` WRITE,
`turnirs` WRITE,
`users` WRITE,
`users_animal` WRITE,
`user_ico` WRITE,
`users_twink` WRITE,
`zayvki` WRITE; "
);
$z = mysql_fetch_array (
mysql_query (
'SELECT * FROM `zayvki` WHERE `id`="' . $id . '" AND `start` = "0" AND `cancel` = "0" AND (`time` > "' . ( time (
) - 60 * 60 * 2 ) . '" OR `razdel` > 3) LIMIT 1'
)
);
if ( isset ( $z [ 'id' ])) {
$vars = explode ( '|-|' , $vars );
if ( $z [ 'razdel' ] >= 4 && $z [ 'razdel' ] <= 5 ) {
//íà÷àëî ãðóïïîâîãî èëè õàîòè÷íîãî áîÿ
$btl_id = 0 ;
//$txtz = '';
if ( $z [ 'razdel' ] == 5 ) {
$sp = mysql_query (
'SELECT `s`.`id`,`s`.`team`,`s`.`upLevel`,`s`.`btl_cof`,`s`.`exp` FROM `stats` AS `s` LEFT JOIN `users` AS `u` ON `u`.`id` = `s`.`id` WHERE `s`.`zv` = "' . $z [ 'id' ] . '" ORDER BY `s`.`btl_cof` DESC LIMIT 200'
);
$tsr = rand ( 0 , 100 );
if ( $tsr >= 70 && $z [ 'type' ] != 33 ) {
$ii = - 1 ;
while ( $pl = mysql_fetch_array ( $sp )) {
$ii ++ ;
$pld [ $ii ] = $pl ;
}
$yy = $ii ;
$jj = $ii ; //ñ÷åò÷èê c êîíöà
$ii = 0 ;
$teamA = 0 ;
$teamAbtlconf = 0 ;
$teamB = 0 ;
$teamBbtlconf = 0 ;
while ( $yy > - 1 ) {
if ( $ii == 0 || $teamAbtlconf <= $teamBbtlconf ) {
if ( isset ( $pld [ $ii ])) {
$teamnew = 1 ;
$teamAbtlconf = $teamAbtlconf + $pld [ $ii ][ 'btl_cof' ];
$teamA ++ ;
$idi = $ii ;
mysql_query (
'UPDATE `stats` SET `team` = "' . $teamnew . '" WHERE `id` = "' . $pld [ $idi ][ 'id' ] . '" LIMIT 1'
);
}
$ii ++ ;
} elseif (( $teamB - $teamA ) <= 0 ) {
if ( isset ( $pld [ $ii ])) {
$teamnew = 2 ;
$teamBbtlconf = $teamBbtlconf + $pld [ $ii ][ 'btl_cof' ];
$teamB ++ ;
$idi = $ii ;
mysql_query (
'UPDATE `stats` SET `team` = "' . $teamnew . '" WHERE `id` = "' . $pld [ $idi ][ 'id' ] . '" LIMIT 1'
);
}
$ii ++ ;
} else {
if ( isset ( $pld [ $ii ])) {
$teamnew = 1 ;
$teamAbtlconf = $teamAbtlconf + $pld [ $jj ][ 'btl_cof' ];
$teamA ++ ;
$idi = $jj ;
mysql_query (
'UPDATE `stats` SET `team` = "' . $teamnew . '" WHERE `id` = "' . $pld [ $idi ][ 'id' ] . '" LIMIT 1'
);
}
$jj -- ;
}
$yy -- ;
}
} else {
$balansteamA = 0 ;
$balansteamB = 0 ;
while ( $pl = mysql_fetch_array ( $sp )) {
$teamnew = rand ( 1 , 2 );
if ( $balansteamA != $balansteamB ) {
if ( $balansteamA > $balansteamB ) {
$teamnew = 2 ;
} else {
$teamnew = 1 ;
}
}
mysql_query (
'UPDATE `stats` SET `team` = "' . $teamnew . '" WHERE `id` = "' . $pl [ 'id' ] . '" LIMIT 1'
);
if ( $teamnew == 1 ) {
$balansteamA += 1 ;
} else {
$balansteamB += 1 ;
}
}
}
unset ( $sp , $pl );
}
$btl = [
'otmorozok' => $z [ 'otmorozok' ],
'priz' => $z [ 'priz' ], 'smert' => $z [ 'smert' ], 'noart' => $z [ 'noart' ], 'noeff' => $z [ 'noeff' ], 'noatack' => $z [ 'noatack' ], 'arand' => $z [ 'arand' ], 'kingfight' => $z [ 'kingfight' ],
'players' => '' , 'timeout' => $z [ 'timeout' ], 'type' => $z [ 'type' ], 'travmChance' => $z [ 'travmChance' ], 'invis' => $z [ 'invise' ], 'noinc' => 0 , 'typeBattle' => 0 , 'addExp' => $z [ 'exp' ], 'money' => 0 , 'money3' => 0 ];
//ÒÓÒ ñòàðò áîÿ
$ins = mysql_query (
'INSERT INTO `battle` (`otmorozok`,`priz`,`smert`,`noart`,`noeff`,`noatack`,`arand`,`kingfight`,`nobot`,`fastfight`,`razdel`,`city`,`time_start`,`players`,`timeout`,`type`,`invis`,`noinc`,`travmChance`,`typeBattle`,`addExp`,`money`) VALUES (
"' . $z [ 'otmorozok' ] . '",
"' . $z [ 'priz' ] . '",
"' . $z [ 'smert' ] . '",
"' . $z [ 'noart' ] . '",
"' . $z [ 'noeff' ] . '",
"' . $z [ 'noatack' ] . '",
"' . $z [ 'arand' ] . '",
"' . $z [ 'kingfight' ] . '",
"' . $z [ 'nobot' ] . '",
"' . $z [ 'fastfight' ] . '",
"' . $z [ 'razdel' ] . '",
"' . $z [ 'city' ] . '",
"' . time () . '",
"' . mysql_real_escape_string ( $btl [ 'players' ]) . '",
"' . mysql_real_escape_string ( $btl [ 'timeout' ]) . '",
"' . mysql_real_escape_string ( $btl [ 'type' ]) . '",
"' . mysql_real_escape_string ( $btl [ 'invis' ]) . '",
"' . mysql_real_escape_string ( $btl [ 'noinc' ]) . '",
"' . mysql_real_escape_string ( $z [ 'travmChance' ]) . '",
"' . mysql_real_escape_string ( $btl [ 'typeBattle' ]) . '",
"' . mysql_real_escape_string ( $btl [ 'addExp' ]) . '",
"' . mysql_real_escape_string ( $btl [ 'money' ]) . '")'
);
$btl_id = mysql_insert_id ();
if ( $btl_id > 0 ) {
//Åñëè áîé êóëà÷íûé, òî ñíèìàåì âåùè
if ( $z [ 'type' ] == 1 ) {
$sp = mysql_query ( 'SELECT `id` FROM `stats` WHERE `zv` = "' . $z [ 'id' ] . '"' );
while ( $pl = mysql_fetch_array ( $sp )) {
mysql_query (
'UPDATE `items_users` SET `inOdet`="0" WHERE `uid` = "' . $pl [ 'id' ] . '" AND `inOdet`!=0'
);
}
} elseif ( $z [ 'type' ] == 51 ) { //Ïîåäèíîê áåç ÅÊÐ âåùåé
$sp = mysql_query ( 'SELECT `id` FROM `stats` WHERE `zv` = "' . $z [ 'id' ] . '"' );
while ( $pl = mysql_fetch_array ( $sp )) {
mysql_query (
'UPDATE `items_users` SET `inOdet`="0" WHERE `uid` = "' . $pl [ 'id' ] . '" AND `2price` > 0'
);
}
}
//îáíîâëÿåì äàííûå î ïîåäèíêå
$upd1 = mysql_query ( 'UPDATE `stats` SET `zv`="0" WHERE `zv` = "' . $z [ 'id' ] . '"' );
$upd2 = mysql_query ( 'UPDATE `users` SET `battle`="' . $btl_id . '" WHERE ' . $vars [ 1 ] . '' );
//îáíîâëÿåì çàÿâêó, ÷òî áîé íà÷àëñÿ
$upd = mysql_query (
'UPDATE `zayvki` SET `start` = "' . time (
) . '",`btl_id` = "' . $btl_id . '" WHERE `id` = "' . $z [ 'id' ] . '" LIMIT 1'
);
$this -> u -> info [ 'battle' ] = $btl_id ;
//Îòïðàâëÿåì ñîîáùåíèå â ÷àò âñåì áîéöàì
mysql_query (
" INSERT INTO `chat` (`city`,`room`,`to`,`time`,`type`,`toChat`,`sound`) VALUES (' " . $this -> u -> info [ 'city' ] . " ','-1',' " . $vars [ 0 ] . " ',' " . time (
) . " ','11','0','117') "
);
}
} elseif ( $z [ 'razdel' ] >= 1 && $z [ 'razdel' ] <= 3 ) {
//íà÷àëî PvP
if ( $this -> u -> info [ 'team' ] == 1 && $this -> u -> info [ 'zv' ] == $z [ 'id' ]) {
$zu = mysql_fetch_array (
mysql_query ( 'SELECT * FROM `stats` WHERE `zv`="' . $z [ 'id' ] . '" AND `team` = "2" LIMIT 1' )
);
if ( isset ( $zu [ 'id' ])) {
$uz = mysql_fetch_array (
mysql_query ( 'SELECT `login`,`money` FROM `users` WHERE `id`="' . $zu [ 'id' ] . '" LIMIT 1' )
);
if ( $zu [ 'clone' ] > 0 ) {
//îáíîâëÿåì êëîíà
$bot = $this -> u -> addNewbot ( 1 , null , $zu [ 'clone' ], null , true );
if ( $bot > 0 ) {
mysql_query ( 'DELETE FROM `users` WHERE `id` = "' . $zu [ 'id' ] . '" LIMIT 1' );
mysql_query ( 'DELETE FROM `stats` WHERE `id` = "' . $zu [ 'id' ] . '" LIMIT 1' );
mysql_query ( 'DELETE FROM `items_users` WHERE `uid` = "' . $zu [ 'id' ] . '" LIMIT 100' );
mysql_query ( 'DELETE FROM `eff_users` WHERE `uid` = "' . $zu [ 'id' ] . '" LIMIT 100' );
mysql_query (
'UPDATE `stats` SET `zv` = "' . $z [ 'id' ] . '",`team` = 2 WHERE `id` = "' . $bot . '" LIMIT 1'
);
$zu = mysql_fetch_array (
mysql_query (
'SELECT * FROM `stats` WHERE `zv`="' . $z [ 'id' ] . '" AND `team` = "2" LIMIT 1'
)
);
$uz = mysql_fetch_array (
mysql_query (
'SELECT `login`,`money` FROM `users` WHERE `id`="' . $zu [ 'id' ] . '" LIMIT 1'
)
);
}
}
//ñîçäàåì ïîåäèíîê
$btl_id = 0 ;
if ( $uz [ 'money' ] < $z [ 'money' ] || $this -> u -> info [ 'money' ] < $z [ 'money' ]) {
$z [ 'money' ] = 0 ;
}
$btl = [ 'otmorozok' => $z [ 'otmorozok' ], 'players' => '' , 'timeout' => $z [ 'timeout' ], 'type' => $z [ 'type' ], 'travmChance' => $z [ 'travmChance' ], 'invis' => 0 , 'noinc' => 0 , 'typeBattle' => 0 , 'addExp' => 0 , 'money' => round (
$z [ 'money' ], 2
), 'money3' => 0 ];
$ins = mysql_query (
'INSERT INTO `battle` (`otmorozok`,`smert`,`noart`,`noeff`,`noatack`,`arand`,`kingfight`,`nobot`,`fastfight`,`city`,`time_start`,`players`,`timeout`,`type`,`invis`,`noinc`,`travmChance`,`typeBattle`,`addExp`,`money`) VALUES (
"' . mysql_real_escape_string ( $btl [ 'otmorozok' ]) . '",
"' . mysql_real_escape_string ( $btl [ 'smert' ]) . '",
"' . mysql_real_escape_string ( $btl [ 'noart' ]) . '",
"' . mysql_real_escape_string ( $btl [ 'noeff' ]) . '",
"' . mysql_real_escape_string ( $btl [ 'noatack' ]) . '",
"' . mysql_real_escape_string ( $btl [ 'arand' ]) . '",
"' . mysql_real_escape_string ( $btl [ 'kingfight' ]) . '",
"' . mysql_real_escape_string ( $btl [ 'nobot' ]) . '",
"' . mysql_real_escape_string ( $btl [ 'fastfight' ]) . '",
"' . $this -> u -> info [ 'city' ] . '",
"' . time () . '",
"' . mysql_real_escape_string ( $btl [ 'players' ]) . '",
"' . mysql_real_escape_string ( $btl [ 'timeout' ]) . '",
"' . mysql_real_escape_string ( $btl [ 'type' ]) . '",
"' . mysql_real_escape_string ( $btl [ 'invis' ]) . '",
"' . mysql_real_escape_string ( $btl [ 'noinc' ]) . '",
"' . mysql_real_escape_string ( $btl [ 'travmChance' ]) . '",
"' . mysql_real_escape_string ( $btl [ 'typeBattle' ]) . '",
"' . mysql_real_escape_string ( $btl [ 'addExp' ]) . '",
"' . mysql_real_escape_string ( $btl [ 'money' ]) . '")'
);
$btl_id = mysql_insert_id ();
if ( $ins ) {
//îáíîâëÿåì äàííûå î ïîåäèíêå
$upd1 = mysql_query ( 'UPDATE `stats` SET `zv`="0" WHERE `zv` = "' . $z [ 'id' ] . '" LIMIT 2' );
$upd2 = mysql_query (
'UPDATE `users` SET `battle`="' . $btl_id . '" WHERE `id` = "' . $this -> u -> info [ 'id' ] . '" OR `id` = "' . $zu [ 'id' ] . '" LIMIT 2'
);
//Åñëè áîé êóëà÷íûé, òî ñíèìàåì âåùè
if ( $z [ 'type' ] == 1 ) {
mysql_query (
'UPDATE `items_users` SET `inOdet`="0" WHERE `uid` = "' . $this -> u -> info [ 'id' ] . '" AND `inOdet`!=0'
);
mysql_query (
'UPDATE `items_users` SET `inOdet`="0" WHERE `uid` = "' . $zu [ 'id' ] . '" AND `inOdet`!=0'
);
}
//îáíîâëÿåì çàÿâêó, ÷òî áîé íà÷àëñÿ
$upd = mysql_query (
'UPDATE `zayvki` SET `start` = "' . time (
) . '",`btl_id` = "' . $btl_id . '" WHERE `id` = "' . $z [ 'id' ] . '" LIMIT 1'
);
$this -> u -> info [ 'battle' ] = $btl_id ;
//Îòïðàâëÿåì ñîîáùåíèå â ÷àò âñåì áîéöàì
mysql_query (
" INSERT INTO `chat` (`city`,`room`,`to`,`time`,`type`,`toChat`,`sound`) VALUES (' " . $this -> u -> info [ 'city' ] . " ',' " . $this -> u -> info [ 'room' ] . " ',' " . $uz [ 'login' ] . " ',' " . time (
) . " ','11','0','117') "
);
die ( '<script>location="main.php?battle_id=' . $btl_id . '";</script>' );
} else {
$this -> error = 'Îøèáêà ñîçäàíèÿ áèòâû.' ;
}
} else {
$this -> error = 'Âû íå ìîæåòå íà÷àòü ïîåäèíîê, âàøó çàÿâêó íèêòî íå ïðèíÿë.' ;
}
} else {
$this -> error = 'Âû íå ìîæåòå íà÷àòü ïîåäèíîê.' ;
}
}
}
mysql_query ( 'UNLOCK TABLES' );
mysql_query ( 'COMMIT' );
}
public function cancelzv ()
{
global $zi ;
if ( isset ( $_GET [ 'cancelzv' ], $zi [ 'id' ]) && $zi [ 'razdel' ] >= 1 && $zi [ 'razdel' ] <= 3 ) {
$enemy = mysql_fetch_array (
mysql_query (
'SELECT `u`.*,`st`.* FROM `stats` AS `st` LEFT JOIN `users` AS `u` ON (`st`.`id` = `u`.`id`) WHERE `st`.`zv`="' . $zi [ 'id' ] . '" AND `st`.`team` = "2" LIMIT 1'
)
);
if ( isset ( $enemy [ 'id' ])) {
if ( $this -> u -> info [ 'team' ] == 1 ) {
//âûêèäûâàåì èç çàÿâêè + ïèøåì ñîîáùåíèå â ÷àò
$upd = mysql_query (
'UPDATE `stats` SET `zv` = "0",`team`="0" WHERE `id` = "' . $enemy [ 'id' ] . '" LIMIT 1'
);
if ( $upd ) {
mysql_query ( 'UPDATE `users` SET `otk` = (`otk` + 1) WHERE `id` = "' . $zi [ 'id' ] . '" LIMIT 1' );
$this -> error = 'Âû îòêàçàëè ' . $enemy [ 'login' ] . ' â ïîåäèíêå' ;
//îòïðàâëÿåì ñîîáùåíèå â ÷àò
$sa = '' ;
if ( $this -> u -> info [ 'sex' ] == 2 ) {
$sa = 'à' ;
}
$text = ' [login:' . $this -> u -> info [ 'login' ] . '] îòêàçàë' . $sa . ' âàì â ïîåäèíêå.' ;
mysql_query (
" INSERT INTO `chat` (`new`,`city`,`room`,`login`,`to`,`text`,`time`,`type`,`toChat`) VALUES ('1',' " . $enemy [ 'city' ] . " ','','',' " . $enemy [ 'login' ] . " ',' " . $text . " ',' " . time (
) . " ','6','0') "
);
}
} elseif ( $this -> u -> info [ 'id' ] == $enemy [ 'id' ] && $zi [ 'start' ] == 0 ) {
//âûêèäûâàåì èç çàÿâêè + ïèøåì ñîîáùåíèå â ÷àò
$upd = mysql_query (
'UPDATE `stats` SET `zv` = "0",`team`="0" WHERE `id` = "' . $enemy [ 'id' ] . '" LIMIT 1'
);
if ( $upd ) {
$uz = mysql_fetch_array (
mysql_query (
'SELECT `u`.`sex`,`u`.`login`,`u`.`city`,`u`.`room`,`u`.`id`,`st`.`zv`,`st`.`team` FROM `stats` AS `st` LEFT JOIN `users` AS `u` ON (`st`.`id` = `u`.`id`) WHERE `st`.`zv`="' . $zi [ 'id' ] . '" AND `st`.`team` = "1" LIMIT 1'
)
);
if ( isset ( $uz [ 'id' ])) {
$this -> error = 'Âû îòîçâàëè ñâîé çàïðîñ íà áîé.' ;
//îòïðàâëÿåì ñîîáùåíèå â ÷àò
$sa = '' ;
if ( $this -> u -> info [ 'sex' ] == 2 ) {
$sa = 'à' ;
}
$text = ' [login:' . $this -> u -> info [ 'login' ] . '] îòîçâàë' . $sa . ' ñâîé çàïðîñ íà áîé.' ;
mysql_query (
" INSERT INTO `chat` (`new`,`city`,`room`,`login`,`to`,`text`,`time`,`type`,`toChat`) VALUES ('1',' " . $uz [ 'city' ] . " ','','',' " . $uz [ 'login' ] . " ',' " . $text . " ',' " . time (
) . " ','6','0') "
);
}
$this -> u -> info [ 'zv' ] = 0 ;
$this -> u -> info [ 'team' ] = 0 ;
}
}
if ( $enemy [ 'bot' ] == 1 ) {
//óäàëÿåì áîòà , ïðåäìåòû è ýôôåêòû
mysql_query ( 'DELETE FROM `users` WHERE `id` = "' . $enemy [ 'id' ] . '" LIMIT 1' );
mysql_query ( 'DELETE FROM `stats` WHERE `id` = "' . $enemy [ 'id' ] . '" LIMIT 1' );
mysql_query ( 'DELETE FROM `items_users` WHERE `uid` = "' . $enemy [ 'id' ] . '" LIMIT 100' );
mysql_query ( 'DELETE FROM `eff_users` WHERE `uid` = "' . $enemy [ 'id' ] . '" LIMIT 100' );
}
} else {
if ( $this -> u -> info [ 'team' ] == 1 ) {
//óäàëÿåì çàÿâêó íà áîé
$upd = mysql_query (
'UPDATE `zayvki` SET `cancel` = "' . time () . '" WHERE `id` = "' . $zi [ 'id' ] . '" LIMIT 1'
);
if ( $upd ) {
mysql_query (
'UPDATE `stats` SET `zv` = "0" WHERE `id` = "' . $this -> u -> info [ 'id' ] . '" LIMIT 1'
);
$this -> error = 'Âû îòîçâàëè ñâîþ çàÿâêó' ;
$zi = false ;
$this -> u -> info [ 'zv' ] = 0 ;
}
}
}
}
}
public function see ()
{
global $c , $code , $zi ;
if ( isset ( $_GET [ 'r' ]) && (( ! isset ( $_GET [ 'new_group' ]) && ! isset ( $_POST [ 'groupClick' ])) || isset ( $zi [ 'id' ]))) {
$r = round ( intval ( $_GET [ 'r' ]));
if ( in_array ( $r , [ 1 , 4 , 5 , 8 , 10 ])) {
$this -> zv_see = 1 ;
if ( $this -> u -> room [ 'FR' ] == 0 && $this -> u -> room [ 'zvsee' ] == 0 ) {
echo '<br><br><br><b><font color="black"><center>Ïîäàòü çàÿâêó ìîæíî òîëüêî â êîìíàòàõ áîéöîâñêîãî êëóáà</center></font></b>' ;
$this -> zv_see = 0 ;
} elseif ( $r == 1 && $this -> u -> info [ 'level' ] > 0 ) {
echo '<br><br><br><b><font color="black"><center>Âû óæå âûðîñëè èç ïîëçóíêîâ ;)</center></font></b>' ;
$this -> zv_see = 0 ;
} elseif ( $r > 1 && $r < 6 && $this -> u -> info [ 'level' ] < 1 ) {
echo '<br><br><br><b><font color="black"><center>Âû åùå íå âûðîñëè èç ïîëçóíêîâ ;)</center></font></b>' ;
$this -> zv_see = 0 ;
} elseif ( $r > 3 && $r < 6 && $this -> u -> info [ 'level' ] < 2 ) {
echo '<br><br><br><b><font color="black"><center>Â ' . $this -> z1n [ $r ] . ' áîè òîëüêî ñî âòîðîãî óðîâíÿ.</center></font></b>' ;
$this -> zv_see = 0 ;
} elseif ( $r == 8 && $this -> u -> info [ 'level' ] < 1 ) {
echo '<br><br><br><b><font color="black"><center>Ïðèíèìàòü ó÷àñòèå â òóðíèðå òîëüêî ñ ïåðâîãî óðîâíÿ.</center></font></b>' ;
$this -> zv_see = 0 ;
} elseif ( $r == 10 ) {
2022-12-30 21:03:37 +02:00
if ( \Insallah\Tournament :: IS_ENABLED ) {
/** Òóðíèðû by Insallah*/
# Çàùèòà îò F5
if ( ! isset ( $_SESSION [ 'bypass' ])) {
$_SESSION [ 'bypass' ] = mt_rand ();
2022-12-19 22:22:19 +02:00
}
2022-12-30 21:03:37 +02:00
if ( $_SERVER [ 'REQUEST_METHOD' ] === 'POST' && $_POST [ 'key' ] == $_SESSION [ 'bypass' ]) {
unset ( $_SESSION [ 'bypass' ]);
if ( array_key_exists ( 'tournament_start' , $_POST )) {
( new \Insallah\Tournament ()) -> join ( $this -> u -> info [ 'id' ]);
}
}
##
# Ôîðìèðóåì ñïèñîê èäóùèõ òóðíèðîâ.
$tournamentsList = Db :: getRows ( 'select * from tournaments' );
$tournaments = '<ul>' ;
foreach ( $tournamentsList as $tournament ) {
$time = $tournament [ 'start_time' ] === - 1 ? 'Òóðíèð óæå íà÷àëñÿ!' : date (
'G:i' , $tournament [ 'start_time' ]
);
$tournament_members_id = \Insallah\TournamentModel :: getFreeFighters ( $tournament [ 'tid' ]);
$members = [];
foreach ( $tournament_members_id as $member ) {
$members [] = \Insallah\TournamentModel :: uidToLogin ( $member );
}
$tournaments .= sprintf (
" <li>Òóðíèð äëÿ %d óðîâíåé.<br>Âðåìÿ ïîäà÷è çàÿâêè: %s<br>Ó÷àñòíèêè: %s</li> " ,
$tournament [ 'tid' ], $time , implode ( ', ' , $members )
);
}
$tournaments .= '</ul>' ;
?>
<div>
<strong style="color: red;">Âíèìàíèå!</strong>
<ul>
<li style="color: blue;"> ñëó÷àå ñîçäàíèÿ ëèáî ïðèñîåäèíåíèÿ ê Òóðíèðó, ïîêèíóòü åãî -
<u>íåâîçìîæíî</u>!
</li>
<?php if (\Insallah\TournamentModel::isEkrOverpriced($this->u->info['id'])): ?>
<li>Ñòîèìîñòü ïðåäìåòîâ, îäåòûõ íà âàñ íå äîëæíà
ïðåâûøàòü <?= \Insallah\Tournament::ekrOverpriceFormula(
$this->u->info['level']
) ?> åâðîêðåäèòîâ.
</li>
<?php endif; ?>
<?php if ($this->u->info['exp'] < \Insallah\Tournament::MIN_EXP): ?>
<li>Ó âàñ äîëæíî áûòü íå ìåíåå <?= \Insallah\Tournament::MIN_EXP ?> îïûòà.</li>
<?php endif; ?>
<li style="color: blue;">Òóðíèð íà÷í¸òñÿ, êîãäà â çàÿâêå
íàáåð¸òñÿ <?= \Insallah\Tournament::START_TOURNAMENT ?> ÷åëîâåê.
</li>
<li style="color: blue;">Èãðîêè çàíÿâøèå 1, 2 è 3 ìåñòà ïîëó÷àò 25, 15, 5 Ðåëèêâèé
Àíãåëà, à òàê æå çàäåðæêè íà ó÷àñòèå â òóðíèðå 12 ÷àñîâ, 6 è 3 ÷àñà ñîîòâåòñòâåííî!
</li>
</ul>
</div>
<?php if (!empty($tournamentsList)): ?>
<div>
<strong>Àêòèâíûå òóðíèðû.</strong><br>
<?= $tournaments ?>
</div>
<?php endif; ?>
<?php if (!\Insallah\TournamentModel::getTournamentIdByUserId(
$this->u->info['id']
) || !\Insallah\TournamentModel::isStarted($this->u->info['level'])): ?>
<form method="post">
<input type="submit" name="tournament_start" value="Ïðèíÿòü ó÷àñòèå â òóðíèðå">
<input type="hidden" name="key" value="<?= $_SESSION['bypass'] ?>">
</form>
<?php else: ?>
Âû ó÷àâñòâóåòå.
<?php endif; ?>
<?php
} else {
?>
<div>
<strong style="color: crimson;">Â äàííûé ìîìåíò òóðíèðû íå ïðîâîäÿòñÿ!</strong>
</div>
<?php
2022-12-19 22:22:19 +02:00
}
/** Êîíåö òóðíèðîâ îò Insallah. */
} elseif ($this->u->info['zv'] > 0 && $this->u->info['battle'] == 0 && $r != 8) {
if ($zi['razdel'] == 1 || $zi['razdel'] == 2 || $zi['razdel'] == 3) {
echo '
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top">';
if ($this->u->info['team'] == 1) {
$uz = mysql_fetch_array(
mysql_query(
'SELECT `u`.`sex`,`u`.`id`,`u`.`login`,`u`.`align`,`u`.`clan`,`u`.`admin`,`u`.`city`,`u`.`room`,`u`.`online`,`u`.`level`,`u`.`battle`,`u`.`money`,`st`.* FROM `stats` AS `st` LEFT JOIN `users` AS `u` ON (`st`.`id` = `u`.`id`) WHERE `st`.`zv`="' . $zi['id'] . '" AND `st`.`team`="2" LIMIT 1'
)
);
if (!isset($uz['id'])) {
//åñëè íèêòî íå ïðèíÿë
echo '<div style="float:left;"><div style="float:left;">Âû óæå ïîäàëè çàÿâêó íà áîé <INPUT class="btn btn-danger" onClick="location=\'main.php?zayvka=1&r=' . $_GET['r'] . '&rnd=' . $code . '&cancelzv\';" TYPE=submit name=close value="Îòîçâàòü çàÿâêó"></div>';
} else {
//åñëè êòî-òî ïðèíÿë
$sa = '';
if ($uz['sex'] == 2) {
$sa = 'à';
}
echo '<script> zv_Priem = ' . (0 + $uz['id']) . ';</script><font color="red"><b>Âàøó çàÿâêó ïðèíÿë' . $sa . ' ' . $ca . '</font></b> ' . $this->u->microLogin(
$uz['id'], 1
) . '</a><font color="red"><b> Õîòèòå ïîäòâåðäèòü áîé? </b></font><INPUT class="btn btn-success" onClick="location=\'main.php?zayvka=1&r=' . $_GET['r'] . '&rnd=' . $code . '&startBattle\';" TYPE=submit name=close value="Ïîäòâåðäèòü"> <INPUT class="btn btn-danger" onClick="location=\'main.php?zayvka=1&r=' . $_GET['r'] . '&rnd=' . $code . '&cancelzv\';" TYPE=submit name=close value="Îòêàçàòü">';
}
} else {
$uz = mysql_fetch_array(
mysql_query(
'SELECT `u`.`id`,`u`.`login`,`u`.`align`,`u`.`clan`,`u`.`admin`,`u`.`city`,`u`.`room`,`u`.`online`,`u`.`level`,`u`.`battle`,`u`.`money`,`st`.* FROM `stats` AS `st` LEFT JOIN `users` AS `u` ON (`st`.`id` = `u`.`id`) WHERE `st`.`zv`="' . $zi['id'] . '" AND `st`.`team`="1" LIMIT 1'
)
);
if (isset($uz['id'])) {
echo 'Îæèäàåì ïîäòâåðæäåíèÿ áîÿ îò ' . $this->u->microLogin(
$uz['id'], 1
) . ' <INPUT class="btn" onClick="location=\'main.php?zayvka=1&r=' . $_GET['r'] . '&rnd=' . $code . '&cancelzv\';" TYPE=submit name=close value="Îòîçâàòü çàïðîñ">';
}
}
echo '</td><td align="right" valign="top"></td></tr></table></div>';
} else {
$tm_start = floor(($zi['time'] + $zi['time_start'] - time()) / 6) / 10;
$tm_start = $this->rzv($tm_start);
echo '<b>Îæèäàåì íà÷àëà ' . $this->z2n[$zi['razdel']] . ' áîÿ</b>';
echo '<br>Âàø áîé íà÷íåòñÿ ÷åðåç ' . $tm_start . ' ìèí.';
}
} elseif ($r == 8) {
//Òóðíèðû
$ttur = [
0 => 'Âûæèòü ëþáîé öåíîé!',
1 => 'Êàæäûé ñàì çà ñåáÿ!',
2 => 'Çàõâàò êëþ÷à!',
];
if (isset($_POST['trn1']) && $this->u->room['zvsee'] == 0) {
if ($this->u->info['inTurnirnew'] == 0) {
$totr = mysql_fetch_array(
mysql_query(
'SELECT * FROM `turnirs` WHERE `id` = "' . mysql_real_escape_string(
$_POST['trn1']
) . '" AND `status` = "0" LIMIT 1'
)
);
if (isset($totr['id'])) {
mysql_query(
'UPDATE `users` SET `inTurnirnew` = "' . $totr['id'] . '" WHERE `id` = "' . $this->u->info['id'] . '" LIMIT 1'
);
mysql_query(
'UPDATE `turnirs` SET `users_in` = `users_in` + 1 WHERE `id` = "' . $totr['id'] . '" LIMIT 1'
);
$this->u->info['inTurnirnew'] = $totr['id'];
$this->error = 'Âû çàïèñàëèñü íà ó÷àñòèå â òóðíèðå.';
} else {
$this->error = 'Çàÿâêà íà òóðíèð íå íàéäåíà.';
}
} else {
$this->error = 'Âû óæå íàõîäèòåñü â çàÿâêå íà òóðíèð.';
}
} elseif (isset($_GET['cancel13']) && $this->u->room['zvsee'] == 0) {
if ($this->u->info['inTurnirnew'] > 0) {
$totr = mysql_fetch_array(
mysql_query(
'SELECT * FROM `turnirs` WHERE `id` = "' . mysql_real_escape_string(
$this->u->info['inTurnirnew']
) . '" AND `status` = "0" LIMIT 1'
)
);
if (isset($totr['id'])) {
mysql_query(
'UPDATE `users` SET `inTurnirnew` = "0" WHERE `id` = "' . $this->u->info['id'] . '" LIMIT 1'
);
mysql_query('UPDATE `turnirs` SET `users_in` = `users_in` - 1 LIMIT 1');
$this->u->info['inTurnirnew'] = 0;
$this->error = 'Âû îòêàçàëèñü îò çàÿâêè íà òóðíèð.';
} else {
$this->error = 'Íåëüçÿ îòêàçàòüñÿ îò çàÿâêè íàõîäÿñü â òóðíèðå.';
}
} else {
$this->error = 'Âû íå ïðèíèìàåòå ó÷àñòèÿ íè â îäíîì èç òóðíèðîâ.';
}
}
$dv = '';
$trse = '';
if ($this->u->info['inTurnirnew'] > 0) {
$pl = mysql_fetch_array(
mysql_query(
'SELECT * FROM `turnirs` WHERE `id` = "' . $this->u->info['inTurnirnew'] . '" LIMIT 1'
)
);
if (!isset($pl['id'])) {
mysql_query(
'UPDATE `users` SET `inTurnirnew` = "0" WHERE `id` = "' . $pl['id'] . '" LIMIT 1'
);
echo '×òî-òî íå òàê... Îáíîâèòå ñòðàíèöó.';
} else {
$dv = '<b><u>Ó÷àñòíèêè òóðíèðà [' . $pl['users_in'] . ']</u></b>:<br>';
$spu = mysql_query(
'SELECT `u`.`id`,`u`.`align`,`u`.`login`,`u`.`clan`,`u`.`level`,`u`.`city`,`u`.`online`,`u`.`sex`,`u`.`cityreg`,`u`.`palpro`,`u`.`invis` FROM `users` AS `u` WHERE `u`.`inTurnirnew` = "' . $pl['id'] . '" LIMIT ' . $pl['users_in']
);
$i = 1;
while ($plu = mysql_fetch_array($spu)) {
$dv .= '<div style="padding:3px;">' . $i . '. ' . $this->u->microLogin(
$plu, 2
) . '</div>';
$i++;
}
echo '
<script type="text/javascript">
function MM_jumpMenu(targ,selObj,restore){ //v3.0
eval("location=\'"+selObj.options[selObj.selectedIndex].value+"\'");
if (restore) selObj.selectedIndex=0;
}
</script>
<FORM style="margin:0px; padding:0px; border:0px;" METHOD=\'POST\' ACTION=\'main.php?zayvka=1&r=' . $r . '&rnd=' . $code . '\'>
<input type="hidden" name="add_new_zv" id="add_new_zv" value="' . floor(time() / 3) . '" />
<TABLE width=100% cellspacing=0 cellpadding=0>
<TR>
<TD valign=top>
<font color="red"><b>' . $this->error . '</b></font>
<div style="border-bottom:#b2b2b2 solid 1px;padding:5px;">
Íà÷àëî òóðíèðà ÷åðåç ' . $this->u->timeOut(
$pl['time'] - time()
) . ' <INPUT class="btn" onClick="location=\'main.php?zayvka&r=8&cancel13&tlvl=' . $pl['level'] . '&rnd=' . $code . '\';" TYPE=button name=tmp value="Îòêàçàòüñÿ">
</div>
<div style="border-bottom:#b2b2b2 solid 1px;padding:5px;margin-bottom:5px;">
' . $dv . '
</div>
</TD>
<TD align=right valign=top> </TD>
</TR>
</TABLE>
</FORM>';
}
} else {
$tlvl = 4;
$i = 4;
$trnmz = [4 => 'Ôèçè÷åñêèé', 5 => 'Ìàãè÷åñêèé', 6 => 'Ôèç.\Ìàã.'];
while ($i <= 6) {
if ($_GET['tlvl'] == $i) {
$trse .= '<option value="https://new-combats.com/main.php?zayvka&r=8&tlvl=' . $i . '" selected="selected">' . $trnmz[$i] . '</option>';
$tlvl = $i;
} else {
$trse .= '<option value="https://new-combats.com/main.php?zayvka&r=8&tlvl=' . $i . '">' . $trnmz[$i] . '</option>';
}
$i++;
}
$prb = '<INPUT class="btn" TYPE="submit" name=open value="Ïðèíÿòü ó÷àñòèå">';
echo '<style>.zvnkj { padding:5px; }</style>';
$sp = mysql_query('SELECT * FROM `turnirs` WHERE `status` = "0" AND `level` = "' . $tlvl . '"');
$j = 0;
while ($pl = mysql_fetch_array($sp)) {
$j++;
$dinf = 'Íà÷àëî ÷åðåç ' . $this->u->timeOut($pl['time'] - time()) . '';
$dv .= '<label><div class="zvnkj">';
if ($this->u->room['zvsee'] == 0) {
$dv .= '<input type="radio" name="trn1" id="trn1_' . $j . '" value="' . $pl['id'] . '">';
}
$dv .= ' Ôèçè÷åñêèé òóðíèð. Ó÷àñòíèêîâ òóðíèðà: ' . $pl['users_in'] . ' ÷åë. | ' . $dinf . '</div></label>';
}
if ($dv == '') {
$dv = 'Ñïèñîê òóðíèðîâ äëÿ äàííîãî òèïà ïóñò...';
}
echo '
<script type="text/javascript">
function MM_jumpMenu(targ,selObj,restore){ //v3.0
eval("location=\'"+selObj.options[selObj.selectedIndex].value+"\'");
if (restore) selObj.selectedIndex=0;
}
</script>
<FORM style="margin:0px; padding:0px; border:0px;" METHOD=\'POST\' ACTION=\'main.php?zayvka=1&r=' . $r . '&rnd=' . $code . '\'>
<input type="hidden" name="add_new_zv" id="add_new_zv" value="' . floor(time() / 3) . '" />
<TABLE width=100% cellspacing=0 cellpadding=0>
<TR>
<TD valign=top>
<font color="red"><b>' . $this->error . '</b></font>
<div style="border-bottom:#b2b2b2 solid 1px;padding:5px;">
Òèï òóðíèðà:
<SELECT NAME=turlevel onChange="MM_jumpMenu(null,this,0)">
' . $trse . '
</SELECT>
' . $prb . '
</div>
<div style="border-bottom:#b2b2b2 solid 1px;padding:5px;margin-bottom:5px;">
' . $dv . '
</div>
' . $prb . '
</TD>
<TD align=right valign=top></TD>
</TR>
</TABLE>
</FORM>';
}
} elseif ($r == 1) {
//íîâè÷êè, ôèçè÷åñêèå è äîãîâîðíûå óäàëÿþòñÿ. Èíñ. 29.05.22
$zi = [
1 => 'Åñëè âû íå äîñòèãëè ïåðâîãî óðîâíÿ, òî äëÿ âàñ ýòî åäèíñòâåííûé ñïîñîá äëÿ ïðîâåäåíèÿ áèòâ.',
];
$dv = '';
if ($this->u->room['zvsee'] == 0) {
if ($this->u->info['level'] <= $c['bot_level'] || $this->u->info['admin'] > 0) {
$dv = '<b><font color="green">Òðåíèðîâî÷íûå áîè äîñòóïíû äî ' . ($c['bot_level'] + 1) . '-ãî óðîâíÿ.</font></b> <INPUT class="btn btn-inverse" onClick="location=\'main.php?zayvka=1&r=' . $_GET['r'] . '&bot=' . $this->u->info['nextAct'] . '\';" TYPE=button name=clone value="Íà÷àòü áîé ñ êëîíîì">';
} else {
if ($this->u->info['level'] < 9) {
$tstw = ' äëÿ <b>8</b> ëåâåëîâ íåäîñòóïíû';
} else {
$tstw = '<input type="text" value="" name="commentfiz" id="commentfiz" style="width:244px; padding:3px;">';
}
$dv .= '<br>
<div>
<div style="padding-top:5px;">
Êîììåíòàðèé ê áîþ ' . $tstw . '
</div>
</div>
<div style="padding-top:5px;"><INPUT class="btn" TYPE=submit name=open value="Ïîäàòü çàÿâêó"></div>';
}
if ($this->u->info['admin'] > 0) {
if (isset($_GET['adminbotatack'])) {
$bot_atack = mysql_fetch_array(
mysql_query(
'SELECT * FROM `test_bot` WHERE `id` = "' . mysql_real_escape_string(
$_GET['adminbotatack']
) . '" LIMIT 1'
)
);
if (isset($bot_atack['id'])) {
$logins_bot = [];
$k = $this->u->addNewbot($bot_atack['id'], null, null, $logins_bot);
if (isset($k['id'])) {
$expB = 0;
$btl = [
'players' => '',
'timeout' => 180,
'type' => 0,
'invis' => 0,
'noinc' => 0,
'travmChance' => 0,
'typeBattle' => 0,
'addExp' => $expB,
'money' => 0,
];
$ins = mysql_query(
'INSERT INTO `battle` (`dungeon`,`dn_id`,`x`,`y`,`city`,`time_start`,`players`,`timeout`,`type`,`invis`,`noinc`,`travmChance`,`typeBattle`,`addExp`,`money`) VALUES (
"0",
"0",
"0",
"0",
"' . $this->u->info['city'] . '",
"' . time() . '",
"' . $btl['players'] . '",
"' . $btl['timeout'] . '",
"' . $btl['type'] . '",
"' . $btl['invis'] . '",
"' . $btl['noinc'] . '",
"' . $btl['travmChance'] . '",
"' . $btl['typeBattle'] . '",
"' . $btl['addExp'] . '",
"' . $btl['money'] . '")'
);
$btl_id = mysql_insert_id();
mysql_query(
'UPDATE `users` SET `battle` = "' . $btl_id . '" WHERE `id` = "' . $k['id'] . '" OR `id` = "' . $this->u->info['id'] . '" LIMIT 2'
);
mysql_query(
'UPDATE `stats` SET `team` = "2" WHERE `id` = "' . $k['id'] . '" LIMIT 1'
);
mysql_query(
'UPDATE `stats` SET `team` = "1" WHERE `id` = "' . $this->u->info['id'] . '" LIMIT 1'
);
die('<script>top.frames[\'main\'].location = "main.php";</script>');
}
}
}
$dv .= '<script type="text/javascript">
function MM_jumpMenu(targ,selObj,restore){ //v3.0
eval("location=\'main.php?zayvka=1&r=2&rnd=1&adminbotatack="+selObj.options[selObj.selectedIndex].value+"\'");
if (restore) selObj.selectedIndex=0;
}
</script><form name="form55" id="form55">';
$dv .= '<hr>Áîé ñ ìîíñòðîì: <select style="font-size:12px;" onChange="MM_jumpMenu(\'parent\',this,0)" name="botadminatack"><option value="0">------ Âûáåðèòå ìîíñòðà èç ñïèñêà ------</option>';
$sp_m = mysql_query('SELECT * FROM `test_bot` WHERE `pishera` != 0 ORDER BY `id` ASC');
while ($pl_m = mysql_fetch_array($sp_m)) {
$dv .= '<option value="' . $pl_m['id'] . '">' . $pl_m['id'] . ' [ ' . $pl_m['align'] . ' ] - ' . $pl_m['login'] . ' [' . $pl_m['level'] . '] ' . $pl_m['pishera'] . '</option>';
}
$dv .= '</select></form>';
}
echo '
<FORM style="margin:0px; padding:0px; border:0px;" METHOD=\'POST\' ACTION=\'main.php?zayvka=1&r=' . $r . '&rnd=' . $code . '\'>
<input type="hidden" name="add_new_zv" id="add_new_zv" value="' . floor(time() / 3) . '" />
<TABLE width=100% cellspacing=0 cellpadding=0>
<TR>
<TD valign=top><!--' . $zi[$r] . '<BR>-->
<table cellspacing=0 cellpadding=0>
<tr>
<td>
' . $dv . '
</td>
</tr>
</table></TD>
<TD align=right valign=top></TD>
</TR>
</TABLE>
</FORM>';
}
} elseif ($r == 4) {
if ($this->u->room['zvsee'] == 0) { //ãðóïïîâûå ?>
<span id="hidezv1_btn"><INPUT class="btn" onClick="openfizrmk();" TYPE=button name=tmp
value="Ïîäàòü çàÿâêó íà ãðóïïîâîé áîé" style="margin:3px;"></span>
<FIELDSET id="hidezv1" style="display:none; border-color:#FFF; width:500px;">
<LEGEND><B style="color:#8f0000">Ïîäàòü çàÿâêó íà ãðóïïîâîé áîé</B></LEGEND>
<form method="post"
action="main.php?zayvka&r=<?= $_GET['r'] ?>&add_group&rnd=<?= $code ?>">
<table>
<tr>
<td>
Íà÷àëî áîÿ ÷åðåç
<select style="padding:2px;" name="startime">
<option value="300">5 ìèíóò</option>
<option value="600">10 ìèíóò</option>
</select>
Òàéìàóò
<select style="padding:2px;" name="timeout">
<option value="1">1 ìèí.</option>
<option value="2">2 ìèí.</option>
<option value="3">3 ìèí.</option>
</select>
<br/>
Âàøà êîìàíäà
<input style="padding:2px;" type="text" name="nlogin1" size="3"
maxlength="2"/> èãðîêîâ
<select style="padding:2px;" name="levellogin1">
<option value="0">ëþáîé</option>
<option value="1">òîëüêî ìîåãî è íèæå</option>
<option value="2">òîëüêî íèæå ìîåãî óðîâíÿ</option>
<option value="3">òîëüêî ìîåãî óðîâíÿ</option>
<option value="4">íå ñòàðøå ìåíÿ áîëåå ÷åì íà óðîâåíü</option>
<option value="5">íå ìëàäøå ìåíÿ áîëåå ÷åì íà óðîâåíü</option>
<option value="6">ìîé óðîâåíü +/- 1</option>
<option value="99">ìîé êëàí</option>
<option value="98">ìîÿ ñêëîííîñòü</option>
</select>
<br/>
Ïðîòèâíèêè
<input style="padding:2px;" type="text" name="nlogin2" size="3"
maxlength="2"/>
èãðîêîâ
<select style="padding:2px;" name="levellogin2">
<option value="0">ëþáîé</option>
<option value="1">òîëüêî ìîåãî è íèæå</option>
<option value="2">òîëüêî íèæå ìîåãî óðîâíÿ</option>
<option value="3">òîëüêî ìîåãî óðîâíÿ</option>
<option value="4">íå ñòàðøå ìåíÿ áîëåå ÷åì íà óðîâåíü</option>
<option value="5">íå ìëàäøå ìåíÿ áîëåå ÷åì íà óðîâåíü</option>
<option value="6">ìîé óðîâåíü +/- 1</option>
<option value="99">òîëüêî êëàí</option>
<option value="98">òîëüêî ñêëîííîñòü</option>
</select>
<br/>
<input type="checkbox" name="travma"/>
<label for="travma">Áîé áåç ïðàâèë <font class="dsc">(ïðîèãðàâøàÿ ñòîðîíà
ïîëó÷àåò èíâàëèäíîñòü)</font></label><br/>
Êîììåíòàðèé ê áîþ
<? if ($this->u->info['level'] < 9) {
?> äëÿ <b>8</b> ëåâåëîâ íåäîñòóïíû
<? } else { ?>
<input type="text" style="padding:2px;" name="cmt" maxlength="40"
size="40">
<? } ?>
</td>
</tr>
<tr>
<td align="left">
<input class="btn" type="submit" value="Ïîäàòü çàÿâêó" name="open">
</td>
</tr>
</table>
</form>
</FIELDSET>
<?
}
} elseif ($r == 5) {
if ($this->u->room['zvsee'] == 0) {
echo '<div id="hidezv1_btn"><INPUT class="btn" onClick="openfizrmk();" TYPE=button name=tmp value="Ïîäàòü çàÿâêó íà õàîòè÷íûé áîé" style="margin:3px;"></div>
<form action="main.php?zayvka=1&r=' . $_GET['r'] . '&start_haot&rnd=' . $code . '" method="post" style="margin:0px; padding:0px;">
<input type="hidden" name="timeout" value="1">
<div style="display:none; width:600px;" id="hidezv1">
<br>
<FIELDSET style="border-color:#FFF;">
<LEGEND><strong style="color:#8f0000">Ïîäàòü çàÿâêó íà õàîòè÷íûé áîé</strong> </LEGEND>
Íà÷àëî áîÿ ÷åðåç
<SELECT name="startime2">
<option value="60" selected>1 ìèíóòà
<OPTION value="180">3 ìèíóòû
<OPTION value="300">5 ìèíóò
</SELECT>
Èãðîêîâ
<SELECT name="players">
<OPTION selected value="6">6</OPTION>
<OPTION value="8">8</OPTION>
<OPTION value="10">10</OPTION>
<OPTION value="12">12</OPTION>
</SELECT>
<BR>
Óðîâíè áîéöîâ
<SELECT name="levellogin1">
<OPTION value="0">ëþáîé
<OPTION selected value="3">òîëüêî ìîåãî óðîâíÿ
<OPTION value="6">ìîé óðîâåíü +/- 1</OPTION>
</SELECT>
<BR>
<BR>
<INPUT type="checkbox" name="travma">
Áîé áåç ïðàâèë <font color="#777">(ïðîèãðàâøàÿ ñòîðîíà ïîëó÷àåò èíâàëèäíîñòü)</font><BR>
<INPUT type="checkbox" name="noatack"> Çàêðûòûé ïîåäèíîê <font color="#777">(áîé áóäåò èçîëèðîâàí îò íàïàäåíèé)</font><BR>
<INPUT type="checkbox" name="noeff">
Çàïðåò íà èñïîëüçîâàíèå ñâèòêîâ âîññòàíîâëåíèÿ ÍÐ è Ìàíû<BR>
';
if (!$this->u->info['no_zv_key']) {
echo '<img src="https://new-combats.com/show_reg_img/security2.php?id=' . time(
) . '" width="70" height="20"> Êîä ïîäòâåðæäåíèÿ: <input style="width:40px;" type="text" value="" name="code21">';
}
$tstw = $this->u->info['level'] < 9 ? ' äëÿ <b>8</b> ëåâåëîâ íåäîñòóïíû' : '<INPUT maxLength="40" size="40" name="cmt">';
echo 'Êîììåíòàðèé ê áîþ ' . $tstw . '
<BR><INPUT class="btn" value="Ïîäàòü çàÿâêó" type="submit" name="open">
</FIELDSET>
</DIV>
</div></form>';
}
}
} elseif ($r == 6) {
//òåêóùèå
$x = 1;
$html = '';
$p = 0;
$_GET['from'] = round((int)$_GET['from']);
if ($_GET['from'] > 1 && $_GET['from'] < 50) {
$p = $_GET['from'] - 1;
}
$xx = mysql_num_rows(
mysql_query(
'SELECT `id` FROM `battle` WHERE `type` != 329 AND `team_win` = "-1" AND `time_over` = "0" AND `start1` > 0'
)
);
$px = $p * 15;
if ($p > ceil($xx / 15)) {
$p = ceil($xx / 15);
}
$sp = mysql_query(
'SELECT * FROM `battle` WHERE `type` != 329 AND `team_win` = "-1" AND `time_over` = "0" AND `start1` > 0 ORDER BY `time_start` DESC LIMIT ' . ((int)$px) . ',15'
);
while ($pl = mysql_fetch_array($sp)) {
$tm = '';
$tmu = [];
$tms = [];
$spi = mysql_query(
'SELECT `u`.`login`,`st`.`id`,`st`.`team`,`u`.`id` FROM `users` AS `u` LEFT JOIN `stats` AS `st` ON (`u`.`id` = `st`.`id`) WHERE `u`.`battle` = "' . $pl['id'] . '"'
);
while ($pli = mysql_fetch_array($spi)) {
if (!isset($tmu[$pli['team']])) {
$tms[count($tms)] = $pli['team'];
}
$tmu[$pli['team']][count($tmu[$pli['team']])] = $pli['id'];
}
$i = 0;
while ($i < count($tms)) {
$tmsu = '';
$j = 0;
while ($j < count($tmu[$tms[$j]])) {
if ($tmu[$tms[$i]][$j] > 0) {
$tmsu .= $this->u->microLogin($tmu[$tms[$i]][$j], 1) . ', ';
}
$j++;
}
$tmsu = rtrim($tmsu, ', ');
$tm .= $tmsu;
if ($i + 1 != count($tms)) {
$tm .= ' <SPAN style=\'color: red; font-weight: bold;\'>ïðîòèâ</SPAN> ';
}
$i++;
}
if ($tm != '') {
$html .= ($p + $x) . '. <font class=date>' . date(
'd.m.y H:i', $pl['time_start']
) . '</font> ' . $tm . ' <IMG SRC="https://img.new-combats.com/i/fighttype' . $pl['typeBattle'] . '.gif" WIDTH=20 HEIGHT=20 ALT="Ôèçè÷åñêèé áîé"> <A HREF="logs.php?log=' . $pl['id'] . '&rnd=' . $code . '" target=_blank>»»</A><BR>';
}
$x++;
}
?>
<table width="100%" cellspacing="0" cellpadding="0">
<tr>
<td valign="top" align="center"><h3>Çàïèñè òåêóùèõ áîåâ íà <?= date('d.m.Y'); ?>
(âñåãî <?= $xx; ?>)</h3></td>
<td valign="top" align="right"></td>
</tr>
</table>
<? if ($html == '') {
echo '<div align="center">Ê ñîæàëåíèþ ñåé÷àñ áîåâ íåò...</div>';
} else {
echo '<div>' . $html . '</div>';
} ?>
<TABLE width=100% cellspacing=0 cellpadding=0>
<TR>
<TD align=left><? if ($p > 0 && $xx > 15) { ?><A HREF="?zayvka=1&r=6&from=<?= ($p - 1); ?>">««
ïðåäûäóùàÿ ñòðàíèöà</A><? } ?>
</TD>
<TD align=right><? if ($p * 15 - $xx > 0) { ?><A HREF="?zayvka=1&r=6&from=<?= ($p + 1); ?>">
ñëåäóþùàÿ ñòðàíèöà »»</A><? } ?>
</TD>
</TR>
</TABLE>
<?
} elseif ($r == 7) {
//çàâåðøåííûå
$btl = '';
$dt = time();
if (isset($_GET['logs2'])) {
$dt = round((int)$_GET['logs2']);
}
$dt = strtotime(date('d F Y', $dt) . ' 00:00:00');
$slogin = $this->u->info['login'];
if (isset($_GET['filter'])) {
$slogin = $_GET['filter'];
}
if (isset($_POST['filter'])) {
$slogin = $_POST['filter'];
}
$slogin = str_replace('"', '', $slogin);
$slogin = str_replace("'", '', $slogin);
$slogin = str_replace('\\', '', $slogin);
$see = '<TABLE width=100% cellspacing=0 cellpadding=0><TR>
<TD valign=top> <A HREF="?filter=' . $slogin . '&zayvka=1&r=7&logs2=' . ($dt - 86400) . '">« Ïðåäûäóùèé äåíü</A></TD>
<TD valign=top align=center><H3>Çàïèñè î çàâåðøåííûõ áîÿõ çà ' . date('d.m.Y', $dt) . '</H3></TD>
<TD valign=top align=right><A HREF="?filter=' . $slogin . '&zayvka=1&r=7&logs2=' . ($dt + 86400) . '">Ñëåäóþùèé äåíü »</A> </TD>
</TR><TR><TD colspan=3 align=center>
<form method="POST" action="main.php?zayvka=1&r=7&rnd=' . $code . '">
Ïîêàçàòü òîëüêî áîè ïåðñîíàæà: <INPUT TYPE=text NAME=filter value="' . $slogin . '"> çà <INPUT TYPE=text NAME=logs size=12 value="' . date(
'd.m.Y', $dt
) . '"> <INPUT class="btn" TYPE=submit value="ôèëüòð!">
</form>
</TD>
</TR></TABLE>';
$usr = mysql_fetch_array(
mysql_query(
'SELECT `id`,`login`,`level`,`city` FROM `users` WHERE `login` = "' . mysql_real_escape_string(
$slogin
) . '" LIMIT 1'
)
);
if (isset($usr['id'])) {
$tms = $dt;
$tmf = $dt + 86400;
$sp = mysql_query(
'SELECT * FROM `battle_last` WHERE `time` >= ' . $tms . ' AND `time` < ' . $tmf . ' AND `uid` = "' . $usr['id'] . '" ORDER BY `id` DESC'
);
$j = 1;
$jk = 0;
$btl_lst = [];
while ($pl = mysql_fetch_array($sp)) {
$b = mysql_fetch_array(
mysql_query(
'SELECT * FROM `battle_end` WHERE `battle_id` = "' . $pl['battle_id'] . '" LIMIT 1'
)
);
$tm = '';
if (isset($b['id'])) {
$tms = [];
$ts = [];
$spi = mysql_query(
'SELECT * FROM `battle_last` WHERE `battle_id` = "' . $pl['battle_id'] . '"'
);
while ($pli = mysql_fetch_array($spi)) {
if (!isset($tms[$pli['team']])) {
$ts[count($ts)] = $pli['team'];
}
$tms[$pli['team']][count($tms[$pli['team']])] = $pli;
}
$k = 0;
while ($k < count($ts)) {
$g = $ts[$k];
$h = 0;
$tm2 = '';
while ($h < count($tms[$g])) {
if ($tms[$g][$h]['uid'] > 0) {
if ($tms[$g][$h]['align'] > 0) {
$tm2 .= '<img src="https://img.new-combats.com/i/align/align' . $tms[$g][$h]['align'] . '.gif">';
}
$tm2 .= '<b>' . $tms[$g][$h]['login'] . '</b> [' . $tms[$g][$h]['lvl'] . ']<a href="info/' . $tms[$g][$h]['uid'] . '" target="_blank"><img src="https://img.new-combats.com/i/inf_capitalcity.gif"></a>, ';
}
$h++;
}
$tm2 = rtrim($tm2, ', ');
$btlg = mysql_fetch_array(
mysql_query(
'SELECT `id`,`team_win` FROM `battle` WHERE `id` = "' . $pl['battle_id'] . '" LIMIT 1'
)
);
if (isset($btlg['id']) && $g == $btlg['team_win']) {
$tm2 .= ' <img width="20" height="20" src="https://img.new-combats.com/i/flag.gif" title="Ïîáåäà"> ';
}
$tm .= $tm2;
if ($k + 1 < count($ts) && $tm2 != '' && $ts[$k + 1] > 0) {
$tm .= ' <font color=red><b>ïðîòèâ</b></font> ';
}
$k++;
}
}
if (!isset($btl_lst[$b['id']])) {
$btl_lst[$b['id']] = true;
if ($tm == '') {
$tm = 'Äàííûå ïîåäèíêà ïîòåðÿíû';
}
$jk++;
$btl .= $jk . '. <font class=date>' . date(
'd.m.y H:i', $pl['time']
) . '</font> ' . $tm . ' <A HREF="logs.php?log=' . $pl['battle_id'] . '&rnd=' . $code . '" target=_blank>»»</A><br>';
}
$j++;
}
}
if ($btl == '') {
$see .= '<CENTER><BR><BR><B>Â ýòîò äåíü íå áûëî áîåâ, èëè æå, ëåòîïèñåö îïÿòü ïîòåðÿë ñâèòêè...</B><BR><BR><BR></CENTER><HR><BR>';
} else {
$see .= $btl;
}
echo $see;
} else {
if ((!isset($_GET['new_group']) && !isset($_POST['groupClick'])) || isset($zi['id'])) {
echo '<BR><BR><CENTER><B>Âûáåðèòå ðàçäåë</B></CENTER>';
}
}
} else {
if ((!isset($_GET['new_group']) && !isset($_POST['groupClick'])) || isset($zi['id'])) {
echo '<BR><BR><CENTER><B>Âûáåðèòå ðàçäåë</B></CENTER>';
}
}
}
public function rzv($v)
{
$v = explode('.', $v);
if (!isset($v[1])) {
$v = $v[0] . '.0';
} else {
$v = $v[0] . '.' . $v[1];
}
return $v;
}
public function testzvu($id, $tm, $bt = 0)
{
$query = "select id from stats where zv = $id and team = $tm";
if ($bt) {
$query .= " and bot = 2";
}
return mysql_num_rows(mysql_query($query));
}
public function seeZv()
{
2022-12-30 21:03:37 +02:00
global $code, $zi;
2022-12-19 22:22:19 +02:00
if (isset($_GET['r']) && $this->zv_see == 1) {
$r = round(intval($_GET['r']));
if ($r >= 1 && $r <= 5) {
//Ñïèñîê çàÿâîê
$i = 0;
$cl = mysql_query(
'SELECT * FROM `zayvki` WHERE `razdel` = "' . mysql_real_escape_string(
$r
) . '" AND `start` = "0" AND `cancel` = "0" AND `time` > "' . (time(
) - 60 * 60 * 2) . '" /*AND `city` = "' . $this->u->info['city'] . '"*/ ORDER BY `id` DESC'
);
$zvb = '';
while ($pl = mysql_fetch_array($cl)) {
if ($pl['razdel'] == 5) {
if ($pl['min_lvl_1'] < 2) {
$pl['min_lvl_1'] = 2;
}
if ($pl['max_lvl_1'] > 21) {
$pl['max_lvl_1'] = 21;
}
$tm = '';
$tmStart = floor(($pl['time'] + $pl['time_start'] - time()) / 6) / 10;
if ((($pl['time'] + $pl['time_start']) / 10) != (int)(($pl['time'] + $pl['time_start']) / 10)) {
$pl['time'] = ceil($pl['time'] / 60) * 60;
mysql_query(
'UPDATE `zayvki` SET `time` = "' . $pl['time'] . '" WHERE `id` = "' . $pl['id'] . '" LIMIT 1'
);
}
$tmStart = $this->rzv($tmStart);
$users = mysql_query(
'SELECT `u`.`id`,`u`.`login`,`u`.`level`,`u`.`align`,`u`.`clan`,`u`.`admin`,`st`.`team` FROM `users` AS `u` LEFT JOIN `stats` AS `st` ON `u`.`id` = `st`.`id` WHERE `st`.`zv` = "' . $pl['id'] . '"'
);
$col_p = mysql_fetch_array(
mysql_query('SELECT COUNT(*) FROM `stats` WHERE `zv` = "' . $pl['id'] . '"')
);
$cols = $col_p[0];
while ($s = mysql_fetch_array($users)) {
$tm .= $this->u->microLogin($s['id'], 1) . ', ';
}
$rad = '';
$tm = rtrim($tm, ', ');
if (!isset($zi['id']) && $this->u->room['zvsee'] == 0 && $this->u->info['inTurnirnew'] == 0) {
$rad = '<input type="radio" name="btl_go" id="btl_go' . $pl['id'] . '" value="' . $pl['id'] . '"> ';
}
$n1tv = '';
$unvs = '';
if ($pl['invise'] == 1) {
//íåâèäèìûé áîé
$tm = '<i>íåâèäèìûé</i>';
$unvs = 0;
$usrszv = '';
//if( $this->u->info['admin'] > 0 ) {
$spzm = mysql_query(
'SELECT `id`,`team` FROM `stats` WHERE `zv` = "' . $pl['id'] . '" AND `id` != "' . $pl['creator'] . '"'
);
while ($plzm = mysql_fetch_array($spzm)) {
if ($this->u->info['admin'] > 0 || ($this->u->info['align'] > 1 && $this->u->info['align'] < 2) || ($this->u->info['align'] > 3 && $this->u->info['align'] < 4)) {
$usrszv .= ',' . $this->u->microLogin($plzm['id'], 1) . '';
}
$unvs++;
}
//}
$tm = '<font color=grey><span style="color:maroon">' . $this->u->microLogin(
$pl['creator'], 1
) . '</span>' . $usrszv . '</font> - ' . $tm;
$unvs = ' Ó÷àñòíèêîâ: ' . (1 + $unvs) . ' ÷åë. ';
$n1tv = ' <img src="https://img.new-combats.com/i/fighttypehidden0.gif" title="Íåâèäèìûé">';
}
if ($pl['kingfight'] == 1) {
$n1tv .= ' <img src="https://img.new-combats.com/king.gif" title="Ïðèçîâîé ïîåäèíîê">';
}
if ($pl['travmaChance'] == 100) {
$n1tv .= '<img src="https://img.new-combats.com/fighttype6.gif" title="Êðîâàâûé ïîåäèíîê">';
}
if ($pl['noatack'] == 1) {
$n1tv .= ' <img src="https://img.new-combats.com/i/fighttypehidden0.gif" title="Çàêðûòûé áîé">';
}
if ($pl['nobot'] == 1) {
$n1tv .= ' <img src="https://img.new-combats.com/nobot.gif" title="Â áîé íå âñòóïàþò áîòû">';
}
if ($pl['fastfight'] == 1) {
$n1tv .= ' <img src="https://img.new-combats.com/fastfight.gif" title="Äëÿ íà÷àëà áîÿ íåîáõîäèìî ìèíèìóì 2 èãðîêà">';
}
if ($pl['noeff'] == 1) {
$n1tv .= ' <img src="https://img.new-combats.com/svitok4.png" width="20" height="20" title="Çàïðåò íà èñïîëüçîâàíèå ñâèòêîâ âîññòàíîâëåíèÿ ÍÐ è ìàíû">';
}
if ($pl['arand'] == 1) {
$n1tv .= ' <img src="https://img.new-combats.com/random.png" width="20" height="20" title="Ðàñïðåäåëåíèå áîéöîâ ñëó÷àéíûì îáðàçîì">';
}
if ($pl['noart'] == 1) {
$n1tv .= ' <img src="https://img.new-combats.com/noart.png" width="20" height="20" title="Áîé áåç àðòåôàêòîâ">';
}
if ($pl['otmorozok'] == 1) {
$n1tv .= ' <img src="https://img.new-combats.com/snow.gif" width="20" height="20" title="Â áîé ìîãóò âìåøàòüñÿ Îòìîðîçêè">';
}
if ($pl['comment'] != '') {
$dl = '';
if (($moder['boi'] == 1 || $this->u->info['admin'] > 0) && $pl['dcom'] == 0) {
$dl .= ' (<a href="main.php?zayvka=1&r=5&delcom=' . $pl['id'] . '&key=' . $this->u->info['nextAct'] . '&rnd=' . $code . '">óäàëèòü êîììåíòàðèé</a>)';
if (isset($_GET['delcom']) && $_GET['delcom'] == $pl['id'] && $this->u->newAct(
$_GET['key']
) == true) {
mysql_query(
'UPDATE `zayvki` SET `dcom` = "' . $this->u->info['id'] . '" WHERE `id` = "' . $pl['id'] . '" LIMIT 1'
);
$pl['dcom'] = $this->u->info['id'];
}
}
if ($pl['dcom'] > 0) {
$dl = '<font color="grey"><i>Êîììåíòàðèé óäàëåí ìîäåðàòîðîì</i></font>';
}
if ($pl['dcom'] > 0) {
if ($moder['boi'] == 1 || $this->u->info['admin'] > 0) {
$pl['comment'] = '[ Òåêñò êîììåíòàðèÿ : <font color="red">' . $pl['comment'] . '</font>] ';
} else {
$pl['comment'] = '';
}
}
$zv_comm = ' ' . $pl['comment'] . '' . $dl . ' ';
} else {
$zv_comm = '';
}
if ($pl['priz'] == 1) {
$imn = '';
if ($pl['min_lvl_1'] == 10) {
$imn .= ' èì. Jora Kardan';
}
$zv_comm = ' <a href="https://new-combats.com/n/567/" target="_blank"><span style="color:#e65700;" title="Ó÷àñòíèêè ïîëó÷àþò æåòîíû, ÷åì áîëüøå ïðèçîâûõ õàîòîâ çà ñóòêè, òåì áîëüøå ïàäàåò æåòîíîâ çà ïîáåäó "><b>(Ãåðîè÷åñêîå Ñðàæåíèå' . $imn . ')</b></span></a>';
}
if ($r == 5 && ($pl['creator'] == $this->u->info['id']) && $cols < 2 && $pl['priz'] == 0) {
$del_q = ' <a href="main.php?zayvka=1&r=5&del_z_time=' . $pl['id'] . '&rnd=' . $code . '"><img src="https://img.new-combats.com/i/clear.gif" title="Óäàëèòü çàÿâêó" /></a>';
} else {
$del_q = '';
}
$lvldt = '';
if ($pl['min_lvl_1'] != $pl['max_lvl_2']) {
$lvldt .= '' . $pl['min_lvl_1'] . '-' . $pl['max_lvl_2'] . ' óð. ';
} else {
$lvldt .= '' . $pl['min_lvl_1'] . ' óð. ';
}
$lvldt .= (0 + $cols) . '/' . $pl['maxplayers'] . '';
$zvb .= $rad . '<font class="date">' . date(
'H:i', $pl['time']
) . '</font> <font color="green"><b><i>(' . $lvldt . ')</i></b></font> òèï áîÿ: <IMG SRC="https://img.new-combats.com/i/fighttype' . $pl['type'] . '.gif" WIDTH="20" HEIGHT="20" title="Õàîòè÷íûé áîé">' . $n1tv . ' (òàéìàóò <b>' . ($pl['timeout'] / 60) . ' ìèí.</b>) <b>' . $zv_comm . '</b> <font class="dsc"><i><font color="green">(' . $unvs . 'Áîé íà÷íåòñÿ ÷åðåç <B>' . $tmStart . '</B> ìèí.)</font> </font></i> ' . $mon . ' <i>Ó÷àñòíèêè:</i> ' . $tm . ' ' . $del_q . '<br />';
} elseif ($pl['razdel'] == 4) {
if ($pl['min_lvl_1'] < 2) {
$pl['min_lvl_1'] = 2;
}
if ($pl['max_lvl_1'] > 21) {
$pl['max_lvl_1'] = 21;
}
if ($pl['min_lvl_2'] < 2) {
$pl['min_lvl_2'] = 2;
}
if ($pl['max_lvl_2'] > 21) {
$pl['max_lvl_2'] = 21;
}
//Çàÿâêè ãðóïïîâîãî áîÿ
$tm1 = '';
$tm2 = '';
$tmStart = floor(($pl['time'] + $pl['time_start'] - time()) / 6) / 10;
$tmStart = $this->rzv($tmStart);
//Ïåðñîíàæ â çàÿâêå, ïîäêëþ÷àåì åìó ïðîòèâíèêà
//Èùåì àïîíåíòà äëÿ ãðóïïîâûõ
$xx2 = $this->testzvu($pl['id'], 2, 0);
if ($pl['bot2'] > 0 && $xx2 < $pl['tm2max']) {
//Äîáàâëÿåì áîòîâ çà âòîðóþ êîìàíäó
$spb = mysql_query(
'SELECT `u`.*,`st`.* FROM `users` AS `u` LEFT JOIN `stats` AS `st` ON `u`.`id` = `st`.`id` WHERE `st`.`bot` = 3 AND `u`.`level` = "' . $pl['min_lvl_2'] . '" AND `u`.`battle` = 0 AND `st`.`zv` = 0 LIMIT 100'
);
$logins_bot = [];
while ($plb = mysql_fetch_array($spb)) {
if ($xx2 < $pl['tm2max'] && rand(0, 10000) < 5000 && rand(0, 10000) > 5000) {
$bt = $this->u->addNewbot(0, '', $plb['id']);
$logins_bot = $bt['logins_bot'];
if ($bt > 0) {
mysql_query(
'UPDATE `stats` SET `zv` = "' . $pl['id'] . '",`team` = "2" WHERE `id` = "' . $bt . '" LIMIT 1'
);
$xx2++;
}
}
}
unset($plb, $spb, $logins_bot, $bt);
}
unset($xx2);
//ãåíåðèðóåì êîìàíäû
$users = mysql_query(
'SELECT `u`.`id`,`u`.`login`,`u`.`level`,`u`.`align`,`u`.`clan`,`u`.`admin`,`st`.`team` FROM `users` AS `u` LEFT JOIN `stats` AS `st` ON `u`.`id` = `st`.`id` WHERE `st`.`zv` = "' . $pl['id'] . '"'
);
$tmc = [];
while ($s = mysql_fetch_array($users)) {
${'tm' . $s['team']} .= $this->u->microLogin($s['id'], 1) . ', ';
$tmc[$s['team']]++;
}
if ($tm1 == '') {
$tm2 = '<font color="#777"><i>ãðóïïà ïîêà íå íàáðàíà</i></font>';
} else {
$tm1 = rtrim($tm1, ', ');
}
if ($tm2 == '') {
$tm2 = '<font color="#777"><i>ãðóïïà ïîêà íå íàáðàíà</i></font>';
} else {
$tm2 = rtrim($tm2, ', ');
}
//
if ($pl['teams'] == 3) {
if ($tm3 == '') {
$tm2 = '<font color="#777"><i>ãðóïïà ïîêà íå íàáðàíà</i></font>';
} else {
$tm3 = rtrim($tm3, ', ');
}
$ttl1 = '';
$ttl2 = '';
$ttl3 = '';
if ($pl['align1'] == 3) {
$ttl1 = 'Òüìà';
} elseif ($pl['align1'] == 7) {
$ttl1 = 'Íåéòðàëû';
} else {
$ttl1 = 'Ñâåò';
}
if ($pl['align2'] == 3) {
$ttl2 = 'Òüìà';
} elseif ($pl['align2'] == 7) {
$ttl2 = 'Íåéòðàëû';
} else {
$ttl2 = 'Ñâåò';
}
if ($pl['align3'] == 3) {
$ttl3 = 'Òüìà';
} elseif ($pl['align3'] == 7) {
$ttl3 = 'Íåéòðàëû';
} else {
$ttl3 = 'Ñâåò';
}
$tm1 = '<img src="https://img.new-combats.com/i/align/align' . $pl['align1'] . '.gif"> ' . $ttl1 . ': ' . $tm1;
$tm2 = '<img src="https://img.new-combats.com/i/align/align' . $pl['align2'] . '.gif"> ' . $ttl2 . ': ' . $tm2;
$tm3 = '<img src="https://img.new-combats.com/i/align/align' . $pl['align3'] . '.gif"> ' . $ttl3 . ': ' . $tm3;
}
//
$rad = '';
if (!isset($zi['id']) && $this->u->room['zvsee'] == 0) {
$rad = '<input type="radio" name="groupClick" id="groupClick" value="' . $pl['id'] . '"> ';
}
if ($pl['comment'] != '') {
$dl = '';
if (($moder['boi'] == 1 || $this->u->info['admin'] > 0) && $pl['dcom'] == 0) {
$dl .= ' (<a href="main.php?zayvka=1&r=4&delcom=' . $pl['id'] . '&key=' . $this->u->info['nextAct'] . '&rnd=' . $code . '">óäàëèòü êîììåíòàðèé</a>)';
if (isset($_GET['delcom']) && $_GET['delcom'] == $pl['id'] && $this->u->newAct(
$_GET['key']
) == true) {
mysql_query(
'UPDATE `zayvki` SET `dcom` = "' . $this->u->info['id'] . '" WHERE `id` = "' . $pl['id'] . '" LIMIT 1'
);
$pl['dcom'] = $this->u->info['id'];
}
}
if ($pl['dcom'] > 0) {
$dl = '<font color="grey"><i>Êîììåíòàðèé óäàëåí ìîäåðàòîðîì</i></font>';
}
if ($pl['dcom'] > 0) {
if ($moder['boi'] == 1 || $this->u->info['admin'] > 0) {
$pl['comment'] = '[ Òåêñò êîììåíòàðèÿ : <font color="red">' . $pl['comment'] . '</font>] ';
} else {
$pl['comment'] = '';
}
}
$zv_comm = '' . $pl['comment'] . '' . $dl . '';
} else {
$zv_comm = '';
}
if ($pl['teams'] == 3) {
$zv_comm .= ' <a href="https://new-combats.com/lib/turnir-sklonnostei/" target="_blank"><span style="color:#543666;" title=" òóðíèðå ó÷àñòâóåò òðè ñêëîííîñòè: Ñâåò, Òüìà, Íåéòðàëû. Ïîáåäèâøàÿ ñêëîííîñòü ïîëó÷àåò îñîáåííîå áëàãîñëîâåíèå íà ïðîòÿæåíèè äíÿ."><b>(Òóðíèð òðåõ ñêëîííîñòåé)</b></span></a>';
}
$zvb .= $rad . '<font class="date">' . date('H:i', $pl['time']) . '</font> ';
$zvb .= '(<font color=green>' . (0 + $tmc[1]) . '/<b>' . $pl['tm1max'] . '</b></font>)';
$zvb .= ' ' . $tm1;
$zvb .= ' <font color="green"><b><i>(';
if ($pl['min_lvl_1'] == $pl['max_lvl_1']) {
$zvb .= $pl['min_lvl_1'];
} else {
$zvb .= $pl['min_lvl_1'] . '-' . $pl['max_lvl_1'];
}
$zvb .= ' óð.)</i></b></font>';
$zvb .= ' <i>ïðîòèâ</i> ';
$zvb .= '(<font color=green>' . (0 + $tmc[2]) . '/<b>' . $pl['tm2max'] . '</b></font>)';
$zvb .= ' ' . $tm2;
$zvb .= ' <font color="green"><b><i>(';
if ($pl['min_lvl_2'] == $pl['max_lvl_2']) {
$zvb .= $pl['min_lvl_2'];
} else {
$zvb .= $pl['min_lvl_2'] . '-' . $pl['max_lvl_2'];
}
$zvb .= ' óð.)</i></b></font>';
$zvb .= ' òèï áîÿ: <IMG SRC="https://img.new-combats.com/i/fighttype' . $pl['type'] . '.gif" WIDTH="20" HEIGHT="20" title="Ãðóïïîâîé áîé"> (òàéìàóò: <b>' . ($pl['timeout'] / 60) . ' ìèí.</b>) ';
$zvb .= ' <b>' . $zv_comm . '</b> ';
$zvb .= ' <font color="green"><i>(Áîé íà÷íåòñÿ ÷åðåç <b>' . $tmStart . '</b>)</i></font> ' . $mon . '<BR>';
} elseif ($pl['razdel'] >= 1 && $pl['razdel'] <= 3) {
$uz = mysql_fetch_array(
mysql_query(
'SELECT `u`.`banned`,`u`.`id`,`u`.`login`,`u`.`align`,`u`.`clan`,`u`.`admin`,`u`.`city`,`u`.`room`,`u`.`online`,`u`.`level`,`u`.`battle`,`u`.`money`,`st`.* FROM `stats` AS `st` LEFT JOIN `users` AS `u` ON (`st`.`id` = `u`.`id`) WHERE `st`.`zv`="' . $pl['id'] . '" AND `st`.`team`="1" LIMIT 1'
)
);
if (isset($uz['id'])) {
$uze = mysql_fetch_array(
mysql_query(
'SELECT `u`.*,`st`.* FROM `stats` AS `st` LEFT JOIN `users` AS `u` ON (`st`.`id` = `u`.`id`) WHERE `st`.`zv`="' . $pl['id'] . '" AND `st`.`team` = "2" LIMIT 1'
)
);
$d1 = '';
2022-12-30 21:03:37 +02:00
if ($uz['id'] == $this->u->info['id'] || $uze['id'] == $this->u->info['id'] || $this->u->info['level'] <= Config::get('bot_level')) {
2022-12-19 22:22:19 +02:00
$d1 = 'disabled="disabled"';
}
if (!isset($uze['id']) || $this->u->info['zv'] == $pl['id']) {
$enm = '';
if (isset($uze['id'])) {
$enm = ' ïðîòèâ ' . $this->u->microLogin($uze['id'], 1) . '';
}
if ($uz['banned'] > 0) {
$pl['id'] = 0;
$d1 = 'disabled="disabled"';
$zvb .= '<span style="text-decoration:line-through;">';
}
$dp1 = '';
if ($pl['money'] > 0) {
$dp1 = ' Áîé íà äåíüãè, ñòàâêà: <b>' . $this->u->round2($pl['money']) . ' êð.</b>';
}
if ($this->u->room['zvsee'] == 0) {
$zvb .= '<input name="btl_go" ' . $d1 . ' type="radio" value="' . $pl['id'] . '" />';
}
$mbcom = '';
if ($pl['comment'] != '') {
$mbcom = ' <b>' . $pl['comment'] . '</b>';
}
$zvb .= '<font class="date">' . date(
'H:i', $pl['time']
) . '</font> ' . $this->u->microLogin(
$uz['id'], 1
) . ' ' . $enm . ' òèï áîÿ: <img src="https://img.new-combats.com/i/fighttype' . ($pl['type']) . '.gif"> ( òàéìàóò <b>' . round(
$pl['timeout'] / 60
) . ' ìèí.</b>' . $dp1 . ' ' . $mon . ')' . $mbcom . '<br>';
if ($uz['banned'] > 0) {
$zvb .= '</span>';
}
}
}
}
$i++;
}
if ($i == 0) {
//çàÿâîê íåò
if ($this->u->room['zvsee'] > 0) {
echo '<br><br><br><div align="center"><b>Â äàííîì ðàçäåëå íåò íè îäíîé çàÿâêè</b></div>';
}
} else {
if (!isset($zi['id']) && $this->u->room['zvsee'] == 0) {
if ($_GET['r'] == 5) {
if (!$this->u->info['no_zv_key']) {
echo '<div style="float:left;"><form method="post" style="margin:0px;padding:0px;" action="main.php?zayvka=1&r=' . $r . '&rnd=' . $code . '"><br>
<img src="https://new-combats.com/show_reg_img/security2.php?id=' . time() . '" width="70" height="20"> Êîä ïîäòâåðæäåíèÿ: <input style="width:40px;" type="text" value="" name="code21">
<input class="btn" name="" type="submit" value="Ïðèíÿòü ó÷àñòèå â ìÿñîðóáêå" /><br>' . $zvb . ' <img src="https://new-combats.com/show_reg_img/security2.php?id=' . time(
) . '" width="70" height="20"> Êîä ïîäòâåðæäåíèÿ: <input style="width:40px;" type="text" value="" name="code22">
<input class="btn" style="margin-top:1px;" type="submit" value="Ïðèíÿòü ó÷àñòèå â ìÿñîðóáêå" />
</form></div>';
} else {
echo '<div style="float:left;"><form method="post" style="margin:0px;padding:0px;" action="main.php?zayvka=1&r=' . $r . '&rnd=' . $code . '"><br>
<input class="btn" name="" type="submit" value="Ïðèíÿòü ó÷àñòèå â ìÿñîðóáêå" /><br>' . $zvb . '
<input class="btn" style="margin-top:1px;" type="submit" value="Ïðèíÿòü ó÷àñòèå â ìÿñîðóáêå" /></form></div>';
}
} else {
2022-12-30 21:03:37 +02:00
if ($zvb != '' && $this->u->info['level'] > Config::get('bot_level')) {
2022-12-19 22:22:19 +02:00
echo '<div style="float:left;"><form method="post" style="margin:0px;padding:0px;" action="main.php?zayvka=1&r=' . $r . '&rnd=' . $code . '"><br><input class="btn" name="" type="submit" value="Ïðèíÿòü âûçîâ" /><br>' . $zvb . '<input class="btn" style="margin-top:1px;" type="submit" value="Ïðèíÿòü âûçîâ" /></form></div>';
} else {
echo '<div style="float:left;">' . $zvb . '</div>';
}
}
} else {
echo $zvb;
}
}
}
}
}
public function go($id)
{
global $zi;
$filter = new Filter();
if (isset($zi['id'])) {
$this->error = 'Âû íå ìîæåòå ïðèíÿòü áîé. Ñíà÷àëà îòçîâèòå ñâîþ çàÿâêó.';
} else {
if ($this->u->info['battle'] == 0 && $this->u->info['inTurnirnew'] == 0) {
$z = mysql_fetch_array(
mysql_query(
'SELECT * FROM `zayvki` WHERE `id`="' . mysql_real_escape_string(
intval($id)
) . '" /*AND `city` = "' . $this->u->info['city'] . '"*/ AND `start` = "0" AND `cancel` = "0" AND `time` > "' . (time(
) - 60 * 60 * 2) . '" LIMIT 1'
)
);
if (isset($z['id'])) {
if ($z['razdel'] >= 1 && $z['razdel'] <= 3) {
//íîâè÷êè, ôèçû, äîãîâîðíûå
$uz1 = mysql_fetch_array(
mysql_query(
'SELECT `u`.`id`,`u`.`login`,`u`.`align`,`u`.`clan`,`u`.`admin`,`u`.`city`,`u`.`room`,`u`.`online`,`u`.`level`,`u`.`battle`,`u`.`money`,`st`.* FROM `stats` AS `st` LEFT JOIN `users` AS `u` ON (`st`.`id` = `u`.`id`) WHERE `st`.`zv`="' . $z['id'] . '" AND `st`.`team`="1" LIMIT 1'
)
);
if (isset($uz1['id'])) {
$uz2 = mysql_fetch_array(
mysql_query(
'SELECT `u`.`id`,`u`.`login`,`u`.`align`,`u`.`clan`,`u`.`admin`,`u`.`city`,`u`.`room`,`u`.`online`,`u`.`level`,`u`.`battle`,`u`.`money`,`st`.* FROM `stats` AS `st` LEFT JOIN `users` AS `u` ON (`st`.`id` = `u`.`id`) WHERE `st`.`zv`="' . $z['id'] . '" AND `st`.`team`="2" LIMIT 1'
)
);
if ($this->testTravm() == 1 && $z['type'] != 1) {
$this->error = 'Âû òðàâìèðîâàíû. Ñ òàêèìè óâå÷üÿìè äîñòóïíû êóëà÷íûå áîè.';
$az = 0;
} elseif ($this->testTravm() == 2) {
$this->error = 'Âû òðàâìèðîâàíû. Ñ òàêèìè óâå÷üÿìè íåâîçìîæíî ñðàæàòüñÿ.';
$az = 0;
} elseif ($this->u->info['hpNow'] < $this->u->stats['hpAll'] / 100 * 30 && ($z['razdel'] >= 1 || $z['razdel'] <= 3)) {
$this->error = 'Âû åùå ñëèøêîì îñëàáëåíû ÷òîáû íà÷àòü íîâûé áîé';
$az = 0;
} elseif ($uz1['clan'] == $this->u->info['clan'] && $this->u->info['clan'] != 0 && $this->u->info['admin'] == 0 && true == false) {
$this->error = 'Âû íå ìîæåòå ñðàæàòüñÿ ïðîòèâ ñîêëàíîâ';
} elseif ($z['withUser'] != '' && $filter->mystr($this->u->info['login']) != $filter->mystr(
$z['withUser']
) && $z['razdel'] == 3) {
$this->error = 'Âû íå ìîæåòå ïðèíÿòü ýòó çàÿâêó';
} elseif ($z['money'] > 0 && $z['money'] > $this->u->info['money']) {
$this->error = 'Ó Âàñ íåäîñòàòî÷íî äåíåã, ÷òîáû ïðèíÿòü ýòó çàÿâêó';
} elseif ($this->u->stats['hpNow'] < ceil($this->u->stats['hpMax'] / 100 * 30)) {
$this->error = 'Âû ñëèøêîì îñëàáëåíû, âîññòàíîâèòåñü';
} elseif (!isset($uz2['id'])) {
$upd = mysql_query(
'UPDATE `stats` SET `zv` = "' . $z['id'] . '",`team` = "2" WHERE `id` = "' . $this->u->info['id'] . '" LIMIT 1'
);
if ($upd) {
$ca = '';
if ($uz1['clan'] != 0) {
$pc = mysql_fetch_array(
mysql_query(
'SELECT * FROM `clan` WHERE `id`="' . $uz1['clan'] . '" LIMIT 1'
)
);
if (isset($pc['id'])) {
$pc['img'] = $pc['name_mini'] . '.gif';
$ca = '<img title="' . $pc['name'] . '" src="https://img.new-combats.com/i/clan/' . $pc['name_mini'] . '.gif">';
}
}
if ($uz1['align'] != 0) {
$ca = '<img src="https://img.new-combats.com/i/align/align' . $uz1['align'] . '.gif">' . $ca;
}
$this->error = 'Îæèäàåì ïîäòâåðæäåíèÿ áîÿ îò ' . $ca . ' ' . $uz1['login'] . ' [' . $uz1['level'] . ']<a href="info/' . $uz1['id'] . '" target="_blank"><img src="https://img.new-combats.com/i/inf_capitalcity.gif"></a>';
$sa = '';
if ($this->u->info['sex'] == 2) {
$sa = 'à';
}
$text = ' [login:' . $this->u->info['login'] . '] ïðèíÿë' . $sa . ' âàøó çàÿâêó íà áîé.[reflesh_main_zv_priem:' . $this->u->info['id'] . ']';
mysql_query(
"INSERT INTO `chat` (`new`,`city`,`room`,`login`,`to`,`text`,`time`,`type`,`toChat`) VALUES ('1','" . $uz1['city'] . "','','','" . $uz1['login'] . "','" . $text . "','" . time(
) . "','6','0')"
);
$zi = $z;
$this->u->info['zv'] = $z['id'];
$this->u->info['team'] = 2;
} else {
$this->error = 'Íåâîçìîæíî ïðèíÿòü çàÿâêó.';
}
} else {
$this->error = 'Çàÿâêó óæå êòî-òî ïðèíÿë äî âàñ.';
}
} else {
$this->error = 'Çàÿâêà íà áîé çàáëîêèðîâàíà.';
}
} elseif ($z['razdel'] == 4 && $this->u->info['level'] > 1) {
$tm = 0;
//ãðóïïîâûå
if (isset($_GET['tm1'])) {
$tm = 1;
} elseif (isset($_GET['tm2'])) {
$tm = 2;
} else {
$this->error = '×òî-òî çäåñü íå òàê';
}
if ($tm != 0) {
$t1 = $tm;
$t2 = 1;
$tmmax = 0;
if ($tm == 1) {
$t2 = 2;
}
$cl111 = mysql_query(
'SELECT `u`.`clan`,`st`.`team`,`st`.`id`,`st`.`zv` FROM `stats` AS `st` LEFT JOIN `users` AS `u` ON (`st`.`id` = `u`.`id`) WHERE `st`.`zv` = "' . $z['id'] . '" LIMIT 200'
);
$cln = 0;
while ($pc111 = mysql_fetch_array($cl111)) {
if ($pc111['clan'] == $this->u->info['clan'] && $this->u->info['clan'] != 0 && $pc111['team'] == $t2) {
$cln++;
}
if ($pc111['team'] == $t1) {
$tmmax++;
}
}
if ($cln > 0) {
$this->error = 'Âû íå ìîæåòå ñðàæàòüñÿ ïðîòèâ ñîêëàíîâ';
} elseif ($z['bot2'] == 1 && $t1 == 2) {
$this->error = 'Âû íå ìîæåòå ñðàæàòüñÿ íà ñòîðîíå áîòîâ';
} elseif ($z['money3'] > 0 && $z['money3'] > $this->u->info['money3']) {
$this->error = 'Ó Âàñ íåäîñòàòî÷íî äåíåã, ÷òîáû ïðèíÿòü ýòó çàÿâêó';
} elseif (($z['money'] > 0 || $z['money3'] > 0) && $this->u->info['level'] < 4) {
$this->error = 'Áîè íà äåíüãè ïðîâîäÿòñÿ ñ 4-ãî óðîâíÿ';
} elseif ($z['tm' . $t1 . 'max'] > $tmmax) {
if ($z['min_lvl_' . $t1] > $this->u->info['level'] || $z['max_lvl_' . $t1] < $this->u->info['level']) {
$this->error = 'Âû íå ïîäõîäèòå ïî óðîâíþ, çà ýòó êîìàíäó ìîãóò çàéòè ïåðñîíàæè ' . $z['min_lvl_' . $t1] . ' - ' . $z['max_lvl_' . $t1] . ' óðîâíÿ';
} elseif ($this->u->stats['hpNow'] < ceil($this->u->stats['hpMax'] / 100 * 30)) {
$this->error = 'Âû ñëèøêîì îñëàáëåíû, âîññòàíîâèòåñü';
} else {
$upd = mysql_query(
'UPDATE `stats` SET `zv` = "' . $z['id'] . '",`team` = "' . mysql_real_escape_string(
(int)$t1
) . '" WHERE `id` = "' . $this->u->info['id'] . '" LIMIT 1'
);
if (!$upd) {
$this->error = 'Îøèáêà ïðèåìà çàÿâêè...';
} else {
$this->error = 'Âû ïðèíÿëè ãðóïïîâîé áîé...';
$zi = $z;
$this->u->info['zv'] = $z['id'];
$this->u->info['team'] = mysql_real_escape_string((int)$t1);
}
}
} else {
$this->error = 'Ãðóïïà óæå íàáðàíà (' . ($z['tm' . $t1 . 'max'] - $tmmax) . ')';
}
}
} elseif ($z['razdel'] == 5 && $this->u->info['level'] > 1) {
//õàîòè÷íûå
$col_p = mysql_fetch_array(
mysql_query('SELECT COUNT(*) FROM `stats` WHERE `zv` = "' . $z['id'] . '"')
);
$cols = $col_p[0];
if ($cols >= $z['maxplayers']) {
$this->error = 'Äîñòèãíóò ìàêñèìàëüíûé ïðåäåë ó÷àñòíèêîâ â ýòîé çàÿâêå!';
} elseif ($this->testTravm() == 1 && $z['k'] != 1) {
$this->error = 'Âû òðàâìèðîâàíû. Ñ òàêèìè óâå÷üÿìè äîñòóïíû êóëà÷íûå áîè.';
} elseif ($this->testTravm() == 2) {
$this->error = 'Âû òðàâìèðîâàíû. Ñ òàêèìè óâå÷üÿìè íåâîçìîæíî ñðàæàòüñÿ.';
} elseif (!$this->u->info['no_zv_key'] && (!isset($_SESSION['code2']) || $_SESSION['code2'] < 1 || ($_POST['code21'] != $_SESSION['code2'] && $_POST['code22'] != $_SESSION['code2']))) {
$this->error = 'Íåïðàâèëüíûé êîä ïîäòâåðæäåíèÿ';
} elseif ($z['min_lvl_1'] > $this->u->info['level'] || $z['max_lvl_1'] < $this->u->info['level']) {
$this->error = 'Âû íå ïîäõîäèòå ïî óðîâíþ, çà ýòó êîìàíäó ìîãóò çàéòè ïåðñîíàæè ' . $z['min_lvl_1'] . ' - ' . $z['max_lvl_1'] . ' óðîâíÿ';
} elseif ($this->u->stats['hpNow'] < ceil($this->u->stats['hpMax'] / 100 * 30)) {
$this->error = 'Âû ñëèøêîì îñëàáëåíû, âîññòàíîâèòåñü';
} elseif ($z['money'] > 0 && $this->u->info['level'] < 4) {
$this->error = 'Áîè íà äåíüãè ïðîâîäÿòñÿ ñ 4-ãî óðîâíÿ';
} else {
$t1 = 0;
if ($z['type'] == 33) {
//============================================================================================= Ïðèçîâûå
Db::sql(
'insert into users (name, align, `real`, login, host_reg, pass, ip, ipreg, city, cityreg, room, timereg, mail, bithday, sex, fnq, battle, design, molch2, level)
values (?,?,1,?,0,?,?,?,?,?,422,unix_timestamp(),?,?,?,0,0,1,unix_timestamp() + 86400,8)',
[
$this->u->info['name'],
$this->u->info['align'],
$this->u->info['login'],
$this->u->info['pass'],
IP,
IP,
'capitalcity',
'capitalcity',
'haot@new-combats.com',
'01.01.1980',
$this->u->info['sex'],
]
);
$uidb = Db::lastInsertId();
Db::sql('update users set inUser = ? where id = ?', [$uidb, $this->u->info['id']]);
//òóò êëàññû
$sellclass = rand(1, 6);
$stmt1 = Db::prepare('update items_users set inOdet = ? where id = ?');
$stmt2 = Db::prepare(
'update items_users set `1price` = (select price_1 from items_shop where sid = 1 and items_shop.item_id = ?) where id = ?'
);
$stmt3 = Db::prepare(
'insert into stats (id, stats, ability, skills, exp, priems) values (?,?,-75,-9,100000,?)'
);
if ($sellclass == 1) {
//óâîðîò êëàññ 1
$this->add_effn($uidb, 8); // ëîâêà
$this->add_effn($uidb, 20); // ñîêðóøåíèå
$items = [
1 => 525,
2 => 539,
3 => 523,
14 => 523,
4 => 290,
5 => 541,
7 => 633,
8 => 647,
9 => 680,
10 => 685,
11 => 685,
12 => 685,
13 => 1151,
16 => 707,
17 => 712,
];
foreach ($items as $slot => $itemId) {
$re = $this->u->addItem($itemId, $uidb);
$stmt1->execute([$slot, $re]);
$stmt2->execute([$itemId, $re]);
}
$stmt3->execute(
[
$uidb,
's1=21|s2=31|s3=16|s4=30|rinv=40|m9=5|m6=10|s7=0|a1=10|a2=0|a3=0|a4=0|a5=0|mg1=0|mg2=0|mg3=0|mg4=0|mg5=0|mg6=0|mg7=0|s5=0|s6=0',
'193|8|217|221|6|213|14|220|141|232|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0',
]
);
//óâîðîò êëàññ çàêîí÷åí
} elseif ($sellclass == 2) {
//êðèò êëàññ 2
$this->add_effn($uidb, 7); // èíòà
$this->add_effn($uidb, 20); // ñîêðóøåíèå
$items = [
1 => 527,
2 => 537,
3 => 567,
14 => 723,
4 => 291,
5 => 544,
7 => 626,
8 => 651,
9 => 683,
10 => 686,
11 => 686,
12 => 686,
13 => 706,
16 => 708,
17 => 717,
];
foreach ($items as $slot => $itemId) {
$re = $this->u->addItem($itemId, $uidb);
$stmt1->execute([$slot, $re]);
$stmt2->execute([$itemId, $re]);
}
$stmt3->execute(
[
$uidb,
's1=24|s2=20|s3=24|s4=30|rinv=40|m9=5|m6=10|s7=0|a1=0|a2=0|a3=0|a4=9|a5=0|mg1=0|mg2=0|mg3=0|mg4=0|mg5=0|mg6=0|mg7=0|s5=0|s6=0|a6=0|s8=0|s9=0|s10=0|s11=0|s12=0|s13=0|s14=0|s15=0',
'193|204|221|138|9|188|240|215|147|232|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0',
]
);
} elseif ($sellclass == 3) {
//òàíê êëàññ 3
$this->add_effn($uidb, 1); // ñèëà
$this->add_effn($uidb, 20); // ñîêðóøåíèå
$items = [
1 => 533,
2 => 536,
3 => 558,
14 => 722,
4 => 291,
5 => 545,
7 => 628,
8 => 654,
9 => 684,
10 => 689,
11 => 689,
12 => 689,
13 => 700,
16 => 710,
17 => 718,
];
foreach ($items as $slot => $itemId) {
$re = $this->u->addItem($itemId, $uidb);
$stmt1->execute([$slot, $re]);
$stmt2->execute([$itemId, $re]);
}
$stmt3->execute(
[
$uidb,
's1=42|s2=3|s3=3|s4=50|rinv=40|m9=5|m6=10|s7=0|a1=0|a2=0|a3=9|a4=0|a5=0|mg1=0|mg2=0|mg3=0|mg4=0|mg5=0|mg6=0|mg7=0|s5=0|s6=0|a6=0|s8=0|s9=0|s10=0|s11=0|s12=0|s13=0|s14=0|s15=0',
'11|204|233|226|45|14|139|221|6|232|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0',
]
);
} elseif ($sellclass == 4) {
//òîïîð êëàññ 4
$this->add_effn($uidb, 1); // ñèëà
$this->add_effn($uidb, 20); // ñîêðóøåíèå
$items = [
1 => 528,
2 => 538,
3 => 552,
14 => 552,
4 => 291,
5 => 543,
7 => 627,
8 => 653,
9 => 681,
10 => 687,
11 => 687,
12 => 687,
13 => 320,
16 => 709,
17 => 716,
];
foreach ($items as $slot => $itemId) {
$re = $this->u->addItem($itemId, $uidb);
$stmt1->execute([$slot, $re]);
$stmt2->execute([$itemId, $re]);
}
$stmt3->execute(
[
$uidb,
's1=43|s2=15|s3=15|s4=25|rinv=40|m9=5|m6=10|s7=0|a1=0|a2=10|a3=0|a4=0|a5=0|mg1=0|mg2=0|mg3=0|mg4=0|mg5=0|mg6=0|mg7=0|s5=0|s6=0',
'193|139|49|14|6|217|221|204|147|45|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0',
]
);
} elseif ($sellclass == 5) {
//ì çåìëÿ êëàññ 5
//êàñòèì ýôåêòû
$this->add_effn($uidb, 9); // èíòåëåêò
$this->add_effn($uidb, 32); // Õîëîäíûé ðàçóì
$this->add_effn($uidb, 54); // Ìàã óñåëîê çåìëÿ
$this->add_effn($uidb, 439); // Ìàã óñåëîê
$items = [
1 => 531,
2 => 534,
3 => 1026,
4 => 291,
5 => 548,
7 => 629,
8 => 657,
9 => 674,
10 => 692,
11 => 692,
12 => 692,
13 => 699,
16 => 711,
17 => 714,
];
foreach ($items as $slot => $itemId) {
$re = $this->u->addItem($itemId, $uidb);
$stmt1->execute([$slot, $re]);
$stmt2->execute([$itemId, $re]);
}
$stmt3->execute(
[
$uidb,
's1=14|s2=3|s3=3|s4=25|rinv=40|m9=5|m6=10|s7=0|a1=0|a2=0|a3=0|a4=0|a5=3|mg1=0|mg2=0|mg3=0|mg4=6|mg5=0|mg6=0|mg7=0|s5=13|s6=40|a6=0|s8=0|s9=0|s10=0|s11=0|s12=0|s13=0|s14=0|s15=0',
'208|117|170|44|113|128|122|249|246|147|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0',
]
);
} elseif ($sellclass == 6) {
//ì âîçäóõ 6
//êàñòèì ýôåêòû
$this->add_effn($uidb, 9); // èíòåëåêò
$this->add_effn($uidb, 32); // Õîëîäíûé ðàçóì
$this->add_effn($uidb, 53); // Ìàã óñåëîê âîçäóõ
$this->add_effn($uidb, 439); // Ìàã óñåëîê
$items = [
1 => 531,
2 => 534,
3 => 1026,
4 => 291,
5 => 548,
7 => 629,
8 => 658,
9 => 675,
10 => 693,
11 => 693,
12 => 693,
13 => 699,
16 => 711,
17 => 714,
];
foreach ($items as $slot => $itemId) {
$re = $this->u->addItem($itemId, $uidb);
$stmt1->execute([$slot, $re]);
$stmt2->execute([$itemId, $re]);
}
$stmt3->execute(
[
$uidb,
's1=14|s2=3|s3=3|s4=25|rinv=40|m9=5|m6=10|s7=0|a1=0|a2=0|a3=0|a4=0|a5=3|mg1=0|mg2=6|mg3=0|mg4=0|mg5=0|mg6=0|mg7=0|s5=13|s6=40|a6=0|s8=0|s9=0|s10=0|s11=0|s12=0|s13=0|s14=0|s15=0',
'208|93|98|260|39|263|257|104|30|147|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0',
]
);
}
// êëàññû êîí÷èëèñü
//êàñòèì ýôåêòû
$this->add_effn($uidb, 37);//íåêòàð
$this->add_effn($uidb, 38);//íåêòàð îòðèöàíèÿ
$this->add_effn($uidb, 283);//Áóòåðáðîä -Çàâòðàê Ðûöàðÿ- òîëñòûé
$this->add_effn($uidb, 25);//Çàùèòà îò îðóæèÿ
$this->add_effn($uidb, 296);//Æàæäà Æèçíè +6
Db::sql('update users set money = -3000, money2 = 0 where id = ?', [$uidb]);
//Êîðåêöèÿ õï â ïðèçîâûõ
Db::sql('update stats set hpNow = hpAll, mpNow = mpAll where id = ?', [$uidb]);
$this->u->info['id'] = $uidb;
//=============================================================================================
$this->error = 'Âû âñåëåíû â êëîíà 8ãî ëåâåëà'; //ÒÓÒ âñåëÿåì â êëîíà ïðèçîâûå õàîòû
echo '<script>location="main.php?battle_id=' . $btl_id . '";</script>';
}
$this->u->info['login2'] = '';
$blnc = $this->u->stats['reting'];
$z['tm' . $t1] += $blnc;
$upd = Db::run(
'update stats set zv = ?, team = ? where id = ?',
[$z['id'], $t1, $this->u->info['id']]
);
if ($upd) {
Db::sql(
'update users set login2 = ? where id = ?',
[$this->u->info['login2'], $this->u->info['id']]
);
Db::sql(
'update zayvki set tm1 = ?, tm2 = ? where id = ?',
[$z['tm1'], $z['tm2'], $z['id']]
);
$zi = $z;
$this->u->info['zv'] = $z['id'];
$this->u->info['team'] = $t1;
$this->error = 'Âû ïðèíÿëè õàîòè÷íûé áîé...';
} else {
$this->error = 'Îøèáêà ïðèåìà çàÿâêè...';
}
}
}
} else {
$this->error = 'Çàÿâêà íà áîé íå íàéäåíà.';
}
}
}
}
}