$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"Регистрация пройдена!";
}
elsedie("Вы уже зарегистрированы.");
}
functionDellUserInTournament($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>";
}
functionfract($num=0){
if(!is_double($num))returnfalse;
$out=explode('.',$num);
return$out[1];
}
functionPrepearTournir(){//запускается за час до начала турнира
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>','{[]}'.nick7($res[1]).'{[]}');
}
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>','{[]}'.nick7($user1).'{[]}');
addchp('<font color=red>Внимание!</font> Подготовтесь к турниру.<BR>','{[]}'.nick7($user2).'{[]}');
}
}
else{
//Если команда не набралась удалить из таблицы и поставить турниру статус 2
while($res=mysql_fetch_row($uch)){
mysql_query("delete from turnamuser where id=".$res['0']);
addchp('<font color=red>Внимание!</font>На этой неделе команда для турнира не набралась.<BR>','{[]}'.nick7($res[1]).'{[]}');
}
mysql_query("delete from turnament where old=0 and level=".$i);
}
}
}
// созает поединок между 2 юзерами
functionMakeBattle($user1,$user2){
$res=mysql_fetch_array(mysql_query("select * from turnirbattle where userid=".$user1." or userid1=".$user1." limit 1"));
addch("<a href=logs.php?log=".$id." target=_blank>Бой</a> между <B><b>".nick7($user['id'])."</b> и <b>".nick7($jert['id'])."</b> начался. ",$user['room']);
addlog($id,"Часы показывали <span class=date>".date("Y.m.d H.i")."</span>, когда ".$rr." решили выяснить кто из них сильнее. <i>(турнир)</i><BR>");
return$id;
}
}
}
// функция проверки статуса боя
functionCheckBattle($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'];
}
functionUpdateTournir(){
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']);
$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.")");
if(count($ArrayUsers)==1&&$i==0)addchp('<font color=red>Внимание!</font> Вы вышли в финал. Дождитесь второго финалиста.<BR>','{[]}'.nick7($ArrayUsers[0]).'{[]}');
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>','{[]}'.nick7($user1).'{[]}');
addchp('<font color=red>Внимание!</font> Подготовтесь к следующему туру.<BR>','{[]}'.nick7($user2).'{[]}');
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>','{[]}'.nick7($res['iduser']).'{[]}');
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>','{[]}'.nick7($masFinals[0]).'{[]}');
addchp('<font color=red>Внимание!</font> Подготовтесь к финалу.<BR>','{[]}'.nick7($masFinals[1]).'{[]}');
}
functionexpectationenemy(){
global$user;
$res=mysql_fetch_array(mysql_query("select * from turnirbattle where userid=".$user['id']." or userid1=".$user['id']." limit 1"));