2018-01-28 18:40:49 +02: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 02:09:58 +02:00
addchp ( '<font color=red>Внимание!</font> На этой неделе Вам не нашлелся противник в турнире.<BR>' , '{[]}' . nick :: id ( $res [ 1 ]) -> short () . '{[]}' );
2018-01-28 18:40:49 +02: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 02:09:58 +02:00
addchp ( '<font color=red>Внимание!</font> Подготовтесь к турниру.<BR>' , '{[]}' . nick :: id ( $user1 ) -> short () . '{[]}' );
addchp ( '<font color=red>Внимание!</font> Подготовтесь к турниру.<BR>' , '{[]}' . nick :: id ( $user2 ) -> short () . '{[]}' );
2018-01-28 18:40:49 +02:00
}
}
else {
//Если команда не набралась удалить из таблицы и поставить турниру статус 2
while ( $res = mysql_fetch_row ( $uch )){
mysql_query ( " delete from turnamuser where id= " . $res [ '0' ]);
2018-03-04 02:09:58 +02:00
addchp ( '<font color=red>Внимание!</font>На этой неделе команда для турнира не набралась.<BR>' , '{[]}' . nick :: id ( $res [ 1 ]) -> short () . '{[]}' );
2018-01-28 18:40:49 +02: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 02:09:58 +02:00
addchp ( '<font color=red>Внимание!</font>Вы выбыли из турнира<BR>' , '{[]}' . nick :: id ( $user1 ) -> short () . '{[]}' );
addchp ( '<font color=red>Внимание!</font>Ваш противник отказался от боя. Техническая победа.<BR>' , '{[]}' . nick :: id ( $user2 ) -> short () . '{[]}' );
2018-01-28 18:40:49 +02: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 02:09:58 +02:00
addchp ( '<font color=red>Внимание!</font>Вы выбыли из турнира<BR>' , '{[]}' . nick :: id ( $user2 ) -> short () . '{[]}' );
addchp ( '<font color=red>Внимание!</font>Ваш противник отказался от боя. Техническая победа.<BR>' , '{[]}' . nick :: id ( $user1 ) -> short () . '{[]}' );
2018-01-28 18:40:49 +02: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 02:09:58 +02:00
addchp ( '<font color=red>Внимание!</font>Вы выбыли из турнира<BR>' , '{[]}' . nick :: id ( $user1 ) -> short () . '{[]}' );
addchp ( '<font color=red>Внимание!</font>Ваш противник отказался от боя. Техническая победа.<BR>' , '{[]}' . nick :: id ( $user2 ) -> short () . '{[]}' );
2018-01-28 18:40:49 +02: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 02:09:58 +02:00
addchp ( '<font color=red>Внимание!</font>Вы выбыли из турнира<BR>' , '{[]}' . nick :: id ( $user2 ) -> short () . '{[]}' );
addchp ( '<font color=red>Внимание!</font>Ваш противник отказался от боя. Техническая победа.<BR>' , '{[]}' . nick :: id ( $user1 ) -> short () . '{[]}' );
2018-01-28 18:40:49 +02: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 02:09:58 +02:00
addchp ( '<font color=red>Внимание!</font>Оставьте оружие только до 16экр или оставьте только оружие.<BR>' , '{[]}' . nick :: id ( $user1 ) -> short () . '{[]}' );
2018-01-28 18:40:49 +02: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 02:09:58 +02:00
addchp ('<font color=red>Внимание!</font>Оставьте оружие только до 16экр или оставьте только оружие.<BR>',' { []}'.nick::id( $user2 )->short().' { []}');
2018-01-28 18:40:49 +02: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-04 00:54:41 +02:00
$rr = " < b > " .nick::id( $user['id'] )->full(1). " </ b > и < b > " .nick::id( $jert['id'] )->full(1). " </ b > " ;
2018-03-04 02:09:58 +02: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 18:40:49 +02: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-04 00:54:41 +02:00
echo nick::id( $res['userid'] )->full(1). " против " .nick::id( $res['useridl'] )->full(1);
2018-01-28 18:40:49 +02: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 02:09:58 +02:00
if (count( $ArrayUsers )==1 && $i ==0) addchp ('<font color=red>Внимание!</font> Вы вышли в финал. Дождитесь второго финалиста.<BR>',' { []}'.nick::id( $ArrayUsers[0] )->short().' { []}');
2018-01-28 18:40:49 +02: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 02:09:58 +02:00
addchp ('<font color=red>Внимание!</font> Подготовтесь к следующему туру.<BR>',' { []}'.nick::id( $user1 )->short().' { []}');
addchp ('<font color=red>Внимание!</font> Подготовтесь к следующему туру.<BR>',' { []}'.nick::id( $user2 )->short().' { []}');
2018-01-28 18:40:49 +02: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 02:09:58 +02:00
addchp ('<font color=red>Внимание!</font> За '. $i .' место в турнире, Вы получили '. $Priz[$i] [ $level ].' кр.<BR>',' { []}'.nick::id( $res['iduser'] )->short().' { []}');
2018-01-28 18:40:49 +02: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 02:09:58 +02: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 18:40:49 +02: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 02:09:58 +02: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 18:40:49 +02: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 02:09:58 +02: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 18:40:49 +02: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 02:09:58 +02:00
addchp ('<font color=red>Внимание!</font>Оставьте оружие только до 16экр или оставьте только оружие.<BR>',' { []}'.nick::id( $user['id'] )->short().' { []}');
2018-01-28 18:40:49 +02: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 02:09:58 +02: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 18:40:49 +02: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 02:09:58 +02: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 18:40:49 +02: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 02:09:58 +02: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 18:40:49 +02:00
}
2018-03-04 00:54:41 +02:00
else echo " < form method = 'post' >< input type = 'submit' name = 'expenemy' value = 'Я готов' > противник " .nick::id( $res['useridl'] )->full(1). " ( поражений - " . $looseL1[0] . " ) </ form > " ;
2018-01-28 18:40:49 +02:00
}
2018-03-04 00:54:41 +02:00
else echo " < form method = 'post' >< input type = 'submit' name = 'expenemy' value = 'Я готов' > противник " .nick::id( $res['useridl'] )->full(1). " ( поражений - " . $looseL1[0] . " ) </ form > " ;
2018-01-28 18:40:49 +02: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 02:09:58 +02: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 18:40:49 +02:00
}
2018-03-04 00:54:41 +02:00
else echo " < form method = 'post' >< input type = 'submit' name = 'expenemy' value = 'Я готов' > противник " .nick::id( $res['userid'] )->full(1). " ( поражений - " . $looseL[0] . " ) </ form > " ;
2018-01-28 18:40:49 +02:00
}
2018-03-04 00:54:41 +02:00
else echo " < form method = 'post' >< input type = 'submit' name = 'expenemy' value = 'Я готов' > противник " .nick::id( $res['userid'] )->full(1). " ( поражений - " . $looseL[0] . " ) </ form > " ;
2018-01-28 18:40:49 +02: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 > " ;
}
}