battles/classturnir.php

523 lines
28 KiB
PHP
Raw Normal View History

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]);
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."))");
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']);
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);
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);
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);
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);
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);
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);
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);
// создаем лог
$rr = "<b>".Nick::id($user['id'])->full(1)."</b> и <b>".Nick::id($jert['id'])->full(1)."</b>";
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){
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];
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."))");
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()."');");
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."))");
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']);
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']);
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']);
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']);
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']);
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']);
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
}
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 "<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']);
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
}
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 "<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>";
}
}