121 lines
5.7 KiB
PHP
121 lines
5.7 KiB
PHP
|
|
|||
|
<?php // #!/usr/bin/php
|
|||
|
// демон, запускающий волны
|
|||
|
$names = array("Слуга хаоса","Котельщик","Надсмотрищик","Кожекрылый","Валькирия","Грешная Душа","Падший Ангел","Падший Ангел","Дьявол");
|
|||
|
$bots = array(79,80,81,82,83,84,85,86,87);
|
|||
|
$shema = array ( "79" => 4,
|
|||
|
"80" => 4,
|
|||
|
"81" => 2,
|
|||
|
"82" => 2,
|
|||
|
"83" => 2,
|
|||
|
"84" => 1,
|
|||
|
"85" => 1,
|
|||
|
"86" => 1,
|
|||
|
"87" => 1,
|
|||
|
);
|
|||
|
|
|||
|
// подключаем конфиг
|
|||
|
// include "../connect.php";
|
|||
|
// подключаем функции
|
|||
|
// include "../functions.php";
|
|||
|
|
|||
|
// циклим демона
|
|||
|
// while(1) {
|
|||
|
// итерация
|
|||
|
|
|||
|
// есть ли конект с базой
|
|||
|
$test = mysql_fetch_array(mysql_query("SELECT 1;"));
|
|||
|
if($test[1]!=1) {
|
|||
|
// include "../connect.php";
|
|||
|
}
|
|||
|
|
|||
|
// выбираем все походы
|
|||
|
$pohs = mysql_query("SELECT `owner`,`volna`,`id` FROM `hellround_pohod` WHERE `end` = 0;");
|
|||
|
while ($poh = mysql_fetch_array($pohs)) {
|
|||
|
// проверяем на живность
|
|||
|
$u = mysql_fetch_array(mysql_query("SELECT `hp` FROM `users` WHERE `id` = '".$poh['owner']."' LIMIT 1;"));
|
|||
|
if($u['hp'] <= 0) {
|
|||
|
// удаляем ресурсы
|
|||
|
mysql_query("DELETE FROM `inventory` WHERE `owner` = '".$poh['owner']."' AND `bs` = 1;");
|
|||
|
mysql_query("UPDATE `hellround_pohod` SET `end` = 1, `date_out` = NOW( ) WHERE `id` = ".$poh['id']." AND `end` = 0;");
|
|||
|
addchp ('<font color=red>Внимание!</font> Вы погибли в противостоянии хаосу...<BR>\'; top.frames[\'main\'].location=\'main.php\'; var z = \' ','{[]}'.nick7 ($poh['owner']).'{[]}');
|
|||
|
echo "USER: ".$poh['owner']." live trip.\n";
|
|||
|
} else
|
|||
|
{
|
|||
|
// забираем последний бой, может пора запускать волну?
|
|||
|
$last_a = mysql_fetch_array(mysql_query("SELECT `id` FROM `battle` WHERE `t1` = '".$poh['owner']."' AND `win` = 3 ORDER by `id` DESC LIMIT 1;"));
|
|||
|
$last_b = mysql_fetch_array(mysql_query("SELECT `to1` FROM `battle` WHERE `t1` = '".$poh['owner']."' AND `win` <> 3 ORDER by `id` DESC LIMIT 1;"));
|
|||
|
$last_b = $last_b[0];
|
|||
|
$last_a = $last_a[0];
|
|||
|
|
|||
|
// echo $last_a." ".$last_b." ".$poh['owner']."\n";
|
|||
|
|
|||
|
// проверяем, запускаем ботов
|
|||
|
if ((time()-$last_b) >= 60 && $last_a == 0) {
|
|||
|
// если прошло больше минуты, стартуем волну
|
|||
|
$nextvolna = $poh['volna']+1;
|
|||
|
|
|||
|
$bot[1] = $shema[$bots[0]]*$nextvolna;
|
|||
|
$bot[2] = $shema[$bots[1]]*$nextvolna;
|
|||
|
$bot[3] = $shema[$bots[2]]*$nextvolna;
|
|||
|
|
|||
|
if ($nextvolna >= 10) {
|
|||
|
$bot[4] = $shema[$bots[3]]*$nextvolna;
|
|||
|
$bot[5] = $shema[$bots[4]]*$nextvolna;
|
|||
|
$bot[6] = $shema[$bots[5]]*$nextvolna;
|
|||
|
}
|
|||
|
if ($nextvolna >= 25) {
|
|||
|
$bot[7] = $shema[$bots[6]]*$nextvolna;
|
|||
|
$bot[8] = $shema[$bots[7]]*$nextvolna;
|
|||
|
$bot[9] = $shema[$bots[8]]*$nextvolna;
|
|||
|
}
|
|||
|
// делаем массив с айдишниками ботов
|
|||
|
for($n = 1; $n <= 9; $n++) {
|
|||
|
for($i = 1; $i <= (int)$bot[$n]; $i++){
|
|||
|
$botz = mysql_fetch_array(mysql_query("SELECT `maxhp`,`id` FROM `users` WHERE `id` = '".$bots[$n-1]."' LIMIT 1;"));
|
|||
|
mysql_query("INSERT INTO `bots` (`name`,`prototype`,`battle`,`hp`) values ('".$names[$n]." (проекция ".($i).")','".$bots[$n-1]."','','".$botz['maxhp']."');");
|
|||
|
$botz = mysql_insert_id();
|
|||
|
$enemys[] = $botz;
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
// array of teams
|
|||
|
$teams = array();
|
|||
|
foreach($enemys as $v) {
|
|||
|
$teams[$poh['owner']][$v] = array(0,0,time());
|
|||
|
$teams[$v][$poh['owner']] = array(0,0,time());
|
|||
|
}
|
|||
|
// запись о битве
|
|||
|
mysql_query("INSERT INTO `battle`
|
|||
|
(
|
|||
|
`id`,`coment`,`teams`,`timeout`,`type`,`status`,`t1`,`t2`,`to1`,`to2`
|
|||
|
)
|
|||
|
VALUES
|
|||
|
(
|
|||
|
NULL,'','".serialize($teams)."','3','1','0','".$poh['owner']."','".implode(";",$enemys)."','".time()."','".time()."'
|
|||
|
)");
|
|||
|
$id = mysql_insert_id();
|
|||
|
|
|||
|
// апдейтим бота
|
|||
|
foreach($enemys as $v) {
|
|||
|
mysql_query("UPDATE `bots` SET `battle` = ".$id." WHERE `id` = ".$v." LIMIT 1;");
|
|||
|
}
|
|||
|
// создаем лог
|
|||
|
//$rr = "<b>".nick3($user['id'])."</b> и <b>".nick3($bot)."</b>";
|
|||
|
|
|||
|
//mysql_query("INSERT INTO `logs` (`id`,`log`) VALUES('{$id}','Часы показывали <span class=date>".date("Y.m.d H.i")."</span>, когда ".$rr." бросили вызов друг другу. <BR>');");
|
|||
|
addlog($id,"Часы показывали <span class=date>".date("Y.m.d H.i")."</span>, когда <b>".nick3($poh['owner'])."</b> вышел на битву с Адом... <BR>");
|
|||
|
chown ("backup/logs/battle".$id.".txt" , "www-data" );
|
|||
|
chgrp ("backup/logs/battle".$id.".txt" , "www-data" );
|
|||
|
|
|||
|
mysql_query("UPDATE users SET `battle` =".$id.",`zayavka`=0 WHERE `id`= ".$poh['owner'].";");
|
|||
|
addchp ('<font color=red>Внимание!</font> Новое пришествие...<BR>\'; top.frames[\'main\'].location=\'fbattle.php\'; var z = \' ','{[]}'.nick7 ($poh['owner']).'{[]}');
|
|||
|
mysql_query("UPDATE `hellround_pohod` SET `volna`=`volna`+1 WHERE `id` = ".$poh['id']." LIMIT 1;");
|
|||
|
echo "USER: ".$poh['owner']." New wave.\n";
|
|||
|
}
|
|||
|
}
|
|||
|
// задержка
|
|||
|
sleep(5);
|
|||
|
}
|
|||
|
// }
|
|||
|
?>
|