2018-01-28 16:40:49 +00:00
< ?
$Priz = array ( 1 => array ( 1 => 10 , 20 , 30 , 40 , 50 , 60 , 70 , 80 ),
2 => array ( 1 => 8 , 15 , 20 , 30 , 35 , 45 , 50 , 60 ),
3 => array ( 1 => 5 , 10 , 15 , 20 , 25 , 30 , 35 , 40 ));
class TTournament {
public
$MaxUserLevel = 9 ;
/* function __construct ( $id ){
}
function __destruct (){
} */
function AddUserInTournament ( $id ){
global $user ;
$chek = mysql_fetch_row ( mysql_query ( " select id from turnament where id= " . $id . " and old=0 " ));
if ( $chek [ 0 ] == '' ) die ( " Жаль, очень жаль.... " );
if ( mysql_query ( " insert into turnamuser (idturnam,iduser,level) values( " . $id . " , " . $user [ 'id' ] . " , " . $user [ 'level' ] . " ) " )){
mysql_query ( " update turnament set kolvo=kolvo+1 where id= " . $id );
echo " Регистрация пройдена! " ;
}
else die ( " Вы уже зарегистрированы. " );
}
function DellUserInTournament ( $id ){
global $user ;
mysql_query ( " delete from turnamuser where idturnam= " . $id . " and iduser= " . $user [ 'id' ]);
mysql_query ( " update turnament set kolvo=kolvo-1 where id= " . $id );
echo " Заявка отозвана<br> " ;
}
function fract ( $num = 0 ) {
if ( ! is_double ( $num )) return false ;
$out = explode ( '.' , $num );
return $out [ 1 ];
}
function PrepearTournir (){ //запускается за час до начала турнира
for ( $i = 1 ; $i < $this -> MaxUserLevel ; $i ++ ){
$uch = mysql_query ( " select id,iduser from turnamuser where loose=0 and idturnam=(select id from turnament where old=0 and level= " . $i . " ) order by id desc " );
$kol = mysql_num_rows ( $uch );
$cop = $kol ;
if ( $kol > 7 ){
While ( true ){
$stepen = log ( $cop ) / log ( 2 );
if ( $this -> fract ( $stepen ) == false ){ //==false - дробная часть отсутствует
for ( $j = 1 ; $j <= ( $kol - $cop ); $j ++ ){
$res = mysql_fetch_row ( $uch );
mysql_query ( " delete from turnamuser where id= " . $res [ 0 ]);
2018-03-04 00:09:58 +00:00
addchp ( '<font color=red>Внимание!</font> Н а этой неделе Вам не нашлелся противник в турнире.<BR>' , '{[]}' . nick :: id ( $res [ 1 ]) -> short () . '{[]}' );
2018-01-28 16:40:49 +00:00
}
mysql_query ( " update turnament set kolvo=kolvo- " . ( $kol - $cop ) . " where old=0 and level= " . $i );
break ;
}
$cop -- ;
}
$CountUser = array ();
while ( $res = mysql_fetch_row ( $uch )){
$CountUser [] = $res [ 1 ];
}
@ shuffle ( $CountUser );
for ( $ii = 0 ; $ii < count ( $CountUser ); $ii ++ ){
$user1 = $CountUser [ $ii ];
$user2 = $CountUser [ ++ $ii ];
mysql_query ( " insert into turnirbattle(userid,userid1,level,idtur) values( " . $user1 . " , " . $user2 . " , " . $i . " ,(select id from turnament where old=0 and level= " . $i . " )) " );
2018-03-04 00:09:58 +00:00
addchp ( '<font color=red>Внимание!</font> Подготовтесь к турниру.<BR>' , '{[]}' . nick :: id ( $user1 ) -> short () . '{[]}' );
addchp ( '<font color=red>Внимание!</font> Подготовтесь к турниру.<BR>' , '{[]}' . nick :: id ( $user2 ) -> short () . '{[]}' );
2018-01-28 16:40:49 +00:00
}
}
else {
//Если команда не набралась удалить из таблицы и поставить турниру статус 2
while ( $res = mysql_fetch_row ( $uch )){
mysql_query ( " delete from turnamuser where id= " . $res [ '0' ]);
2018-03-04 00:09:58 +00:00
addchp ( '<font color=red>Внимание!</font>Н а этой неделе команда для турнира не набралась.<BR>' , '{[]}' . nick :: id ( $res [ 1 ]) -> short () . '{[]}' );
2018-01-28 16:40:49 +00:00
}
mysql_query ( " delete from turnament where old=0 and level= " . $i );
}
}
}
// созает поединок между 2 юзерами
function MakeBattle ( $user1 , $user2 ) {
$res = mysql_fetch_array ( mysql_query ( " select * from turnirbattle where userid= " . $user1 . " or userid1= " . $user1 . " limit 1 " ));
if ( $res [ 'userid1' ] == $user1 && $res [ 'badmaxweap1' ] != 0 ){
if (( time () - $res [ 'badmaxweap1' ]) > 120 ){
mysql_query ( " update turnamuser set loose=2, place= " . time () . " where iduser= " . $user1 . " and idturnam= " . $res [ 'idtur' ]);
mysql_query ( " delete from turnirbattle where userid1= " . $user1 );
2018-03-04 00:09:58 +00:00
addchp ( '<font color=red>Внимание!</font>Вы выбыли из турнира<BR>' , '{[]}' . nick :: id ( $user1 ) -> short () . '{[]}' );
addchp ( '<font color=red>Внимание!</font>Ваш противник отказался от боя. Техническая победа.<BR>' , '{[]}' . nick :: id ( $user2 ) -> short () . '{[]}' );
2018-01-28 16:40:49 +00:00
}
} elseif ( $res [ 'userid' ] == $user2 && $res [ 'badmaxweap' ] != 0 ){
if (( time () - $res [ 'badmaxweap' ]) > 120 ){
mysql_query ( " update turnamuser set loose=2, place= " . time () . " where iduser= " . $user2 . " and idturnam= " . $res [ 'idtur' ]);
mysql_query ( " delete from turnirbattle where userid= " . $user2 );
2018-03-04 00:09:58 +00:00
addchp ( '<font color=red>Внимание!</font>Вы выбыли из турнира<BR>' , '{[]}' . nick :: id ( $user2 ) -> short () . '{[]}' );
addchp ( '<font color=red>Внимание!</font>Ваш противник отказался от боя. Техническая победа.<BR>' , '{[]}' . nick :: id ( $user1 ) -> short () . '{[]}' );
2018-01-28 16:40:49 +00:00
}
}
elseif ( $res [ 'userid' ] == $user1 && $res [ 'badmaxweap' ] != 0 ){
if (( time () - $res [ 'badmaxweap' ]) > 120 ){
mysql_query ( " update turnamuser set loose=2, place= " . time () . " where iduser= " . $user1 . " and idturnam= " . $res [ 'idtur' ]);
mysql_query ( " delete from turnirbattle where userid= " . $user1 );
2018-03-04 00:09:58 +00:00
addchp ( '<font color=red>Внимание!</font>Вы выбыли из турнира<BR>' , '{[]}' . nick :: id ( $user1 ) -> short () . '{[]}' );
addchp ( '<font color=red>Внимание!</font>Ваш противник отказался от боя. Техническая победа.<BR>' , '{[]}' . nick :: id ( $user2 ) -> short () . '{[]}' );
2018-01-28 16:40:49 +00:00
}
}
elseif ( $res [ 'userid1' ] == $user2 && $res [ 'badmaxweap1' ] != 0 ){
if (( time () - $res [ 'badmaxweap1' ]) > 120 ){
mysql_query ( " update turnamuser set loose=2, place= " . time () . " where iduser= " . $user2 . " and idturnam= " . $res [ 'idtur' ]);
mysql_query ( " delete from turnirbattle where userid1= " . $user2 );
2018-03-04 00:09:58 +00:00
addchp ( '<font color=red>Внимание!</font>Вы выбыли из турнира<BR>' , '{[]}' . nick :: id ( $user2 ) -> short () . '{[]}' );
addchp ( '<font color=red>Внимание!</font>Ваш противник отказался от боя. Техническая победа.<BR>' , '{[]}' . nick :: id ( $user1 ) -> short () . '{[]}' );
2018-01-28 16:40:49 +00:00
}
}
else {
//Если на человеке лишняя одежда написать чтобы снял поставить время ожидания 2 минуты
$Shmotuser = mysql_fetch_array ( mysql_query ( " select * from users where id= " . $user1 ));
$Shmotuser1 = mysql_fetch_array ( mysql_query ( " select * from users where id= " . $user2 ));
$PriceWeap = mysql_fetch_row ( mysql_query ( " select cost from inventory where id= " . $Shmotuser [ 'weap' ] . " limit 1 " ));
$PriceWeap1 = mysql_fetch_row ( mysql_query ( " select cost from inventory where id= " . $Shmotuser1 [ 'weap' ] . " limit 1 " ));
if ( $PriceWeap [ 0 ] == '' ) $PriceWeap [ 0 ] = 0 ;
if ( $PriceWeap1 [ 0 ] == '' ) $PriceWeap1 [ 0 ] = 0 ;
if ( $PriceWeap [ 0 ] > 16 || $Shmotuser [ 'sergi' ] != 0 || $Shmotuser [ 'kulon' ] != 0 || $Shmotuser [ 'perchi' ] != 0 || $Shmotuser [ 'bron' ] != 0 || $Shmotuser [ 'r1' ] != 0 || $Shmotuser [ 'r2' ] != 0 || $Shmotuser [ 'r3' ] != 0 || $Shmotuser [ 'helm' ] != 0 || $Shmotuser [ 'shit' ] != 0 || $Shmotuser [ 'boots' ] != 0 || $Shmotuser [ 'stats' ] != 0 || $Shmotuser [ 'm1' ] != 0 || $Shmotuser [ 'm2' ] != 0 || $Shmotuser [ 'm3' ] != 0 || $Shmotuser [ 'm4' ] != 0 || $Shmotuser [ 'm5' ] != 0 || $Shmotuser [ 'm6' ] != 0 || $Shmotuser [ 'm7' ] != 0 || $Shmotuser [ 'm8' ] != 0 || $Shmotuser [ 'm9' ] != 0 || $Shmotuser [ 'm10' ] != 0 ){
if ( $res [ 'userid' ] == $user1 )
mysql_query ( " update turnirbattle set badmaxweap= " . time () . " , checkuser=0 where userid= " . $user1 );
if ( $res [ 'userid1' ] == $user1 )
mysql_query ( " update turnirbattle set badmaxweap1= " . time () . " , checkuser2=0 where userid1= " . $user1 );
2018-03-04 00:09:58 +00:00
addchp ( '<font color=red>Внимание!</font>Оставьте оружие только до 16экр или оставьте только оружие.<BR>' , '{[]}' . nick :: id ( $user1 ) -> short () . '{[]}' );
2018-01-28 16:40:49 +00:00
}
elseif ( $PriceWeap1 [ 0 ] > 16 || $Shmotuser1 [ 'sergi' ] != 0 || $Shmotuser1 [ 'kulon' ] != 0 || $Shmotuser1 [ 'perchi' ] != 0 || $Shmotuser1 [ 'bron' ] != 0 || $Shmotuser1 [ 'r1' ] != 0 || $Shmotuser1 [ 'r2' ] != 0 || $Shmotuser1 [ 'r3' ] != 0 || $Shmotuser1 [ 'helm' ] != 0 || $Shmotuser1 [ 'shit' ] != 0 || $Shmotuser1 [ 'boots' ] != 0 || $Shmotuser1 [ 'stats' ] != 0 || $Shmotuser1 [ 'm1' ] != 0 || $Shmotuser1 [ 'm2' ] != 0 || $Shmotuser1 [ 'm3' ] != 0 || $Shmotuser1 [ 'm4' ] != 0 || $Shmotuser1 [ 'm5' ] != 0 || $Shmotuser1 [ 'm6' ] != 0 || $Shmotuser1 [ 'm7' ] != 0 || $Shmotuser1 [ 'm8' ] != 0 || $Shmotuser1 [ 'm9' ] != 0 || $Shmotuser1 [ 'm10' ] != 0 ){
if ( $res [ 'userid' ] == $user2 )
mysql_query ( " update turnirbattle set badmaxweap= " . time () . " , checkuser=0 where userid= " . $user2 );
if ( $res [ 'userid1' ] == $user2 )
mysql_query ( " update turnirbattle set badmaxweap1= " . time () . " , checkuser2=0 where userid1= " . $user2 );
2018-03-04 00:09:58 +00:00
addchp ( '<font color=red>Внимание!</font>Оставьте оружие только до 16экр или оставьте только оружие.<BR>' , '{[]}' . nick :: id ( $user2 ) -> short () . '{[]}' );
2018-01-28 16:40:49 +00:00
}
else {
// генерим массив с командами
$teams = array ();
$teams [ $user1 ][ $user2 ] = array ( 0 , 0 , time ());
$teams [ $user2 ][ $user1 ] = array ( 0 , 0 , time ());
//Востанавливаем HP
mysql_query ( " update users set hp=maxhp where id= " . $user1 . " or id= " . $user2 );
// создаем битву
mysql_query ( " INSERT INTO `battle`(
`id` , `coment` , `teams` , `timeout` , `type` , `status` , `t1` , `t2` , `to1` , `to2` , `blood` )
VALUES (
NULL , '' , '".serialize($teams)."' , '3' , '1' , '0' , '".$user1."' , '".$user2."' , '".time()."' , '".time()."' , '0' ) " );
// айди боя
$id = mysql_insert_id ();
// кидаем в бой
mysql_query ( " UPDATE `users` SET `battle` = { $id } WHERE `id` = " . $user1 . " OR `id` = " . $user2 );
// создаем лог
2018-03-03 22:54:41 +00:00
$rr = " <b> " . nick :: id ( $user [ 'id' ]) -> full ( 1 ) . " </b> и <b> " . nick :: id ( $jert [ 'id' ]) -> full ( 1 ) . " </b> " ;
2018-03-04 00:09:58 +00:00
addch ( " <a href=logs.php?log= " . $id . " target=_blank>Бой</a> между <B><b> " . nick :: id ( $user [ 'id' ]) -> short () . " </b> и <b> " . nick :: id ( $jert [ 'id' ]) -> short () . " </b> начался. " , $user [ 'room' ]);
2018-01-28 16:40:49 +00:00
addlog ( $id , " Часы показывали <span class=date> " . date ( " Y.m.d H.i " ) . " </span>, когда " . $rr . " решили выяснить кто из них сильнее. <i>(турнир)</i><BR> " );
return $id ;
}
}
}
// функция проверки статуса боя
function CheckBattle ( $id ) {
// если по айдишнику возвращается
// 1 - победил USER1
// 2 - победил USER2
// 3 - бои идет
$res = mysql_fetch_array ( mysql_query ( " SELECT `win` FROM `battle` WHERE `id` = " . ( int ) $id . " LIMIT 1; " ));
return $res [ 'win' ];
}
function UpdateTournir (){
for ( $i = 1 ; $i < $this -> MaxUserLevel ; $i ++ ){
$sql = mysql_query ( " select * from turnirbattle where level= " . $i );
if ( mysql_numrows ( $sql ) == 0 ){
$this -> NextTournir ( $i );
//$this->StartTournir($i);
}
else {
echo " Для " . $i . " уровня игроков следующий этап турнира начнется после завершения следующих боёв: <br> " ;
}
while ( $res = mysql_fetch_array ( $sql )){
$win = $this -> CheckBattle ( $res [ 'battleid' ]);
if ( $win == 1 ){
mysql_query ( " update turnamuser set place= " . time () . " , loose=loose+1 where iduser= " . $res [ 'userid1' ]);
mysql_query ( " update turnamuser set place=0 where iduser= " . $res [ 'userid' ]);
mysql_query ( " delete from turnirbattle where id= " . $res [ 'id' ]);
}
if ( $win == 2 ){
mysql_query ( " update turnamuser set place= " . time () . " , loose=loose+1 where iduser= " . $res [ 'userid' ]);
mysql_query ( " update turnamuser set place=0 where iduser= " . $res [ 'userid1' ]);
mysql_query ( " delete from turnirbattle where id= " . $res [ 'id' ]);
}
if ( $win == 3 ){
2018-03-03 22:54:41 +00:00
echo nick :: id ( $res [ 'userid' ]) -> full ( 1 ) . " против " . nick :: id ( $res [ 'useridl' ]) -> full ( 1 );
2018-01-28 16:40:49 +00:00
}
}
}
}
function NextTournir ( $level ){
$CheckFinal = array ();
for ( $i = 0 ; $i <= 1 ; $i ++ ){
$sql = mysql_query ( " select iduser from turnamuser where level= " . $level . " and loose= " . $i . " and idturnam=(select id from turnament where old=0 and level= " . $level . " ) " );
$ArrayUsers = array ();
while ( $res = mysql_fetch_row ( $sql )){
$ArrayUsers [] = $res [ 0 ];
}
@ shuffle ( $CountUser );
if ( count ( $ArrayUsers ) == 1 ) $CheckFinal [] = $ArrayUsers [ 0 ];
2018-03-04 00:09:58 +00:00
if ( count ( $ArrayUsers ) == 1 && $i == 0 ) addchp ( '<font color=red>Внимание!</font> Вы вышли в финал. Дождитесь второго финалиста.<BR>' , '{[]}' . nick :: id ( $ArrayUsers [ 0 ]) -> short () . '{[]}' );
2018-01-28 16:40:49 +00:00
if ( $this -> fract ( count ( $ArrayUsers ) / 2 ) != false )
$countUs = count ( $ArrayUsers ) - 1 ;
else
$countUs = count ( $ArrayUsers );
for ( $ii = 0 ; $ii < $countUs ; $ii ++ ){
$user1 = $ArrayUsers [ $ii ];
$user2 = $ArrayUsers [ ++ $ii ];
//Востанавливаем HP
mysql_query ( " update users set hp=maxhp where id= " . $user1 . " or id= " . $user2 );
mysql_query ( " insert into turnirbattle(userid,userid1,level,idtur) values( " . $user1 . " , " . $user2 . " , " . $level . " ,(select id from turnament where old=0 and level= " . $level . " )) " );
2018-03-04 00:09:58 +00:00
addchp ( '<font color=red>Внимание!</font> Подготовтесь к следующему туру.<BR>' , '{[]}' . nick :: id ( $user1 ) -> short () . '{[]}' );
addchp ( '<font color=red>Внимание!</font> Подготовтесь к следующему туру.<BR>' , '{[]}' . nick :: id ( $user2 ) -> short () . '{[]}' );
2018-01-28 16:40:49 +00:00
}
}
if ( count ( $CheckFinal ) == 2 ) $this -> TournirFinal ( $level , $CheckFinal );
if ( count ( $CheckFinal ) == 1 ) {
$this -> CreateHTML ( $level );
//поставить турниру статус 2. создать HTML для подгрузки результатов
//Если команда не набралась - удалить турнир. - эо при старте в 4 часа.
//$this->ShowTournirFinaliats($level);
}
}
function CreateHTML ( $level ){
global $Priz ;
$dir = " logtur/ " . $level ;
if ( ! file_exists ( $dir )) mkdir ( $dir );
$tur = mysql_fetch_array ( mysql_query ( " select * from turnament where old=0 and level= " . $level . " limit 1 " ));
$f = fopen ( $dir . " / " . $tur [ 'datetime' ] . " .html " , 'w+' );
fwrite ( $f , '<html><head><TITLE></TITLE><META content="text/html; charset=utf-8" http-equiv=Content-type></head>' );
fwrite ( $f , '<bpdy><table><tr><td>Игрок</td><td>Место</td></tr>' );
mysql_query ( " update turnamuser set place= " . ( time () + 1000 ) . " where place=0 and idturnam= " . $tur [ 'id' ] . " and level= " . $level );
$sql = mysql_query ( " select tur.*, us.login from turnamuser as tur left join users as us on us.id=tur.iduser where tur.idturnam= " . $tur [ 'id' ] . " order by tur.place desc " );
$i = 1 ;
while ( $res = mysql_fetch_array ( $sql )){
if ( $i == 1 || $i == 2 || $i == 3 ){
mysql_query ( " INSERT INTO `delo`(`id` , `author` ,`pers`, `text`, `type`, `date`) VALUES ('','0',' " . $res [ 'iduser' ] . " ','Выиграл в турнире " . $Priz [ $i ][ $level ] . " кр.','1',' " . time () . " '); " );
2018-03-04 00:09:58 +00:00
addchp ( '<font color=red>Внимание!</font> З а ' . $i . ' место в турнире, Вы получили ' . $Priz [ $i ][ $level ] . ' кр.<BR>' , '{[]}' . nick :: id ( $res [ 'iduser' ]) -> short () . '{[]}' );
2018-01-28 16:40:49 +00:00
}
fwrite ( $f , '<tr><td>' . $res [ 'login' ] . '</td><td>' . $i ++. '</td></tr>' );
}
fwrite ( $f , '</table></body></html>' );
fclose ( $f );
mysql_query ( " update turnament set old=2, path='/ " . $dir . " / " . $tur [ 'datetime' ] . " .html' where old=0 and level= " . $level );
//Раскоментить перед заливкой
//if (mysql_numrows(mysql_query("select id from turnament where old=0"))==0) $this->CreateTournament("Еженедельные турниры");
}
function ShowTournirFinaliats (){
$sql = mysql_query ( " select datetime,level,path from turnament where old=2 group by level order by datetime " );
$level = 0 ;
echo " Результаты прошедших турниров.<br><table border='0' style='background-color:#E0E0E0;'><tr><td>Уровень</td><td>Дата</td></tr> " ;
while ( $res = mysql_fetch_array ( $sql )){
if ( $level != $res [ 'level' ]) echo " <tr><td> " . $res [ 'level' ] . " </td> " ;
echo " <td><a href='http://capitalcity.oldbk.com " . $res [ 'path' ] . " '> " . date ( " d.m.Y H:i " , $res [ 'datetime' ]) . " </a></td> " ;
if ( $level != $res [ 'level' ]){
echo " </tr> " ;
$level = $res [ 'level' ];
}
}
echo " </table> " ;
}
function TournirFinal ( $level , $masFinals ){
mysql_query ( " update turnamuser set place=0 where (iduser= " . $masFinals [ 0 ] . " or iduser= " . $masFinals [ 1 ] . " ) and idturnam=(select id from turnament where old=0 and level= " . $level . " ) " );
mysql_query ( " insert into turnirbattle(userid,userid1,level,idtur) values( " . $masFinals [ 0 ] . " , " . $masFinals [ 1 ] . " , " . $level . " ,(select id from turnament where old=0 and level= " . $level . " )) " );
2018-03-04 00:09:58 +00:00
addchp ( '<font color=red>Внимание!</font> Подготовтесь к финалу.<BR>' , '{[]}' . nick :: id ( $masFinals [ 0 ]) -> short () . '{[]}' );
addchp ( '<font color=red>Внимание!</font> Подготовтесь к финалу.<BR>' , '{[]}' . nick :: id ( $masFinals [ 1 ]) -> short () . '{[]}' );
2018-01-28 16:40:49 +00:00
}
function expectationenemy (){
global $user ;
$res = mysql_fetch_array ( mysql_query ( " select * from turnirbattle where userid= " . $user [ 'id' ] . " or userid1= " . $user [ 'id' ] . " limit 1 " ));
if ( $res [ 'id' ] != '' ){
if ( $res [ 'userid' ] == $user [ 'id' ] && $res [ 'checkuser' ] == 0 && $res [ 'badmaxweap' ] == 0 ){
mysql_query ( " update turnirbattle set checkuser=1 where userid= " . $user [ 'id' ]);
if ( $res [ 'checkuser2' ] == 1 ){
$battle = $this -> MakeBattle ( $res [ 'userid' ], $res [ 'userid1' ]);
mysql_query ( " update turnirbattle set battleid= " . $battle . " where id= " . $res [ 'id' ]);
}
}
elseif ( $res [ 'badmaxweap' ] != 0 ){
if (( time () - $res [ 'badmaxweap' ]) > 120 ){
mysql_query ( " update turnamuser set loose=2, place= " . time () . " where iduser= " . $res [ 'userid' ] . " and idturnam= " . $res [ 'idtur' ]);
mysql_query ( " delete from turnirbattle where userid= " . $res [ 'userid' ]);
2018-03-04 00:09:58 +00:00
addchp ( '<font color=red>Внимание!</font>Вы выбыли из турнира<BR>' , '{[]}' . nick :: id ( $res [ 'userid' ]) -> short () . '{[]}' );
addchp ( '<font color=red>Внимание!</font>Ваш противник отказался от боя. Техническая победа.<BR>' , '{[]}' . nick :: id ( $res [ 'userid1' ]) -> short () . '{[]}' );
2018-01-28 16:40:49 +00:00
}
}
if ( $res [ 'userid1' ] == $user [ 'id' ] && $res [ 'checkuser2' ] == 0 && $res [ 'badmaxweap1' ] == 0 ){
mysql_query ( " update turnirbattle set checkuser2=1 where userid1= " . $user [ 'id' ]);
if ( $res [ 'checkuser' ] == 1 ){
$battle = $this -> MakeBattle ( $res [ 'userid' ], $res [ 'userid1' ]);
mysql_query ( " update turnirbattle set battleid= " . $battle . " where id= " . $res [ 'id' ]);
}
}
elseif ( $res [ 'badmaxweap1' ] != 0 ){
if (( time () - $res [ 'badmaxweap1' ]) > 120 ){
mysql_query ( " update turnamuser set loose=2, place= " . time () . " where iduser= " . $res [ 'userid' ] . " and idturnam= " . $res [ 'idtur1' ]);
mysql_query ( " delete from turnirbattle where userid1= " . $res [ 'userid1' ]);
2018-03-04 00:09:58 +00:00
addchp ( '<font color=red>Внимание!</font>Вы выбыли из турнира<BR>' , '{[]}' . nick :: id ( $res [ 'userid1' ]) -> short () . '{[]}' );
addchp ( '<font color=red>Внимание!</font>Ваш противник отказался от боя. Техническая победа.<BR>' , '{[]}' . nick :: id ( $res [ 'userid' ]) -> short () . '{[]}' );
2018-01-28 16:40:49 +00:00
}
}
}
}
function StartTournir ( $level = '' ){ //Запускается в 17-00-10 каждую пятницу
//Разослать всем кнопочки на вход в турнир
global $user ;
$res = mysql_fetch_array ( mysql_query ( " select * from turnirbattle where userid= " . $user [ 'id' ] . " or userid1= " . $user [ 'id' ] . " limit 1 " ));
$PriceWeap = mysql_fetch_row ( mysql_query ( " select cost from inventory where id= " . $user [ 'weap' ] . " limit 1 " ));
if ( $PriceWeap [ 0 ] == '' ) $PriceWeap [ 0 ] = 0 ;
if ( $PriceWeap [ 0 ] > 16 || $user [ 'sergi' ] != 0 || $user [ 'kulon' ] != 0 || $user [ 'perchi' ] != 0 || $user [ 'bron' ] != 0 || $user [ 'r1' ] != 0 || $user [ 'r2' ] != 0 || $user [ 'r3' ] != 0 || $user [ 'helm' ] != 0 || $user [ 'shit' ] != 0 || $user [ 'boots' ] != 0 || $user [ 'stats' ] != 0 || $user [ 'm1' ] != 0 || $user [ 'm2' ] != 0 || $user [ 'm3' ] != 0 || $user [ 'm4' ] != 0 || $user [ 'm5' ] != 0 || $user [ 'm6' ] != 0 || $user [ 'm7' ] != 0 || $user [ 'm8' ] != 0 || $user [ 'm9' ] != 0 || $user [ 'm10' ] != 0 ){
if ( $res [ 'userid' ] == $user [ 'id' ] && $res [ 'badmaxweap' ] == 0 )
mysql_query ( " update turnirbattle set badmaxweap= " . time () . " , checkuser=0 where userid= " . $user [ 'id' ]);
if ( $res [ 'userid1' ] == $user [ 'id' ] && $res [ 'badmaxweap1' ] == 0 )
mysql_query ( " update turnirbattle set badmaxweap1= " . time () . " , checkuser2=0 where userid1= " . $user [ 'id' ]);
2018-03-04 00:09:58 +00:00
addchp ( '<font color=red>Внимание!</font>Оставьте оружие только до 16экр или оставьте только оружие.<BR>' , '{[]}' . nick :: id ( $user [ 'id' ]) -> short () . '{[]}' );
2018-01-28 16:40:49 +00:00
}
else {
if ( $res [ 'userid' ] == $user [ 'id' ]){
mysql_query ( " update turnirbattle set badmaxweap=0 where userid= " . $user [ 'id' ]);
}
if ( $res [ 'userid1' ] == $user [ 'id' ]){
mysql_query ( " update turnirbattle set badmaxweap1=0 where userid1= " . $user [ 'id' ]);
}
}
$sql = mysql_query ( " select * from turnirbattle where badmaxweap1<>0 or badmaxweap<>0 " );
while ( $res = mysql_fetch_array ( $sql )){
if ( $res [ 'badmaxweap1' ] != 0 ){
if (( time () - $res [ 'badmaxweap1' ]) > 120 ){
mysql_query ( " update turnamuser set loose=2, place= " . time () . " where iduser= " . $res [ 'userid1' ] . " and idturnam= " . $res [ 'idtur' ]);
mysql_query ( " delete from turnirbattle where userid1= " . $res [ 'userid1' ]);
2018-03-04 00:09:58 +00:00
addchp ( '<font color=red>Внимание!</font>Вы выбыли из турнира<BR>' , '{[]}' . nick :: id ( $res [ 'userid1' ]) -> short () . '{[]}' );
addchp ( '<font color=red>Внимание!</font>Ваш противник отказался от боя. Техническая победа.<BR>' , '{[]}' . nick :: id ( $res [ 'userid' ]) -> short () . '{[]}' );
2018-01-28 16:40:49 +00:00
}
}
if ( $res [ 'badmaxweap' ] != 0 ){
if (( time () - $res [ 'badmaxweap' ]) > 120 ){
mysql_query ( " update turnamuser set loose=2, place= " . time () . " where iduser= " . $res [ 'userid' ] . " and idturnam= " . $res [ 'idtur' ]);
mysql_query ( " delete from turnirbattle where userid= " . $res [ 'userid' ]);
2018-03-04 00:09:58 +00:00
addchp ( '<font color=red>Внимание!</font>Вы выбыли из турнира<BR>' , '{[]}' . nick :: id ( $res [ 'userid' ]) -> short () . '{[]}' );
addchp ( '<font color=red>Внимание!</font>Ваш противник отказался от боя. Техническая победа.<BR>' , '{[]}' . nick :: id ( $res [ 'userid1' ]) -> short () . '{[]}' );
2018-01-28 16:40:49 +00:00
}
}
}
if ( $level != '' ) $level = ' and level=' . $level ;
$sql = mysql_query ( " SELECT * FROM turnirbattle WHERE (userid= " . $user [ 'id' ] . " or userid1= " . $user [ 'id' ] . " ) " . $level );
while ( $res = mysql_fetch_array ( $sql )){
$looseL1 = mysql_fetch_row ( mysql_query ( " select loose from turnamuser where iduser= " . $res [ 'userid1' ] . " and idturnam= " . $res [ 'idtur' ]));
$looseL = mysql_fetch_row ( mysql_query ( " select loose from turnamuser where iduser= " . $res [ 'userid' ] . " and idturnam= " . $res [ 'idtur' ]));
if ( $res [ 'userid' ] == $user [ 'id' ]) {
if ( $res [ 'checkuser' ] == 0 ){
if ( $res [ 'badmaxweap' ] != 0 ){
if (( time () - $res [ 'badmaxweap' ]) > 120 ){
mysql_query ( " update turnamuser set loose=2, place= " . time () . " where iduser= " . $res [ 'userid' ] . " and idturnam= " . $res [ 'idtur' ]);
mysql_query ( " delete from turnirbattle where userid= " . $res [ 'userid' ]);
2018-03-04 00:09:58 +00:00
addchp ( '<font color=red>Внимание!</font>Вы выбыли из турнира<BR>' , '{[]}' . nick :: id ( $res [ 'userid' ]) -> short () . '{[]}' );
addchp ( '<font color=red>Внимание!</font>Ваш противник отказался от боя. Техническая победа.<BR>' , '{[]}' . nick :: id ( $res [ 'userid1' ]) -> short () . '{[]}' );
2018-01-28 16:40:49 +00:00
}
2018-03-03 22:54:41 +00:00
else echo " <form method='post'><input type='submit' name='expenemy' value='Я готов'> противник " . nick :: id ( $res [ 'useridl' ]) -> full ( 1 ) . " (поражений- " . $looseL1 [ 0 ] . " )</form> " ;
2018-01-28 16:40:49 +00:00
}
2018-03-03 22:54:41 +00:00
else echo " <form method='post'><input type='submit' name='expenemy' value='Я готов'> противник " . nick :: id ( $res [ 'useridl' ]) -> full ( 1 ) . " (поражений- " . $looseL1 [ 0 ] . " )</form> " ;
2018-01-28 16:40:49 +00:00
}
else echo " Ожидаем противника " ;
}
if ( $res [ 'userid1' ] == $user [ 'id' ]){
if ( $res [ 'checkuser2' ] == 0 ){
if ( $res [ 'badmaxweap1' ] != 0 ){
if (( time () - $res [ 'badmaxweap1' ]) > 120 ){
mysql_query ( " update turnamuser set loose=2, place= " . time () . " where iduser= " . $res [ 'userid1' ] . " and idturnam= " . $res [ 'idtur' ]);
mysql_query ( " delete from turnirbattle where userid1= " . $res [ 'userid1' ]);
2018-03-04 00:09:58 +00:00
addchp ( '<font color=red>Внимание!</font>Вы выбыли из турнира<BR>' , '{[]}' . nick :: id ( $res [ 'userid1' ]) -> short () . '{[]}' );
addchp ( '<font color=red>Внимание!</font>Ваш противник отказался от боя. Техническая победа.<BR>' , '{[]}' . nick :: id ( $res [ 'userid' ]) -> short () . '{[]}' );
2018-01-28 16:40:49 +00:00
}
2018-03-03 22:54:41 +00:00
else echo " <form method='post'><input type='submit' name='expenemy' value='Я готов'>противник " . nick :: id ( $res [ 'userid' ]) -> full ( 1 ) . " (поражений- " . $looseL [ 0 ] . " )</form> " ;
2018-01-28 16:40:49 +00:00
}
2018-03-03 22:54:41 +00:00
else echo " <form method='post'><input type='submit' name='expenemy' value='Я готов'>противник " . nick :: id ( $res [ 'userid' ]) -> full ( 1 ) . " (поражений- " . $looseL [ 0 ] . " )</form> " ;
2018-01-28 16:40:49 +00:00
}
else echo " Ожидаем противника " ;
}
}
}
function CreateTournament ( $title ){
//Вычисляем следующую пятницу
$dateTime = '' ;
if ( date ( " w " , mktime ( 0 , 0 , 0 , date ( 'n' ), date ( 'j' ), date ( 'Y' ))) == 5 && date ( " H " ) > 17 ){
$nextDay = date ( 'j' ) + 1 ;
$DayofMonth = date ( 'j' );
if ( $nextDay > date ( 't' )) {
$nextDay = 1 ;
$DayofMonth = date ( " t " , mktime ( 0 , 0 , 0 , date ( 'n' ) + 1 , 1 , date ( 'Y' ))); //даже если date('n')+1 = 13 mktime переведет на 01.01.следующий год
}
}
else {
$nextDay = date ( 'j' );
$DayofMonth = date ( 't' );
}
for ( $j = $nextDay ; $j <= $DayofMonth ; $j ++ ){
//узнаем день недели
$DayofWeek = date ( " w " , mktime ( 0 , 0 , 0 , date ( 'n' ), $j , date ( 'Y' )));
if ( $DayofWeek == 5 ){
$dateTime = mktime ( 17 , 0 , 0 , date ( 'n' ), $j , date ( 'Y' ));
break ;
}
}
//если пятниц в этом месяце не осталось
if ( $dateTime == '' ){
if ( date ( " n " ) + 1 == 13 ){
$Month = 1 ;
$Year = date ( " Y " ) + 1 ;
}
else {
$Month = date ( 'n' ) + 1 ;
$Year = date ( " Y " );
}
for ( $j = 1 ; $j <= date ( 't' , mktime ( 0 , 0 , 0 , $Month , 1 , $Year )); $j ++ ){
//узнаем день недели
$DayofWeek = date ( " w " , mktime ( 0 , 0 , 0 , $Month , $j , $Year ));
if ( $DayofWeek == 5 ){
$dateTime = mktime ( 17 , 0 , 0 , $Month , $j , $Year );
break ;
}
}
}
//Создаем турниры.
for ( $i = 1 ; $i < $this -> MaxUserLevel ; $i ++ )
if ( ! mysql_query ( " insert into turnament(title,level,datetime) values (' " . $title . " ', " . $i . " ,' " . $dateTime . " ') " )){
//!!!!!!!!!!!!!!!!!!! failed to open stream: Permission denied in /www/capitalcity.oldbk.com/classturnir.php on line 57
$f = fopen ( '/tmp/memcache/logtur/error.log' , 'w' );
fwrite ( $f , " insert into turnament(title,level,datetime) values (' " . $title . " ', " . $i . " ,' " . $dateTime . " ') \n " );
fclose ( $f );
}
}
function showAllTurnament (){
global $user ;
$sql = mysql_query ( " select * from turnament where old=0 " );
$dateD = mysql_fetch_row ( mysql_query ( " select datetime from turnament where old=0 limit 1 " ));
if ( mysql_num_rows ( $sql ) < 1 ) echo ( " Н а данный момент новых чемпионатов нет" );
if ( $user [ 'level' ] > 0 && mktime () < $dateD [ 0 ])
echo " <form method='post'> " ;
echo " <table border=1 style='font-weight:bold;'>
< tr >
< td > Название турнира </ td >
< td > Время проведения </ td >
< td > Кол - во учасников </ td >
< td > Уровень </ td > " ;
if ( $user [ 'level' ] > 0 && mktime () < $dateD [ 0 ])
echo " <td>Регистрация</td> " ;
echo " </tr> " ;
while ( $res = mysql_fetch_array ( $sql )){
if ( $user [ 'level' ] == $res [ 'level' ])
$dellzay = mysql_fetch_row ( mysql_query ( " select id from turnamuser where iduser= " . $user [ 'id' ] . " and idturnam= " . $res [ 'id' ]));
echo " <tr>
< td >
" . $res['title'] . "
</ td >
< td >
" .date( " d . m . Y H : i " , $res['datetime'] ). "
</ td >
< td >
" . $res['kolvo'] . "
</ td >
< td >
" . $res['level'] . "
</ td > " ;
if ( $user [ 'level' ] == $res [ 'level' ] && mktime () < $dateD [ 0 ]){
if ( $dellzay [ 0 ] == '' )
echo " <td>
< input type = 'submit' name = 'addzayvka' value = 'Зарегистрироваться' >
< input type = 'hidden' name = 'idtur' value = '".$res[' id ']."' >
</ td > " ;
else
echo " <td>
< input type = 'submit' name = 'dellzayvka' value = 'Отказаться' >
< input type = 'hidden' name = 'idtur' value = '".$res[' id ']."' >
</ td > " ;
}
echo " </tr> " ;
}
echo " </table> " ;
if ( $user [ 'level' ] > 0 && mktime () < $dateD [ 0 ])
echo " </form> " ;
}
}