Чистка неиспользуемого кода. Вынос cronjobs в отдельную директорию.
This commit is contained in:
540
cronjobs/cron.php
Normal file
540
cronjobs/cron.php
Normal file
@@ -0,0 +1,540 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright (c) 2018.
|
||||
* Author: Igor Barkov <lopar.4ever@gmail.com>
|
||||
* Project name: Battles-Game
|
||||
*/
|
||||
|
||||
include_once "../config.php";
|
||||
include_once "../functions.php";
|
||||
$tm = time();
|
||||
|
||||
##########
|
||||
$zay = mysql_query('SELECT * FROM `zayavka`');
|
||||
while($z = mysql_fetch_array($zay)) {
|
||||
if($z['start'] <= time()) {
|
||||
if($z['level'] == 4 || (($z['t1c'] == count($z['team1'])) && ($z['t2c'] == count($z['team2'])))) {
|
||||
startbattle("CHAOS", $z['id'], 4);
|
||||
} elseif($z['level'] == 5) {
|
||||
startbattle("CHAOS", $z['id'], 5);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function delzayavka($id, $zay, $r, $f = 1) {
|
||||
$z = getlist($r, null, $zay);
|
||||
if($f != 1) {
|
||||
if($z[$zay]['level'] > 3) {
|
||||
return 'Ай-ай-ай!';
|
||||
}
|
||||
}
|
||||
|
||||
if(mysql_query("DELETE FROM `zayavka` WHERE `id` = {$zay} AND (`team1` LIKE '{$id};%' OR `team2` LIKE '{$id};%') LIMIT 1")) {
|
||||
if(count($z[$zay]['team1']) > 0) {
|
||||
foreach($z[$zay]['team1'] as $k => $v) {
|
||||
mysql_query("UPDATE `users` SET `zayavka` = 0 WHERE `id` = {$v}");
|
||||
}
|
||||
}
|
||||
|
||||
if(count($z[$zay]['team2']) > 0) {
|
||||
foreach($z[$zay]['team2'] as $k => $v) {
|
||||
mysql_query("UPDATE `users` SET `zayavka` = 0 WHERE `id` = {$v}");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function fteam($team) {
|
||||
$team = explode(";", $team);
|
||||
unset($team[count($team)-1]);
|
||||
return $team;
|
||||
}
|
||||
|
||||
function getlist($razdel = 1, $level = null, $id = null ) {
|
||||
$fict = mysql_query("SELECT * FROM `zayavka` WHERE ".(($level != null)? " ((`t1min` <= '{$level}' OR `t1min` = '99') AND (`t1max` >= '{$level}' OR `t1max` = '99') ".(($razdel == 4)?"AND (`t2min` <= '{$level}' OR `t2min` = '99') AND (`t2max` >= '{$level}' OR `t2max` = '99')":"").") AND " : "")." `level` = {$razdel} ".(($id != null)? " AND `id` = {$id} " : "")." ORDER BY `podan` DESC");
|
||||
while($row = mysql_fetch_array($fict)) {
|
||||
if(($row['start']+300) < time()) {
|
||||
if(mysql_query("DELETE FROM `zayavka` WHERE `id` = '{$row['id']}' LIMIT 1")) {
|
||||
$team1 = fteam($row['team1']);
|
||||
foreach($team1 as $k => $v) {
|
||||
mysql_query("UPDATE `users` SET `zayavka` = '0' WHERE `id` = {$v}");
|
||||
}
|
||||
$team2 = fteam($row['team2']);
|
||||
foreach($z[$zay]['team2'] as $k => $v) {
|
||||
mysql_query("UPDATE `users` SET `zayavka` = '0' WHERE `id` = {$v}");
|
||||
}
|
||||
}
|
||||
}
|
||||
$zay[$row['id']] = array("team1" => fteam($row['team1']), "team2" => fteam($row['team2']), "coment" => $row['coment'], "type" => $row['type'], "timeout" => $row['timeout'], "start" => $row['start'], "t1min" => $row['t1min'], "t1max" => $row['t1max'], "t2min" => $row['t2min'], "t2max" => $row['t2max'], "t1c" => $row['t1c'], "t2c" => $row['t2c'], "podan" => $row['podan'], "id" => $row['id'], "level" => $row['level'], "blood" => $row['blood'], "bots" => $row['bots']);
|
||||
}
|
||||
return $zay;
|
||||
}
|
||||
|
||||
function startbattle($id, $zay, $r) {
|
||||
$z = getlist($r, null, $zay);
|
||||
if($id == 'CHAOS') { $id = $z[$zay]['team1'][0]; }
|
||||
delzayavka($id, $zay, $r);
|
||||
$z = $z[$zay];
|
||||
$count_users = count($z['team1']);
|
||||
|
||||
$bot = 0;
|
||||
if($z['bots'] > 0 && $count_users > 0) {
|
||||
$bots_raw = array(7 => array(10962, 10964, 10965), 8 => array(10962, 10964, 10965), 13 => array(10962, 10964, 10965));
|
||||
$i = 0;
|
||||
while($i <= count($bots_raw[$z['bots']])) {
|
||||
$bot_id = $bots_raw[$z['bots']][$i];
|
||||
$bot = createbot($bot_id, '');
|
||||
$z['team1'][] = $bot['id'];
|
||||
$i++;
|
||||
$count_users++;
|
||||
}
|
||||
}
|
||||
|
||||
if($z['type'] == 4 || $z['type'] == 5) {
|
||||
foreach($z['team1'] as $k => $v) {
|
||||
undressall($v);
|
||||
}
|
||||
|
||||
foreach($z['team2'] as $k => $v) {
|
||||
undressall($v);
|
||||
}
|
||||
}
|
||||
|
||||
if($z['type'] == 3 || $z['type'] == 5) {
|
||||
if($count_users < 4) {
|
||||
mysql_query("UPDATE `users` SET `zayavka` = '0' WHERE `zayavka` = '".$zay."'");
|
||||
foreach($z['team1'] as $k => $v) {
|
||||
if($v < _BOTSEPARATOR_) {
|
||||
file_get_contents('http://capitalcity.old-dark.ru/chats.php?id=6&user='.$v);
|
||||
}
|
||||
}
|
||||
mysql_query("UPDATE `variables` SET `value` = '{$count_users}}' WHERE `var` = 'haos_match' LIMIT 1");
|
||||
mysql_query("DELETE FROM `zayavka` WHERE `id` = '".$zay."' LIMIT 1");
|
||||
}
|
||||
|
||||
$all = count($z['team1'])-1;
|
||||
$power1 = 0; $power2 = 0;
|
||||
|
||||
for($i = 0; $i <= $all; $i++) {
|
||||
if($z['team1'][$i] < _BOTSEPARATOR_) {
|
||||
$gamer = mysql_fetch_array(mysql_query("SELECT (`level`*50)+`sila`+`lovk`+`inta`+`vinos`+`intel`+`stats`+IFNULL((SELECT SUM(`cost`) FROM `inventory` WHERE `owner` = `users`.`id` AND `dressed` = 1), 0) FROM `users` WHERE `id` = '".$z['team1'][$i]."' LIMIT 1"));
|
||||
} else {
|
||||
$bt = mysql_fetch_array(mysql_query('SELECT `id`, `prototype` FROM `bots` WHERE `id` = "'.$z['team1'][$i].'"'));
|
||||
$gamer = mysql_fetch_array(mysql_query("SELECT (`level`*50)+`sila`+`lovk`+`inta`+`vinos`+`intel`+`stats`+IFNULL((SELECT SUM(`cost`) FROM `inventory` WHERE `owner` = `users`.`id` AND `dressed` = 1), 0) FROM `users` WHERE `id` = '".$bt['prototype']."' LIMIT 1"));
|
||||
}
|
||||
|
||||
$cost[] = array($z['team1'][$i], $gamer[0]);
|
||||
}
|
||||
|
||||
$z['team1'] = null;
|
||||
$z['team2'] = null;
|
||||
|
||||
$flag = true;
|
||||
while($flag) {
|
||||
$flag = false;
|
||||
for($ii = 0; $ii <= $all-1; $ii++) {
|
||||
if($cost[$ii][1] < $cost[$ii+1][1]) {
|
||||
$ctr = $cost[$ii+1];
|
||||
$cost[$ii+1] = $cost[$ii];
|
||||
$cost[$ii] = $ctr;
|
||||
$flag = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
while(count($cost) > 0) {
|
||||
if($power1 <= $power2) {
|
||||
$tmp = array_shift($cost);
|
||||
$power1 += $tmp[1];
|
||||
$z['team1'][] = $tmp[0];
|
||||
} else {
|
||||
$tmp = array_shift($cost);
|
||||
$power2 += $tmp[1];
|
||||
$z['team2'][] = $tmp[0];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$teams = array();
|
||||
|
||||
foreach($z['team1'] as $k => $v) {
|
||||
foreach($z['team2'] as $kk => $vv) {
|
||||
$teams[$v][$vv] = array(0, 0, time());
|
||||
}
|
||||
}
|
||||
|
||||
foreach($z['team2'] as $k => $v) {
|
||||
foreach($z['team1'] as $kk => $vv) {
|
||||
$teams[$v][$vv] = array(0, 0, time());
|
||||
}
|
||||
}
|
||||
|
||||
if(count($z['team2']) == 0) {
|
||||
mysql_query("UPDATE `users` SET `zayavka` = 0 WHERE `zayavka` = '".$zay."'");
|
||||
foreach($z['team1'] as $k => $v) {
|
||||
file_get_contents('http://capitalcity.old-dark.ru/chats.php?id=6&user='.$v);
|
||||
}
|
||||
mysql_query("DELETE FROM `zayavka` WHERE `id` = '".$zay."' LIMIT 1");
|
||||
die();
|
||||
}
|
||||
|
||||
$arr = array(3, 4, 5, 7, 10);
|
||||
|
||||
if(in_array($z['timeout'], $arr)) {
|
||||
|
||||
} else {
|
||||
$z['timeout'] = 3;
|
||||
}
|
||||
|
||||
if($z['type'] == 1 || $z['type'] == 4) {
|
||||
$rs = ', `fiz`'; $rss = ', 1';
|
||||
} else {
|
||||
$rs = ''; $rss = '';
|
||||
}
|
||||
|
||||
mysql_query("INSERT INTO `battle` (`coment`, `teams`, `timeout`, `type`, `status`, `t1`, `t2`, `to1`, `to2`, `blood`$rs, `bots`) VALUES ('{$z['coment']}', '".serialize($teams)."', '{$z['timeout']}', '{$z['type']}', '0', '".implode(";", $z['team1'])."', '".implode(";", $z['team2'])."', '".time()."', '".time()."', '".$z['blood']."'$rss, '".$z['bots']."')");
|
||||
$id = mysql_insert_id();
|
||||
$rr = "<b>";
|
||||
|
||||
foreach($z['team1'] as $k => $v) {
|
||||
if($k != 0) { $rr .= ", "; }
|
||||
$rr .= nick3($v);
|
||||
file_get_contents('http://capitalcity.old-dark.ru/chats.php?id=7&user='.$v);
|
||||
}
|
||||
|
||||
$rr .= "</b> и <b>";
|
||||
|
||||
foreach($z['team2'] as $k => $v) {
|
||||
if($k != 0) { $rr .= ", "; }
|
||||
$rr .= nick3($v);
|
||||
file_get_contents('http://capitalcity.old-dark.ru/chats.php?id=7&user='.$v);
|
||||
}
|
||||
|
||||
$rr .= "</b>";
|
||||
addlog($id, "Часы показывали <span class=date>".date("Y.m.d H.i")."</span>, когда ".$rr." бросили вызов друг другу.<BR>");
|
||||
|
||||
foreach($z['team1'] as $k => $v) {
|
||||
if($v < _BOTSEPARATOR_) {
|
||||
mysql_query("UPDATE `users` SET `battle` = {$id}, `zayavka` = 0 WHERE `id` = {$v}");
|
||||
} else {
|
||||
mysql_query("UPDATE `bots` SET `battle` = {$id} WHERE `id` = {$v}");
|
||||
}
|
||||
}
|
||||
|
||||
foreach($z['team2'] as $k => $v) {
|
||||
if($v < _BOTSEPARATOR_) {
|
||||
mysql_query("UPDATE `users` SET `battle` = {$id}, `zayavka` = 0 WHERE `id` = {$v}");
|
||||
} else {
|
||||
mysql_query("UPDATE `bots` SET `battle` = {$id} WHERE `id` = {$v}");
|
||||
}
|
||||
}
|
||||
}
|
||||
##########
|
||||
|
||||
########Start Заявки для ботов в хаоты########
|
||||
$battle_bots = mysql_fetch_array(mysql_query('SELECT `id` FROM `battle` WHERE `win` = 3 AND `bots` > 0 ORDER BY `id` DESC LIMIT 1'));
|
||||
$zay_bots = mysql_fetch_array(mysql_query('SELECT `id` FROM `zayavka` WHERE `bots` > 0 ORDER BY `id` DESC LIMIT 1'));
|
||||
|
||||
if(!isset($battle_bots['id']) && !isset($zay_bots['id'])) {
|
||||
$haos_match = array();
|
||||
$hm_ok = array(7 => 1);
|
||||
foreach($hm_ok as $lvl => $flag) {
|
||||
if($flag == 1) {
|
||||
mysql_query("INSERT INTO `zayavka` (`start`, `timeout`, `t1c`, `t2c`, `type`, `level`, `coment`, `team1`, `stavka`, `t1min`, `t2min`, `t1max`, `t2max`, `podan`, `blood`, `bots`) VALUES ('".(time()+3*60)."', '3', '99', '99', '3', '5', '<u>Бой с силами Хаоса <b>{$lvl}</b> уровня.</u>', '', '', '{$lvl}', '{$lvl}', '{$lvl}', '{$lvl}', '".date("H:i")."', '0', '{$lvl}')");
|
||||
$haos_match[$lvl] = mysql_insert_id();
|
||||
}
|
||||
}
|
||||
file_get_contents('http://capitalcity.old-dark.ru/chats.php?id=1');
|
||||
}
|
||||
########End Заявки для ботов в хаоты########
|
||||
|
||||
|
||||
######
|
||||
$te_zay = mysql_query('SELECT `id`, `start` FROM `zayavka`');
|
||||
while($zs = mysql_fetch_array($te_zay)) {
|
||||
if(($zs['start']+180) < time()) {
|
||||
mysql_query('UPDATE `users` SET `zayavka` = "0" WHERE `zayavka` = "'.$zs['id'].'"');
|
||||
mysql_query('DELETE FROM `zayavka` WHERE `id` = "'.$zs['id'].'"');
|
||||
}
|
||||
}
|
||||
######
|
||||
|
||||
if(date("H-i") == "03-00") {
|
||||
$del_tm = (time()-60*60*24*7);
|
||||
$us_lim = mysql_fetch_array(mysql_query("SELECT `id` FROM `battle` WHERE `to1` < '{$del_tm}' ORDER BY `to1` DESC LIMIT 1"));
|
||||
$us_lim = $us_lim['id'];
|
||||
mysql_query("DELETE FROM `battle` WHERE `id` < '{$us_lim}'");
|
||||
$del_tm = (time()-60*60*24*60);
|
||||
mysql_query("DELETE FROM `delo` WHERE `date` < '".$del_tm."'");
|
||||
mysql_query("OPTIMIZE `battle`, `delo`");
|
||||
}
|
||||
|
||||
if(date("H-i") == "00-00") {
|
||||
$perses = mysql_query('SELECT `id`, `vip`, `vip_time` FROM `users` WHERE `vip` > 0 AND `vip_time` > 0');
|
||||
while($unvip = mysql_fetch_array($perses)) {
|
||||
if($unvip['vip'] > 0) {
|
||||
if($unvip['vip_time'] <= time()) {
|
||||
remove_vip($unvip['id']);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$sp = mysql_query('SELECT `id`, `vip`, `vip_time` FROM `users` WHERE `vip` > 0 AND `vip_time` > "'.time().'"');
|
||||
while($pl = mysql_fetch_array($sp)) {
|
||||
upd_vip($pl['id'], $pl['vip']);
|
||||
}
|
||||
|
||||
mysql_query('UPDATE `actions` SET `vals` = "end" WHERE `vars` LIKE "start_quest%" AND `vals` = "go" AND `val` <= "'.time().'"');
|
||||
|
||||
if(date("H-i") == "06-00") {
|
||||
if(date("d") == "01") {
|
||||
mysql_query("UPDATE `variables` SET `value` = '{$tm}' WHERE `var` = 'ref_month' LIMIT 1");
|
||||
mysql_query("UPDATE `variables` SET `value` = '0' WHERE `var` = 'ref_m_id' LIMIT 1");
|
||||
}
|
||||
if(date("N") == "7") {
|
||||
mysql_query("UPDATE `variables` SET `value` = '{$tm}' WHERE `var` = 'ref_week' LIMIT 1");
|
||||
mysql_query("UPDATE `variables` SET `value` = '0' WHERE `var` = 'ref_w_id' LIMIT 1");
|
||||
}
|
||||
}
|
||||
|
||||
$st_ar = mysql_fetch_array(mysql_query('SELECT `value` FROM `variables` WHERE `var` = "arena_of_gods" LIMIT 1'));
|
||||
if($st_ar['value'] <= time()) {
|
||||
$dark = mysql_fetch_array(mysql_query('SELECT `id`, `login`, `level`, `hp` FROM `users` WHERE `id` = 10023 LIMIT 1'));
|
||||
$light = mysql_fetch_array(mysql_query('SELECT `id`, `login`, `level`, `hp` FROM `users` WHERE `id` = 10024 LIMIT 1'));
|
||||
##############
|
||||
mysql_query("INSERT INTO `bots` (`name`, `prototype`, `battle`, `hp`, `owner`) VALUES ('".$light['login']."', '".$light['id']."', '', '".$light['hp']."', '1')");
|
||||
$light['id_at'] = mysql_insert_id();
|
||||
mysql_query("INSERT INTO `bots` (`name`, `prototype`, `battle`, `hp`) VALUES ('".$dark['login']."', '".$dark['id']."', '', '".$dark['hp']."')");
|
||||
$dark['id_at'] = mysql_insert_id();
|
||||
##############
|
||||
$teams = array();
|
||||
$teams[$dark['id_at']][$light['id_at']] = array(0, 0, time());
|
||||
$teams[$light['id_at']][$dark['id_at']] = array(0, 0, time());
|
||||
mysql_query("INSERT INTO `battle` (`id`, `coment`, `teams`, `time_m`, `timeout`, `type`, `status`, `t1`, `t2`, `to1`, `to2`, `blood`, `aren_of`) VALUES (NULL, '', '".serialize($teams)."', '".time()."', '3', '1', '0', '".$dark['id_at']."', '".$light['id_at']."', '".time()."', '".time()."', '1', '1')");
|
||||
$id = mysql_insert_id();
|
||||
mysql_query("UPDATE `bots` SET `battle` = {$id} WHERE (`id` = {$dark['id_at']} OR `id` = {$light['id_at']}) LIMIT 2");
|
||||
$rr = "<b>".nick3($dark['id_at'])."</b> и <b>".nick3($light['id_at'])."</b>";
|
||||
addlog($id, "Часы показывали <span class=date>".date("Y.m.d H.i")."</span>, когда ".$rr." бросили вызов друг другу. <br />");
|
||||
mysql_query("UPDATE `users` SET `battle` = {$id}, `zayavka` = 0 WHERE (`id` = {$dark['id']} OR `id` = {$light['id']}) LIMIT 2");
|
||||
file_get_contents('http://capitalcity.old-dark.ru/chats.php?id=2');
|
||||
mysql_query('UPDATE `variables` SET `value` = "'.(time()+60*60*24*7).'" WHERE `var` = "arena_of_gods" LIMIT 1');
|
||||
}
|
||||
|
||||
$st_ar['value'] -= 3600;
|
||||
if(date("z-H-i") == date("z-H-i", $st_ar['value'])) {
|
||||
file_get_contents('http://capitalcity.old-dark.ru/chats.php?id=3');
|
||||
}
|
||||
|
||||
$komp_users = mysql_query("SELECT * FROM `users`, `online` WHERE `users`.`id` = `online`.`id` AND `online`.`date` >= ".(time()-60)."");
|
||||
while($ku = mysql_fetch_array($komp_users)) {
|
||||
$bns = 0;
|
||||
$efs_bns = mysql_fetch_array(mysql_query('SELECT SUM(`hp`) AS `hps` FROM `effects` WHERE `owner` = "'.$ku['id'].'"'));
|
||||
if($efs_bns['hps'] > 0) {
|
||||
$bns = $efs_bns['hps'];
|
||||
}
|
||||
mysql_query("UPDATE `users` SET `maxhp` = (IFNULL((SELECT SUM(`ghp`) FROM `inventory` WHERE `dressed` = 1 AND `owner` = `users`.`id`),0) + (`users`.`vinos`*6)+$bns) WHERE `id` = '{$ku['id']}'");
|
||||
}
|
||||
|
||||
mysql_query("UPDATE `users` SET `hp` = 0 WHERE `hp` < 0");
|
||||
mysql_query("UPDATE `users` SET `mana` = 0 WHERE `mana` < 0");
|
||||
|
||||
$its = mysql_query("SELECT `id`, `owner`, `name` FROM `inventory` WHERE `dressed` = 0 AND ((`maxdur` <= `duration`) OR (`dategoden` > 0 AND `dategoden` <= '".time()."'))");
|
||||
while($it = mysql_fetch_array($its)) {
|
||||
mysql_query("DELETE FROM `inventory` WHERE `id` = '".$it['id']."' LIMIT 1;");
|
||||
mysql_query("INSERT INTO `delo` (`author`, `pers`, `text`, `type`, `date`) VALUES ('0', '".$it['owner']."' '\"".$it['name']."\" разрушился id:(cap".$it['id'].").', 1, '".time()."')");
|
||||
}
|
||||
|
||||
$effs = mysql_query("SELECT * FROM `effects` WHERE `time` <= ".time()." AND `sleep` = 0");
|
||||
mysql_query("DELETE FROM `effects` WHERE `time` <= ".time()." AND `sleep` = 0");
|
||||
while($eff = mysql_fetch_array($effs)) {
|
||||
switch($eff['type']) {
|
||||
case 11:
|
||||
mysql_query("UPDATE `users` SET `sila` = `sila`+'".$eff['sila']."', `lovk` = `lovk`+'".$eff['lovk']."', `inta` = `inta`+'".$eff['inta']."' WHERE `id` = '".$eff['owner']."' LIMIT 1");
|
||||
break;
|
||||
case 12:
|
||||
mysql_query("UPDATE `users` SET `sila` = `sila`+'".$eff['sila']."', `lovk` = `lovk`+'".$eff['lovk']."', `inta` = `inta`+'".$eff['inta']."' WHERE `id` = '".$eff['owner']."' LIMIT 1");
|
||||
break;
|
||||
case 13:
|
||||
mysql_query("UPDATE `users` SET `sila` = `sila`+'".$eff['sila']."', `lovk` = `lovk`+'".$eff['lovk']."', `inta` = `inta`+'".$eff['inta']."' WHERE `id` = '".$eff['owner']."' LIMIT 1");
|
||||
break;
|
||||
case 14:
|
||||
mysql_query("UPDATE `users` SET `sila` = `sila`+'".$eff['sila']."', `lovk` = `lovk`+'".$eff['lovk']."', `inta` = `inta`+'".$eff['inta']."' WHERE `id` = '".$eff['owner']."' LIMIT 1");
|
||||
break;
|
||||
case 21:
|
||||
mysql_query("UPDATE `users` SET `sila` = `sila`-'".$eff['sila']."', `lovk` = `lovk`-'".$eff['lovk']."', `inta` = `inta`-'".$eff['inta']."', `vinos` = `vinos`-'".$eff['vinos']."' WHERE `id` = '".$eff['owner']."' LIMIT 1");
|
||||
break;
|
||||
case 4:
|
||||
mysql_query("UPDATE `users` SET `align` = '0' WHERE `id` = '".$eff['owner']."' LIMIT 1");
|
||||
break;
|
||||
case 7:
|
||||
mysql_query("UPDATE `users` SET `maxhp` = (`maxhp`-200), `hp` = `maxhp` WHERE `id` = '".$eff['owner']."' LIMIT 1");
|
||||
break;
|
||||
case 1022:
|
||||
mysql_query("UPDATE `users` SET `invis` = 0 WHERE `id` = '".$eff['owner']."' LIMIT 1");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
$hostel = mysql_query('SELECT `id`, `sleep` FROM `users` WHERE `sleep` != 0');
|
||||
while($pl = mysql_fetch_array($hostel)) {
|
||||
if($pl['sleep'] <= time()) {
|
||||
mysql_query('UPDATE `users` SET `sleep` = 0 WHERE `id` = "'.$pl['id'].'"');
|
||||
mysql_query('UPDATE `hostel` SET `sleeptime` = "'.(time()+60*60*6).'" WHERE `uid` = "'.$pl['id'].'"');
|
||||
$ef = mysql_query('SELECT `id`, `time`, `sleep` FROM `effects` WHERE `owner` = "'.$pl['id'].'" AND `sleep` != 0');
|
||||
while($ps = mysql_fetch_array($ef)) {
|
||||
$tm = (time()+$ps['sleep']);
|
||||
mysql_query('UPDATE `effects` SET `time` = "'.$tm.'", `sleep` = "0" WHERE `id` = "'.$ps['id'].'" AND `owner` = "'.$pl['id'].'"');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
mysql_query('LOCK TABLES `inventory` WRITE, `variables` WRITE, `deztow_turnir` WRITE, `deztow_stavka` WRITE, `effects` WRITE, `deztow_charstams` WRITE, `deztow_gamers_inv` WRITE, `deztow_items` WRITE, `deztow_trap` WRITE, `online` WRITE');
|
||||
$turnirstart = mysql_fetch_array(mysql_query("SELECT `value`, `bs_art` FROM `variables` WHERE `var` = 'startbs' LIMIT 1"));
|
||||
$turnirstart['value'] -= 900;
|
||||
|
||||
if(date("z-H-i") == date("z-H-i", $turnirstart['value']))
|
||||
if($turnirstart['bs_art'] == 0) {
|
||||
file_get_contents('http://capitalcity.old-dark.ru/chats.php?id=4');
|
||||
} elseif($turnirstart['bs_art'] == 1) {
|
||||
file_get_contents('http://capitalcity.old-dark.ru/chats.php?id=4');
|
||||
}
|
||||
|
||||
$tr = mysql_fetch_array(mysql_query("SELECT `id`, `type`, `winner`, `coin`, `start_time`, `log`, `endtime`, `active`, `winnerlog`, `art` FROM `deztow_turnir` WHERE `active` = TRUE LIMIT 1"));
|
||||
$turnirstart = mysql_fetch_array(mysql_query("SELECT `value`, `bs_art` FROM `variables` WHERE `var` = 'startbs' LIMIT 1"));
|
||||
$dd = mysql_fetch_array(mysql_query("SELECT COUNT(`kredit`) FROM `deztow_stavka` WHERE `owner` != 1254"));
|
||||
|
||||
if($dd[0] < 2 && $turnirstart[0] <= time()) {
|
||||
if($turnirstart['bs_art'] == 1) {
|
||||
$bs_art = 0;
|
||||
} elseif($turnirstart['bs_art'] == 0) {
|
||||
$bs_art = 0;
|
||||
}
|
||||
mysql_query('UPDATE `variables` SET `value` = "'.(time()+60*60).'", `bs_art` = "'.$bs_art.'" WHERE `var` = "startbs" LIMIT 1');
|
||||
mysql_query("INSERT INTO `deztow_stavka` (`owner`, `kredit`, `time`) VALUES ('1254', '30', '".time()."')");
|
||||
file_get_contents('http://capitalcity.old-dark.ru/chats.php?id=5');
|
||||
}
|
||||
|
||||
if(!$tr && $turnirstart[0] <= time() && $dd[0] >= 2) {
|
||||
$minroom = 501;
|
||||
$maxroom = 560;
|
||||
|
||||
$data = mysql_query("SELECT `dt`.`owner` FROM `deztow_stavka` AS `dt`, `online` AS `o` WHERE (SELECT COUNT(`id`) FROM `effects` WHERE `effects`.`owner` = `dt`.`owner` AND (`type` = 11 OR `type` = 12 OR `type` = 13 OR `type` = 14 OR `type` = 2 OR `type` = 3 OR `type` = 4 OR `type` = 202 OR `type` = 201 OR `type` = 21)) = 0 AND `o`.`id` = `dt`.`owner` AND `room` = 31 AND `o`.`date` >= '".(time()-300)."' ORDER BY `kredit` DESC, `dt`.`time` ASC LIMIT 50");
|
||||
$stavka = mysql_fetch_array(mysql_query("SELECT SUM(`kredit`)*0.7 FROM `deztow_stavka`"));
|
||||
|
||||
while($row = mysql_fetch_array($data)) {
|
||||
enter_bs($row[0]);
|
||||
|
||||
$tec = mysql_fetch_array(mysql_query("SELECT `id`, `owner`, `name`, `sila`, `lovk`, `inta`, `vinos`, `intel`, `mudra`, `def` FROM `deztow_charstams` WHERE `owner` = '{$row['owner']}' AND `def` = '1' LIMIT 1"));
|
||||
$usk = mysql_fetch_array(mysql_query("SELECT * FROM `users` WHERE `id` = '".$row[0]."' LIMIT 1"));
|
||||
|
||||
if(isset($tec['id'])) {
|
||||
mysql_query("UPDATE `users` SET `sila` = '".$tec['sila']."', `lovk` = '".$tec['lovk']."', `inta` = '".$tec['inta']."', `vinos` = '".$tec['vinos']."', `intel` = '".$tec['intel']."', `stats` = 0, `noj` = 0, `mec` = 0, `topor` = 0, `dubina` = 0, `mfire` = 0, `mwater` = 0, `mair` = 0, `mearth` = 0, `mlight` = 0, `mgray` = 0, `mdark` = 0, `master` = '8', `maxhp` = '".($tec['vinos']*6)."', `hp` = '".($tec['vinos']*6)."', `level` = 7, `nextup` = 999999999 WHERE `id` = '".$usk['id']."' LIMIT 1");
|
||||
} else {
|
||||
mysql_query("UPDATE `users` SET `sila` = '3', `lovk` = '3', `inta` = '3', `vinos` = '10', `intel` = '0', `stats` = 64, `noj` = 0, `mec` = 0, `topor` = 0, `dubina` = 0, `mfire` = 0, `mwater` = 0, `mair` = 0, `mearth` = 0, `mlight` = 0, `mgray` = 0, `mdark` = 0, `master` = '8', `maxhp` = '60', `hp` = '60', `level` = 7, `nextup` = 999999999 WHERE `id` = '".$usk['id']."' LIMIT 1");
|
||||
}
|
||||
|
||||
$rum = rand($minroom, $maxroom);
|
||||
$urs[$row['owner']] = $rum;
|
||||
$i++;
|
||||
if($i > 1) { $lors .= ", "; }
|
||||
$lors .= nick3($row['owner']);
|
||||
}
|
||||
|
||||
undressall(233);
|
||||
undressall(234);
|
||||
undressall(235);
|
||||
|
||||
mysql_query("DELETE FROM `inventory` WHERE `owner` = 233");
|
||||
mysql_query("DELETE FROM `inventory` WHERE `owner` = 234");
|
||||
mysql_query("DELETE FROM `inventory` WHERE `owner` = 235");
|
||||
$rums = rand($minroom, $maxroom);
|
||||
mysql_query("UPDATE `users` SET `in_tower` = 1, `chattime` = '999999999999', `room` = '".$rums."' WHERE `id` = '233' LIMIT 1");
|
||||
mysql_query("UPDATE `users` SET `in_tower` = 1, `chattime` = '999999999999', `room` = '".$rums."' WHERE `id` = '234' LIMIT 1");
|
||||
mysql_query("UPDATE `users` SET `in_tower` = 1, `chattime` = '999999999999', `room` = '".$rums."' WHERE `id` = '235' LIMIT 1");
|
||||
mysql_query("UPDATE `online` SET `room` = '".$rums."', `date` = '999999999999' WHERE `id` = '233' LIMIT 1");
|
||||
mysql_query("UPDATE `online` SET `room` = '".$rums."', `date` = '999999999999' WHERE `id` = '234' LIMIT 1");
|
||||
mysql_query("UPDATE `online` SET `room` = '".$rums."', `date` = '999999999999' WHERE `id` = '235' LIMIT 1");
|
||||
echo mysql_error();
|
||||
$i++;
|
||||
$lors .= ", ".nick3(233);
|
||||
$lors .= ", ".nick3(234);
|
||||
$lors .= ", ".nick3(235);
|
||||
$lors .= ltrim(",", $lors);
|
||||
|
||||
mysql_query("TRUNCATE TABLE `deztow_items`");
|
||||
$shmots = array("1", "1", "92", "92", "93", "93", "19", "19", "20", "20", "20", "23", "23", "24", "14", "87", "87", "6", "6", "17", "17", "17", "17", "11", "11", "12", "12", "12", "28", "28", "43", "43", "36", "36", "36", "37", "37", "37", "38", "38", "38", "50", "50", "57", "52", "52", "51", "51", "48", "48", "47", "47", "49", "49", "59", "59", "60", "60", "61", "61", "63", "64", "64", "65", "65", "66", "66", "68", "68", "69", "69", "72", "72", "4", "5", "79", "79", "80", "76", "75", "75", "94", "94", "95", "95", "82", "91", "91", "34", "34", "86", "86", "86", "9", "9", "101", "101", "101", "101", "101", "97", "97", "97", "97", "100", "100", "100", "100", "171", "171", "171", "171", "103", "103", "103", "104", "105", "105", "106", "106", "107", "107", "108", "108", "109", "110", "111", "112", "112", "113", "113", "119", "364", "284", "284", "284", "284", "284", "285", "285", "285", "285", "286", "286", "286", "286");
|
||||
while($sh = array_shift($shmots)) {
|
||||
$shopid = mysql_fetch_array(mysql_query("SELECT `id`, `name`, `img` FROM `shop` WHERE `id` = '".$sh."' LIMIT 1"));
|
||||
if(isset($shopid['id'])) {
|
||||
mysql_query("INSERT `deztow_items` (`iteam_id`, `name`, `img`, `room`) VALUES ('".$shopid['id']."', '".$shopid['name']."', '".$shopid['img']."', '".rand($minroom, $maxroom)."')");
|
||||
}
|
||||
}
|
||||
|
||||
$log = '<span class=date>'.date("d.m.y H:i").'</span> Начало турнира. Участники : '.$lors.'<br />';
|
||||
$end = (time() + 21600);
|
||||
mysql_query("INSERT `deztow_turnir` (`type`, `winner`, `coin`, `start_time`, `log`, `endtime`, `active`) VALUES ('".rand(1, 7)."', '', '".$stavka[0]."', '".time()."', '".$log."', '".$end."', '1')");
|
||||
|
||||
foreach($urs as $row => $rum) {
|
||||
mysql_query("UPDATE `users` SET `in_tower` = 1, `room` = '".$rum."' WHERE `id` = '".$row."'");
|
||||
mysql_query("UPDATE `online` SET `room` = '".$rum."' WHERE `id` = '".$row."' LIMIT 1");
|
||||
}
|
||||
}
|
||||
|
||||
$tur_data = mysql_fetch_array(mysql_query("SELECT `id`, `type`, `winner`, `coin`, `start_time`, `log`, `endtime`, `active`, `winnerlog`, `art` FROM `deztow_turnir` WHERE `active` = '1' LIMIT 1"));
|
||||
if($tur_data['endtime'] < time() && $tur_data['id']) {
|
||||
$list = mysql_query("SELECT * FROM `users` WHERE `in_tower` = 1");
|
||||
|
||||
while($u = mysql_fetch_array($list)) {
|
||||
undressall($u['id']);
|
||||
$rep = mysql_query("SELECT * FROM `inventory` WHERE `owner` = '".$u['id']."' AND `bs` = 1");
|
||||
while($r = mysql_fetch_array($rep)) {
|
||||
mysql_query("INSERT `deztow_items` (`iteam_id`, `name`, `img`, `room`) VALUES ('".$r['prototype']."', '".$r['name']."', '".$r['img']."', '".$u['room']."')");
|
||||
}
|
||||
mysql_query("DELETE FROM `inventory` WHERE `owner` = '".$u['id']."' AND `bs` = 1");
|
||||
|
||||
$rep = mysql_query("SELECT `id_item`, `owner` FROM `deztow_gamers_inv` WHERE `owner` = '".$u['id']."'");
|
||||
while($r = mysql_fetch_array($rep)) {
|
||||
mysql_query("UPDATE `inventory` SET `owner` = '".$u['id']."' WHERE `owner` = '0' AND `id` = '".$r['id_item']."'");
|
||||
}
|
||||
|
||||
$tec = mysql_fetch_array(mysql_query("SELECT `id`, `owner`, `name`, `sila`, `lovk`, `inta`, `vinos`, `intel`, `maxhp`, `money`, `exp`, `mudra`, `stats`, `nextup`, `level`, `align`, `master`, `noj`, `mec`, `topor`, `dubina`, `mlight`, `mgray`, `mdark` FROM `deztow_realchars` WHERE `owner` = '{$u['id']}' LIMIT 1"));
|
||||
if(isset($tec['id'])) {
|
||||
$u = mysql_fetch_array(mysql_query("SELECT * FROM `users` WHERE `id` = '{$u['id']}' LIMIT 1"));
|
||||
$stats = $tec['stats'];
|
||||
$master = $tec['master'];
|
||||
mysql_query("UPDATE `users` SET `sila` = '".$tec['sila']."', `lovk` = '".$tec['lovk']."', `inta` = '".$tec['inta']."', `vinos` = '".$tec['vinos']."', `hp` = '".($tec['vinos']*6)."', `maxhp` = '".($tec['vinos']*6)."', `intel` = '".$tec['intel']."', `stats` = '".$tec['stats']."', `nextup` = '".$tec['nextup']."', `level` = '".$tec['level']."', `align` = '".$tec['align']."', `noj` = '".$tec['noj']."', `mec` = '".$tec['mec']."', `topor` = '".$tec['topor']."', `dubina` = '".$tec['dubina']."', `mlight` = '".$tec['mlight']."', `mgray` = '".$tec['mgray']."', `mdark` = '".$tec['mdark']."', `master` = '".$tec['master']."' WHERE `id` = '".$u['id']."' LIMIT 1");
|
||||
mysql_query("DELETE FROM `deztow_realchars` WHERE `owner` = '{$u['id']}'");
|
||||
|
||||
$eff = mysql_fetch_array(mysql_query("SELECT * FROM `effects` WHERE `owner` = '".$u['id']."' AND (`type` = 1 `type` = 2 `type` = 3 `type` = 4 `type` = 11 OR `type` = 12 OR `type` = 13 OR `type` = 14 `type` = 21 `type` = 201 `type` = 202)"));
|
||||
mysql_query("DELETE FROM `effects` WHERE `owner` = '".$u['id']."' AND `type` != 1 AND `type` != 2 AND `type` != 3 AND `type` != 4 AND `type` != 5 AND `type` != 6 AND `type` != 11 AND `type` != 12 AND `type` != 13 AND `type` != 14");
|
||||
|
||||
if(isset($tec['id'])) {
|
||||
mysql_query("UPDATE `users` SET `sila` = (`sila`-'".$eff['sila']."'), `lovk` = (`lovk`-'".$eff['lovk']."'), `inta` = (`inta`-'".$eff['inta']."'), `maxhp` = (`maxhp`-'".$eff['hp']."') WHERE `id` = '".$eff['owner']."' LIMIT 1");
|
||||
}
|
||||
|
||||
if($u['id'] != 233 && $u['id'] != 234 && $u['id'] != 235) {
|
||||
settravma($u['id'], 100, 86400, 1);
|
||||
}
|
||||
get_out($u['id']);
|
||||
mysql_query("UPDATE `users` SET `in_tower` = 0, `room` = '31' WHERE `id` = '".$u['id']."' LIMIT 1");
|
||||
mysql_query("UPDATE `online` SET `room` = '31' WHERE `id` = '".$u['id']."' LIMIT 1");
|
||||
}
|
||||
}
|
||||
mysql_query('UPDATE `deztow_turnir` SET `winner` = \'NO!\', `winnerlog` = \'<b>Ничья</b>\', `endtime` = '.time().', `active` = 0, `log` = CONCAT(`log`,\''."Турнир закончен по тайм-ауту. Победителя нет!<br />".'\') WHERE `active` = TRUE LIMIT 1');
|
||||
|
||||
$turnirstart = mysql_fetch_array(mysql_query("SELECT `value`, `bs_art` FROM `variables` WHERE `var` = 'startbs' LIMIT 1"));
|
||||
if($turnirstart['bs_art'] == 1) {
|
||||
$bs_art = 0;
|
||||
} elseif($turnirstart['bs_art'] == 0) {
|
||||
$bs_art = 0; #1
|
||||
}
|
||||
$times = (time() + 7200);
|
||||
mysql_query("UPDATE `variables` SET `value` = '".$times."', `bs_art` = '".$bs_art."' WHERE `var` = 'startbs' LIMIT 1");
|
||||
mysql_query("TRUNCATE TABLE `deztow_stavka`");
|
||||
mysql_query("TRUNCATE TABLE `deztow_gamers_inv`");
|
||||
mysql_query("TRUNCATE TABLE `deztow_items`");
|
||||
mysql_query("TRUNCATE TABLE `deztow_trap`");
|
||||
}
|
||||
mysql_query('UNLOCK TABLES');
|
||||
?>
|
||||
1022
cronjobs/cron2.php
Normal file
1022
cronjobs/cron2.php
Normal file
File diff suppressed because it is too large
Load Diff
73
cronjobs/cron_bots.php
Normal file
73
cronjobs/cron_bots.php
Normal file
@@ -0,0 +1,73 @@
|
||||
<?php
|
||||
include('config.php');
|
||||
include('functions.php');
|
||||
|
||||
$r = mysql_query("SELECT `id`, `win` FROM `battle` WHERE `needbb` = 2 AND `win` = 3");
|
||||
$r2 = mysql_query("SELECT `id`, `win` FROM `battle` WHERE `needbb` = 1 AND `win` = 3 AND (`timeout`*90+`to1` < ".time()." OR `timeout`*90+`to2` < ".time().")");
|
||||
|
||||
echo "SELECT `id`, `win` FROM `battle` WHERE `needbb` = 1 AND `win` = 3 AND (`timeout`*90+`to1` < ".time()." OR `timeout`*90+`to2` < ".time().")";
|
||||
|
||||
if(mysql_num_rows($r) > 0 || mysql_num_rows($r2) > 0) { include('fbattle.php'); }
|
||||
$battles = array();
|
||||
while($rec = mysql_fetch_assoc($r)) {
|
||||
$fbattles = new fbattle($rec['id']);
|
||||
foreach($fbattles->battle as $k => $v) {
|
||||
if($k > _BOTSEPARATOR_) {
|
||||
foreach($v as $k2 => $v2) {
|
||||
if($k2 < _BOTSEPARATOR_) continue;
|
||||
$hp_1 = mysql_fetch_array(mysql_query('SELECT `hp` FROM `bots` WHERE `id` = "'.$k.'" LIMIT 1'));
|
||||
$hp_2 = mysql_fetch_array(mysql_query('SELECT `hp` FROM `bots` WHERE `id` = "'.$k2.'" LIMIT 1'));
|
||||
if($fbattles->battle[$k][$k2][0] && $fbattles->battle[$k2][$k][0] && $hp_1['hp'] > 0 && $hp_2['hp'] > 0) {
|
||||
$at_1 = $fbattles->battle[$k][$k2][0];
|
||||
$def_1 = $fbattles->battle[$k][$k2][1];
|
||||
$at_2 = $fbattles->battle[$k2][$k][0];
|
||||
$def_2 = $fbattles->battle[$k2][$k][1];
|
||||
$fbattles->makechange($k, $k2, $at_1, $at_2, $def_1, $def_2);
|
||||
$fbattles->write_log();
|
||||
$fbattles->battle[$k][$k2] = array(0, 0, time());
|
||||
$fbattles->battle[$k2][$k] = array(0, 0, time());
|
||||
$fbattles->needupdate = 1;
|
||||
if($cond) { $tocond .= " OR "; }
|
||||
$battles[$rec['id']] = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if($fbattles->needupdate) { $fbattles->UpdateBattle(); }
|
||||
}
|
||||
|
||||
while($rec = mysql_fetch_assoc($r2)) {
|
||||
$fbattles = new fbattle($rec['id']);
|
||||
foreach($fbattles->battle as $k => $v) {
|
||||
if($k > _BOTSEPARATOR_) {
|
||||
foreach($v as $k2 => $v2) {
|
||||
if($k2 > _BOTSEPARATOR_) continue;
|
||||
$hp_1 = mysql_fetch_array(mysql_query('SELECT `hp` FROM `bots` WHERE `id` = "'.$k.'" LIMIT 1'));
|
||||
$hp_2 = mysql_fetch_array(mysql_query('SELECT `hp` FROM `bots` WHERE `id` = "'.$k2.'" LIMIT 1'));
|
||||
if($hp_1['hp'] > 0 && $hp_2['hp'] > 0) {
|
||||
$at_1 = $fbattles->battle[$k][$k2][0];
|
||||
$def_1 = $fbattles->battle[$k][$k2][1];
|
||||
$at_2 = $fbattles->battle[$k2][$k][0];
|
||||
$def_2 = $fbattles->battle[$k2][$k][1];
|
||||
$fbattles->makechange($k, $k2, $at_1, $at_2, $def_1, $def_2);
|
||||
$fbattles->write_log();
|
||||
$fbattles->battle[$k][$k2] = array(0, 0, time());
|
||||
$fbattles->battle[$k2][$k] = array(0, 0, time());
|
||||
$fbattles->needupdate = 1;
|
||||
if($cond) { $tocond .= " or "; }
|
||||
$battles[$rec['id']] = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if($fbattles->needupdate) { $fbattles->UpdateBattle(); }
|
||||
}
|
||||
|
||||
$cond = '';
|
||||
foreach($battles as $k => $v) {
|
||||
if($cond) { $cond .= " OR "; }
|
||||
$cond .= " `id` = '$k' ";
|
||||
}
|
||||
if($cond) {
|
||||
mysql_query("UPDATE `battle` SET `to1` = ".time().", `to2` = ".time()." WHERE $cond");
|
||||
}
|
||||
1548
cronjobs/cron_bots__battle.php
Normal file
1548
cronjobs/cron_bots__battle.php
Normal file
File diff suppressed because one or more lines are too long
1548
cronjobs/cron_bots_battle.php
Normal file
1548
cronjobs/cron_bots_battle.php
Normal file
File diff suppressed because one or more lines are too long
7
cronjobs/cron_bs.php
Normal file
7
cronjobs/cron_bs.php
Normal file
@@ -0,0 +1,7 @@
|
||||
<?php
|
||||
include('config.php');
|
||||
include('functions.php');
|
||||
|
||||
#phpinfo();
|
||||
file_get_contents('http://capitalcity.old-dark.ru/chats.php?id=6&user=10022');
|
||||
?>
|
||||
971
cronjobs/cron_test.php
Normal file
971
cronjobs/cron_test.php
Normal file
@@ -0,0 +1,971 @@
|
||||
<?php
|
||||
/* cron file */
|
||||
//error_reporting(E_ALL);
|
||||
//ini_set("display_errors", 1);
|
||||
/*
|
||||
//Считываем текущее время
|
||||
$mtime = microtime();
|
||||
//Разделяем секунды и миллисекунды
|
||||
$mtime = explode(" ",$mtime);
|
||||
//Составляем одно число из секунд и миллисекунд
|
||||
$mtime = $mtime[1] + $mtime[0];
|
||||
//Записываем стартовое время в переменную
|
||||
$tstart = $mtime;*/
|
||||
die();
|
||||
session_start();;
|
||||
$mysql = mysql_connect('localhost','user42163_onli','1W7y2E8u');
|
||||
mysql_select_db('user42163_onli', $mysql);
|
||||
mysql_query('SET NAMES CP1251;');
|
||||
include "functions.php";
|
||||
$tm=time();
|
||||
|
||||
/// чистим логи
|
||||
if(date("H-i")=="03-00")
|
||||
{
|
||||
$del_tm=time()-60*60*24*7;
|
||||
$us_lim=mysql_fetch_array(mysql_query("SELECT `id` FROM `battle` WHERE `to1`<'{$del_tm}' ORDER BY to1 DESC LIMIT 1;"));
|
||||
$us_lim=$us_lim['id'];
|
||||
mysql_query("DELETE FROM `logs` WHERE `id`<'{$us_lim}';");
|
||||
mysql_query("DELETE FROM `battle` WHERE `id`<'{$us_lim}';");
|
||||
$del_tm=time()-60*60*24*60;
|
||||
mysql_query("DELETE FROM `delo` WHERE `date`<'".$del_tm."';");
|
||||
mysql_query("OPTIMIZE `logs`,`battle`,`delo`;");
|
||||
}
|
||||
|
||||
if(date("H-i")=="06-00")
|
||||
{
|
||||
//обнуляем способности
|
||||
$abil=array("0"=>"1","1"=>"1","2"=>"2");
|
||||
mysql_query("UPDATE `users` SET `abil`='".serialize($abil)."' WHERE `align`='2' OR `align`='8.31';");
|
||||
$abil=array("0"=>"3","1"=>"0","2"=>"0");
|
||||
mysql_query("UPDATE `users` SET `abil`='".serialize($abil)."' WHERE `level`='7' AND `align`='6';");
|
||||
$abil=array("0"=>"3","1"=>"2","2"=>"0");
|
||||
mysql_query("UPDATE `users` SET `abil`='".serialize($abil)."' WHERE `level`='8' AND `align`='6';");
|
||||
$abil=array("0"=>"3","1"=>"2","2"=>"1");
|
||||
mysql_query("UPDATE `users` SET `abil`='".serialize($abil)."' WHERE `level`>='9' AND `align`='6';");
|
||||
for($i=0;$i<10;$i++) $abil[$i]=9;
|
||||
mysql_query("UPDATE `users` SET `abil`='".serialize($abil)."' WHERE `align`>'7' AND `align`<'8';");
|
||||
//обнуляем диггеров
|
||||
mysql_query("UPDATE digger SET count_dig='0',count_guard='0';");
|
||||
//обнуляем подарки
|
||||
mysql_query("UPDATE `users` SET `podarokAD`='0';");
|
||||
//обнуляем реферала месяца
|
||||
if(date("d")=="01")
|
||||
{
|
||||
mysql_query("UPDATE variables SET value='{$tm}' WHERE var='ref_month';");
|
||||
mysql_query("UPDATE variables SET value='0' WHERE var='ref_m_id';");
|
||||
}
|
||||
//обнуляем реферала недели
|
||||
if(date("N")=="7")
|
||||
{
|
||||
mysql_query("UPDATE variables SET value='{$tm}' WHERE var='ref_week';");
|
||||
mysql_query("UPDATE variables SET value='0' WHERE var='ref_w_id';");
|
||||
}
|
||||
//обнуляем парк
|
||||
mysql_query("UPDATE `cit_park` SET `counter`=0,`bots`='',`room`=0;");
|
||||
//задаем рейд на замок
|
||||
$cc_time=$tm+rand(60*60*14,60*60*14.5);
|
||||
mysql_query("UPDATE variables SET value='{$cc_time}' where var='cc_time';");
|
||||
|
||||
}
|
||||
if(date("H-i")=="09-00")
|
||||
{
|
||||
//задаем рейд на ЦХ - 10-11
|
||||
$ch_time=$tm+rand(60*60*1,60*60*2);
|
||||
mysql_query("UPDATE variables SET value='{$ch_time}' where var='cit_haos_time';");
|
||||
}
|
||||
//задаем рейд утром
|
||||
if(date("H-i")=="10-00")
|
||||
{
|
||||
//задаем рейд на город
|
||||
$raid_time=$tm+rand(60*60*1.5,60*60*2.5);
|
||||
mysql_query("UPDATE variables SET value='{$raid_time}' where var='raid_on_city';");
|
||||
}
|
||||
if(date("H-i")=="20-00")
|
||||
{
|
||||
//задаем рейд на ЦХ - 21-22
|
||||
$ch_time=$tm+rand(60*60*1,60*60*2);
|
||||
mysql_query("UPDATE variables SET value='{$ch_time}' where var='cit_haos_time';");
|
||||
|
||||
}
|
||||
|
||||
//берем дату и время Замка Мэра
|
||||
if(date("z-H-i")==date("z-H-i",$c_castle['value']))
|
||||
{
|
||||
$c_castle=mysql_query("SELECT `value` FROM variables WHERE var='cc_time' LIMIT 1;");
|
||||
addchsys('<font color=red>Начинается прием заявок на владение Замком Мэра! Начало боя через 15 минут.</font>');
|
||||
}
|
||||
//кто нападает
|
||||
$cca=$c_castle['value']+930;
|
||||
if(date("z-H-i")==date("z-H-i",$cca))
|
||||
{
|
||||
$cc_own=mysql_fetch_array(mysql_query("SELECT `value` FROM variables WHERE var='castle_owner' LIMIT 1;"));
|
||||
$cc_k=mysql_fetch_array(mysql_query("SELECT `name` FROM `clans` WHERE `id` = '{$cc_own['value']}' LIMIT 1;"));
|
||||
$cc_att=mysql_fetch_array(mysql_query("SELECT `value` FROM variables WHERE var='castle_att' LIMIT 1;"));
|
||||
$cc_a=mysql_fetch_array(mysql_query("SELECT `name` FROM `clans` WHERE `id` = '{$cc_att['value']}' LIMIT 1;"));
|
||||
if($cc_own['value']>0 && $cc_att['value']>0) {addchsys('<font color=red><strong>Клан <img title="'.$cc_a['name'].'" src="i/klan/'.$cc_a['name'].'.gif">'.$cc_a['name'].'</strong> готовится к битве за Замок Мэра с <strong>кланом <img title="'.$cc_k['name'].'" src="i/klan/'.$cc_k['name'].'.gif">'.$cc_k['name'].'</strong>! Начало боя через 1 минуту!</font>');}
|
||||
elseif($cc_own['value']>0 && $cc_att['value']==0) {addchsys('<font color=red>Никто не осмелился оспорить права <strong>клана <img title="'.$cc_a['name'].'" src="i/klan/'.$cc_a['name'].'.gif">'.$cc_a['name'].'</strong> на Замок Мэра</font>');}
|
||||
elseif($cc_own['value']==0 && $cc_att['value']>0) {addchsys('<font color=red><strong>Клан <img title="'.$cc_k['name'].'" src="i/klan/'.$cc_k['name'].'.gif">'.$cc_k['name'].'</strong> готовится к битве за Замок Мэра с <strong>силами Хаоса</strong>! Начало боя через 1 минуту!</font>');}
|
||||
elseif($cc_own['value']==0 && $cc_att['value']==0) {addchsys('<font color=red>Никто не осмелился отбить у <strong>сил Хаоса</strong> Замок Мэра</font>');}
|
||||
}
|
||||
//берем дату-время рейда
|
||||
$raid_t=mysql_fetch_array(mysql_query("SELECT * FROM variables WHERE var='raid_on_city' limit 1;"));
|
||||
$ch_t=mysql_fetch_array(mysql_query("SELECT * FROM `variables` WHERE `var` = 'cit_haos_time' LIMIT 1;"));
|
||||
//берем дату-время ЦХ
|
||||
$raid_r=date("r",$raid_t['value']);
|
||||
$ch_r=date("r",$ch_r['value']);
|
||||
$zay_dub=mysql_fetch_array(mysql_query("SELECT * FROM zayavka WHERE `team1` LIKE '1000%' limit 1;"));
|
||||
//рейд на город
|
||||
if(date("H-i")==date("H-i",$raid_t['value']) && !$zay_dub['id']>0)
|
||||
{
|
||||
mysql_query("UPDATE variables SET value='2' where var='raid_on_status';");
|
||||
}
|
||||
//рейд на ЦХ
|
||||
if(date("z-H-i")==date("z-H-i",$ch_t['value']))
|
||||
{
|
||||
mysql_query("DELETE FROM `cit_haos_status`;");
|
||||
mysql_query("DELETE FROM `cit_haos_var`;");
|
||||
|
||||
addchsys('<font color=red>Начинается прием заявок в рейд на Цитадель Хаоса! Начало рейда через 15 минут.</font>');
|
||||
}
|
||||
// hp operations
|
||||
|
||||
//комплекты - костыль
|
||||
$komp_users = mysql_query("SELECT * FROM `users`,`online` WHERE `users`.`id`=`online`.`id` AND `online`.`date` >= ".(time()-60).";");
|
||||
while($ku=mysql_fetch_array($komp_users))
|
||||
{
|
||||
GiveExp($ku['id'],0);
|
||||
$kompl_raw=mysql_query("SELECT * FROM inventory where owner=".$ku['id']." AND dressed=1");
|
||||
|
||||
$items_on_user=array();
|
||||
$set_id_wear=array();
|
||||
$kompl_ghp=0;
|
||||
$kompl_gmana=0;
|
||||
while ($kompl=mysql_fetch_array($kompl_raw))
|
||||
{
|
||||
$items_on_user[]=$kompl['prototype'];
|
||||
};
|
||||
$sets_raw=mysql_query("SELECT * FROM item_sets;");
|
||||
while ($set_items=mysql_fetch_array($sets_raw))
|
||||
{
|
||||
$kompl_full=1;
|
||||
$in_set=explode(',',$set_items['prot_id']);
|
||||
foreach($in_set as $tmp_set)
|
||||
if (!in_array($tmp_set,$items_on_user))
|
||||
{$kompl_full=0;}
|
||||
if ($kompl_full==1) $set_id_wear[]=$set_items['set_id'];
|
||||
|
||||
};
|
||||
foreach($set_id_wear as $s)
|
||||
{
|
||||
$items_raw=mysql_fetch_array(mysql_query("SELECT `ghp`,`gmana` FROM item_sets where set_id='{$s}' limit 1;"));
|
||||
$kompl_ghp+=$items_raw['ghp'];
|
||||
$kompl_gmana+=$items_raw['gmana'];
|
||||
};
|
||||
if(!$kompl_ghp) $kompl_ghp=0;
|
||||
if(!$kompl_gmana) $kompl_gmana=0;
|
||||
mysql_query("UPDATE `users` SET `maxhp` = (IFNULL((SELECT SUM(`ghp`) FROM `inventory` WHERE dressed=1 AND owner = `users`.id),0) + (users.vinos*6)+'{$kompl_ghp}') WHERE `id`='{$ku['id']}';");
|
||||
mysql_query("UPDATE `users` SET `maxmana` = (IFNULL((SELECT SUM(`gmp`) FROM `inventory` WHERE dressed=1 AND owner = `users`.id),0) + (users.mudra*10)+'{$kompl_gmana}') WHERE `id`='{$ku['id']}';");
|
||||
}
|
||||
|
||||
//комплекты *
|
||||
//mysql_query("UPDATE `users` SET `maxmana` = (IFNULL((SELECT SUM(`gmp`) FROM `inventory` WHERE dressed=1 AND owner = `users`.id),0) + (users.mudra*10));");
|
||||
mysql_query("UPDATE `users` SET `hp` = '0' WHERE `hp` < '0' ");
|
||||
mysql_query("UPDATE `users` SET `mana` = '0' WHERE `mana` < '0' ");
|
||||
// ломаем шмот
|
||||
$its = mysql_query("SELECT `id`,`owner`,`name` FROM `inventory` WHERE `dressed` = 0 AND ((`maxdur` <= `duration`) OR (`dategoden` > 0 AND `dategoden` <= '".time()."'));");
|
||||
while($it = mysql_fetch_array($its))
|
||||
{
|
||||
//destructitem($it['id']);
|
||||
mysql_query("DELETE FROM `inventory` WHERE `id` = '".$it['id']."' LIMIT 1;");
|
||||
mysql_query("INSERT INTO `delo` (`id` , `author` ,`pers`, `text`, `type`, `date`) VALUES ('','0','\"".$it['name']."\" разрушился id:(cap".$it['id'].").',1,'".time()."');");
|
||||
}
|
||||
// травмы и хаос
|
||||
$effs = mysql_query("SELECT * FROM `effects` WHERE `time` <= ".time().";");
|
||||
mysql_query("DELETE FROM `effects` WHERE `time` <= ".time().";");
|
||||
while($eff = mysql_fetch_array($effs)) {
|
||||
switch ($eff['type'])
|
||||
{
|
||||
case 11:
|
||||
mysql_query("UPDATE `users` SET `sila`=`sila`+'".$eff['sila']."', `lovk`=`lovk`+'".$eff['lovk']."', `inta`=`inta`+'".$eff['inta']."' WHERE `id` = '".$eff['owner']."' LIMIT 1;");
|
||||
//deltravma($eff['id']);
|
||||
break;
|
||||
case 12:
|
||||
mysql_query("UPDATE `users` SET `sila`=`sila`+'".$eff['sila']."', `lovk`=`lovk`+'".$eff['lovk']."', `inta`=`inta`+'".$eff['inta']."' WHERE `id` = '".$eff['owner']."' LIMIT 1;");
|
||||
break;
|
||||
case 13:
|
||||
mysql_query("UPDATE `users` SET `sila`=`sila`+'".$eff['sila']."', `lovk`=`lovk`+'".$eff['lovk']."', `inta`=`inta`+'".$eff['inta']."' WHERE `id` = '".$eff['owner']."' LIMIT 1;");
|
||||
break;
|
||||
case 14:
|
||||
mysql_query("UPDATE `users` SET `sila`=`sila`+'".$eff['sila']."', `lovk`=`lovk`+'".$eff['lovk']."', `inta`=`inta`+'".$eff['inta']."' WHERE `id` = '".$eff['owner']."' LIMIT 1;");
|
||||
break;
|
||||
case 21:
|
||||
mysql_query("UPDATE `users` SET `sila`=`sila`-'".$eff['sila']."', `lovk`=`lovk`-'".$eff['lovk']."', `inta`=`inta`-'".$eff['inta']."', `vinos`=`vinos`-'".$eff['vinos']."' WHERE `id` = '".$eff['owner']."' LIMIT 1;");
|
||||
break;
|
||||
case 4:
|
||||
mysql_query("UPDATE `users` SET `align`='0' WHERE `id` = '".$eff['owner']."' LIMIT 1;");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$data = mysql_query("SELECT `id`, `fullhptime` FROM `users` WHERE `hp` < `maxhp` AND `battle` = 0;");
|
||||
while($user = mysql_fetch_array($data)) {
|
||||
if ((time()-$user[1])/60 > 0)
|
||||
{
|
||||
mysql_query("UPDATE `users` SET `hp` = `hp`+((".time()."-`fullhptime`)/60)*(`maxhp`/20), `fullhptime` = ".time()." WHERE `hp` < `maxhp` AND `id` = '".$user[0]."' LIMIT 1;");
|
||||
}
|
||||
}
|
||||
$data = mysql_query("SELECT `id`, `fullmptime` FROM `users` WHERE `mana` < `maxmana` AND `battle` = 0;");
|
||||
while($user = mysql_fetch_array($data)) {
|
||||
if ((time()-$user[1])/60 > 0 && $user[1])
|
||||
{
|
||||
mysql_query("UPDATE `users` SET `mana` = `mana`+((".time()."-`fullmptime`)/60)*(`maxmana`/30), `fullmptime` = '".time()."' WHERE `id` = '".$user[0]."' LIMIT 1;");
|
||||
}
|
||||
}
|
||||
mysql_query("UPDATE `users` SET `hp` = `maxhp`, `fullhptime` = ".time()." WHERE `hp` > `maxhp` AND `battle` = 0;");
|
||||
mysql_query("UPDATE `users` SET `mana` = `maxmana`, `fullmptime` = ".time()." WHERE (`mana` > `maxmana` OR `fullmptime` = 0) AND `battle` = 0;");
|
||||
|
||||
//============================ LAB HAOS =========================================
|
||||
/* mysql_query("TRUNCATE TABLE `lab_inv`;");
|
||||
mysql_query("TRUNCATE TABLE `lab_bots`;");
|
||||
mysql_query("TRUNCATE TABLE `lab_trap`;");
|
||||
// cheki
|
||||
$paymers = rand (50,100);
|
||||
for($i=1;$i<=$paymers;$i++) {
|
||||
mysql_query("INSERT INTO `lab_inv` (`id_room`,`type`,`value`) values ('".rand(0,1000)."','1','".(rand(1,10)/100)."');");
|
||||
}
|
||||
for($i=1;$i<=50;$i++) {
|
||||
mysql_query("INSERT INTO `lab_inv` (`id_room`,`type`,`value`) values ('".rand(0,1000)."','2','".(rand(1,10)/100)."');");
|
||||
}
|
||||
// roomsi
|
||||
for($i=1;$i<=1000;$i++) {
|
||||
mysql_query("UPDATE `lab_rooms` SET p1='".rand(0,1000)."',p2='".rand(0,1000)."',p3='".rand(0,1000)."',p4='".rand(0,1000)."',`exit`=0 WHERE `id` = '".$i."' LIMIT 1;");
|
||||
}
|
||||
for($i=1;$i<=800;$i++) {
|
||||
mysql_query("INSERT INTO `lab_bots` (`id_room`,`id_bot`) values ('".rand(0,1000)."','".(rand(1,4)+78)."');");
|
||||
}
|
||||
for($i=1;$i<=5;$i++) {
|
||||
mysql_query("INSERT INTO `lab_bots` (`id_room`,`id_bot`) values ('".rand(0,1000)."','233');");
|
||||
}
|
||||
for($i=1;$i<=300;$i++) {
|
||||
mysql_query("INSERT INTO `lab_trap` (`id_room`,`type`) values ('".rand(0,1000)."','".(rand(1,4))."');");
|
||||
}
|
||||
mysql_query("UPDATE `lab_rooms` SET `exit`=1 WHERE id = ".rand(1,1000)." LIMIT 1;");
|
||||
*/
|
||||
|
||||
|
||||
//====================================================================================
|
||||
//start Haos Match - disabled
|
||||
$hm_ok=array();
|
||||
/*$hm_ongoing=mysql_fetch_array(mysql_query("SELECT `value` FROM `variables` WHERE `var`='haos_match';"));
|
||||
$hm_ongoing=unserialize($hm_ongoing['value']);
|
||||
|
||||
if($hm_ongoing)
|
||||
foreach($hm_ongoing as $lvl=>$hm)
|
||||
{
|
||||
$check_win=mysql_fetch_array(mysql_query("SELECT `win` FROM `battle` WHERE `id`='{$hm}' LIMIT 1;"));
|
||||
|
||||
if(empty($check_win) || $check_win['win']==1 || $check_win['win']==2 || $check_win['win']==0) $hm_ok[$lvl]=1;
|
||||
else $hm_ok[$lvl]=0;
|
||||
}
|
||||
else*/
|
||||
{
|
||||
$hm_ok['7']=1;
|
||||
$hm_ok['8']=1;
|
||||
$hm_ok['9']=1;
|
||||
$hm_ok['10']=1;
|
||||
$hm_ok['11']=1;
|
||||
$hm_ok['12']=1;
|
||||
}
|
||||
|
||||
/*echo("<pre>");
|
||||
print_r($hm_ok);
|
||||
echo("</pre>");*/
|
||||
|
||||
if(date("i")%30==0) //%15==0
|
||||
{
|
||||
|
||||
|
||||
$haos_match=array();
|
||||
foreach($hm_ok as $lvl=>$flag)
|
||||
if($flag==1)
|
||||
{
|
||||
mysql_query("INSERT INTO `zayavka`
|
||||
(`start`, `timeout`, `t1c`, `t2c`, `type`, `level`, `coment`, `team1`, `stavka`, `t1min`, `t2min`, `t1max`, `t2max`,`podan`,`blood`) values
|
||||
(".(time()+5*60).",5,50,50,2,4,'Бой с силами Хаоса {$lvl}','1001;','',49,{$lvl}, 50, {$lvl}, '".date("H:i")."', '0');");
|
||||
$haos_match[$lvl]=mysql_insert_id();
|
||||
}
|
||||
|
||||
mysql_query("UPDATE `variables` SET `value`='".serialize($haos_match)."' WHERE `var`='haos_match_zay';");
|
||||
addchsys('<font color=red>Силы Хаоса вызывают бойцов клуба 7-12 уровней на поединок! Начало боя через 5 минут в групповых боях </font>');
|
||||
}
|
||||
|
||||
// start BS
|
||||
$tr = mysql_fetch_array(mysql_query("SELECT * FROM `deztow_turnir` WHERE `active` = TRUE"));
|
||||
$turnirstart = mysql_fetch_array(mysql_query("SELECT `value` FROM `variables` WHERE `var` = 'startbs' LIMIT 1;"));
|
||||
$dd = mysql_fetch_array(mysql_query("SELECT count(`kredit`) FROM `deztow_stavka`;"));
|
||||
if($dd[0] < 2 && $turnirstart[0] <= time()) {
|
||||
mysql_query('UPDATE `variables` SET `value` = \''.(time()+60*60*1).'\' WHERE `var` = \'startbs\';');
|
||||
mysql_query("INSERT INTO `deztow_stavka` (`owner`,`kredit`,`time`) values ('1254','30','".time()."' ); ");
|
||||
}
|
||||
if(!$tr && $turnirstart[0] <= time() && $dd[0] >= 2){
|
||||
// начинаем БС
|
||||
//mysql_query("LOCK TABLES `shop` WRITE, `deztow_items` WRITE, `deztow_realchars` WRITE, `deztow_charstams` WRITE, `deztow_eff` WRITE, `deztow_gamers_inv` WRITE,`effects` WRITE, `deztow_turnir` WRITE, `deztow_stavka` WRITE, `users` WRITE, `inventory` WRITE, `online` WRITE;");
|
||||
$minroom = 501;
|
||||
$maxroom = 560;
|
||||
// вычисляем кто прошел в турнир
|
||||
$data = mysql_query("SELECT dt.owner FROM `deztow_stavka` as dt, `online` as o WHERE (SELECT count(`id`) FROM `effects` WHERE `effects`.`owner` = dt.owner AND ( type=11 OR type=12 OR type=13 OR type=14)) = 0 AND o.id = dt.owner AND room = 31 AND o.`date` >= '".(time()-300)."' ORDER by `kredit` DESC, dt.`time` ASC LIMIT 40;");
|
||||
$stavka = mysql_fetch_array(mysql_query("SELECT SUM(`kredit`)*0.7 FROM `deztow_stavka`;"));
|
||||
// удаляем сразу, чтоб другим не повадно было
|
||||
if($data) {
|
||||
mysql_query("TRUNCATE TABLE `deztow_stavka`;");
|
||||
mysql_query("TRUNCATE TABLE `deztow_gamers_inv`;");
|
||||
}
|
||||
while($row=mysql_fetch_array($data)) {
|
||||
// делаем каждому чару бекап в базу специальную, раздеваем и все такое
|
||||
undressall($row[0]); // раздели
|
||||
$shmot = mysql_query("SELECT * FROM `inventory` WHERE `owner` = '".$row[0]."';");// бекапим весь шмот
|
||||
mysql_query("UPDATE `inventory` SET `owner` = 0 WHERE `owner` = '".$row[0]."';");
|
||||
while($sh = mysql_fetch_array($shmot)) {
|
||||
mysql_query("INSERT `deztow_gamers_inv` (`id_item`,`owner`) values ('".$sh[0]."','".$row[0]."');");
|
||||
}
|
||||
// effects
|
||||
$effs = mysql_query("SELECT * FROM `effects` WHERE `owner` = '".$row[0]."';"); // бекапим ефекты
|
||||
while($eff = mysql_fetch_array($effs)) {
|
||||
mysql_query("INSERT `deztow_eff` (`type`, `name`, `time`, `sila`, `lovk`, `inta`, `vinos`, `owner`)
|
||||
values ('".$eff[1]."','".$eff[2]."','".$eff[3]."','".$eff[4]."','".$eff[5]."','".$eff[6]."','".$eff[7]."','".$eff[8]."');");
|
||||
//deltravma($eff['id']);
|
||||
}
|
||||
mysql_query("DELETE FROM `effects` WHERE `owner` = '".$row[0]."';");
|
||||
// stats
|
||||
$tec = mysql_fetch_array(mysql_query("SELECT * FROM `deztow_charstams` WHERE `owner` = '{$row[0]}' AND `def`='1';"));
|
||||
if($tec[0] && $row[0] != 233) {
|
||||
// умелки
|
||||
$u = mysql_fetch_array(mysql_query("SELECT * FROM `users` WHERE `id` = '{$row[0]}' LIMIT 1;"));
|
||||
$master = ($u['noj']+$u['mec']+$u['topor']+$u['dubina']+$u['mfire']+$u['mwater']+$u['mair']+$u['mearth']+$u['mlight']+$u['mgray']+$u['mdark']+$u['master']);
|
||||
// если есть шаблон - меняем
|
||||
mysql_query("INSERT `deztow_realchars` (`owner`,`name`,`sila`,`lovk`,`inta`,`vinos`,`intel`,`mudra`,`stats`,`nextup`,`level`,`master`) values
|
||||
('".$u['id']."','".$u['login']."','".$u['sila']."','".$u['lovk']."','".$u['inta']."','".$u['vinos']."','".$u['intel']."',
|
||||
'".$u['mudra']."','".$u['stats']."','".$u['nextup']."','".$u['level']."','".$master."');");
|
||||
//создали запись, теперь выставляем статы))
|
||||
$stats = ($u['sila']+$u['lovk']+$u['inta']+$u['vinos']+$u['intel']+$u['mudra']+$u['stats'])-
|
||||
($t['sila']+$t['lovk']+$t['inta']+$t['vinos']+$t['intel']+$t['mudra']);
|
||||
if ((int)$stats!=0) {
|
||||
$fffff=fopen('/tmp/bs_s.dat','a');
|
||||
// $tec['sila']=$u['sila']; $tec['lovk']=$u['lovk']; $tec['$inta']=$u['inta'];
|
||||
// $tec['vinos']=$u['vinos']; $tec['intel']=$u['intel']; $tec['mudra']=$u['mudra'];
|
||||
fwrite($fffff,print_r($u)."\n");
|
||||
fwrite($fffff,print_r($tec)."\n");
|
||||
fwrite($fffff,(int)$stats."\n");
|
||||
fwrite($fffff,"\n\n\n");
|
||||
fclose($fffff);
|
||||
} //".$stats."
|
||||
mysql_query("UPDATE `users` SET `sila`='".$tec['sila']."', `lovk`='".$tec['lovk']."',`inta`='".$tec['inta']."',`vinos`='".$tec['vinos']."',`intel`='".$tec['intel']."',`mudra`='".$tec['mudra']."',`stats`='0',
|
||||
`noj`=0,`mec`=0,`topor`=0,`dubina`=0,`mfire`=0,`mwater`=0,`mair`=0,`mearth`=0,`mlight`=0,`mgray`=0,`mdark`=0,`master`='".$master."',`maxhp`='".($tec['vinos']*6)."',`hp`='".($tec['vinos']*6)."'
|
||||
WHERE `id` = '".$u['id']."' LIMIT 1;");
|
||||
// закончили
|
||||
}
|
||||
|
||||
// пихаем учасников в БС
|
||||
$rum = rand($minroom,$maxroom);
|
||||
$urs[$row[0]] = $rum;
|
||||
//mysql_query("UPDATE `users` SET `in_tower` = 1, `room` = '".$rum."' WHERE `id` = '".$row[0]."';");
|
||||
//mysql_query("UPDATE `online` SET `room` = '".$rum."' WHERE `id` = '".$row[0]."' LIMIT 1 ;");
|
||||
// в список участников
|
||||
$i++;
|
||||
if($i>1) { $lors .= ", "; }
|
||||
$lors .= nick3($row[0]);
|
||||
}
|
||||
|
||||
// arch================
|
||||
undressall(233);
|
||||
mysql_query("DELETE FROM `inventory` WHERE `owner` = '233';");
|
||||
$rum = rand($minroom,$maxroom);
|
||||
mysql_query("UPDATE `users` SET `in_tower` = 1, `chattime` = '999999999999', `room` = '".$rum."' WHERE `id` = '233';");
|
||||
mysql_query("UPDATE `online` SET `room` = '".$rum."' WHERE `id` = '233' LIMIT 1 ;");
|
||||
$i++;
|
||||
$lors .= ", ".nick3(233);
|
||||
//=====================
|
||||
|
||||
// разбрасываем шмот по комнатам
|
||||
mysql_query("TRUNCATE TABLE `deztow_items`;");
|
||||
// айдишники магазинных прототипов
|
||||
$shmots = array("1","1","92","92","93","93","19","19","20","20","20","23","23","24","14","87","87","6","6",
|
||||
"17","17","17","17","11","11","12","12","12","28","28","43","43","36","36","36","37","37","37",
|
||||
"38","38","38","50","50","57","52","52","51","51","48","48","47","47","49","49","59","59","60",
|
||||
"60","61","61","63","64","64","65","65","66","66","68","68","69","69","72","72","4","5","79","79",
|
||||
"80","76","75","75","94","94","95","95","82","91","91","34","34","86","86","86","9","9","101","101",
|
||||
"101","101","101","97","97","97","97","100","100","100","100","171","171","171","171",
|
||||
"103","103","103","104","105","105","106","106","107","107","108","108","109",
|
||||
"110","111","112","112","113","113","119","364","284","284","284","284","284","285","285","285","285","286","286","286","286"
|
||||
);
|
||||
while($sh = array_shift($shmots)) {
|
||||
$shopid = mysql_fetch_array(mysql_query("SELECT * FROM `shop` WHERE `id` = '".$sh."' LIMIT 1;"));
|
||||
mysql_query("INSERT `deztow_items` (`iteam_id`, `name`, `img`, `room`) values ('".$shopid['id']."', '".$shopid['name']."', '".$shopid['img']."', '".rand($minroom,$maxroom)."');");
|
||||
}
|
||||
// формируем лог
|
||||
$log = '<span class=date>'.date("d.m.y H:i").'</span> Начало турнира. Участники: '.$lors.'<BR>';
|
||||
// создаем запись о турнире
|
||||
mysql_query("INSERT `deztow_turnir` (`type`,`winner`,`coin`,`start_time`,`log`,`endtime`,`active`) values ('".rand(1,7)."','','".$stavka[0]."','".time()."','".$log."','0','1');");
|
||||
//mysql_query("UNLOCK TABLES;");
|
||||
|
||||
foreach($urs as $row=>$rum) {
|
||||
mysql_query("UPDATE `users` SET `in_tower` = 1, `room` = '".$rum."' WHERE `id` = '".$row."';");
|
||||
mysql_query("UPDATE `online` SET `room` = '".$rum."' WHERE `id` = '".$row."' LIMIT 1 ;");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// bots razmen
|
||||
//====================================================================================
|
||||
/*function nick5 ($id,$st) {
|
||||
$bots = mysql_fetch_array(mysql_query ('SELECT * FROM `bots` WHERE `id` = '.$id.' LIMIT 1;'));
|
||||
$id=$bots['prototype'];
|
||||
$user = mysql_fetch_array(mysql_query("SELECT * FROM `users` WHERE `id` = '{$id}' LIMIT 1;"));
|
||||
$user['login'] = $bots['name'];
|
||||
$user['hp'] = $bots['hp'];
|
||||
$user['id'] = $bots['id'];
|
||||
|
||||
if($user[0]) {
|
||||
return "<span class={$st}>".$user['login']."</span>";
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
class botbattle {
|
||||
public $log = ""; // агреггатор лога
|
||||
|
||||
function botbattle () {
|
||||
global $mysql;
|
||||
$this->mysql = $mysql;
|
||||
}
|
||||
|
||||
function get_wep_type($idwep) {
|
||||
|
||||
if ($idwep == 0) {
|
||||
return "kulak";
|
||||
}
|
||||
$wep = mysql_fetch_array(mysql_query('SELECT `name` FROM `inventory` WHERE `id` = '.$idwep.' LIMIT 1;'));
|
||||
//print_r($wep);
|
||||
if(preg_match("/кастет/i",$wep[0]) || preg_match("/нож/i",$wep[0]) || preg_match("/кинжал/i",$wep[0])) {
|
||||
return "noj";
|
||||
}
|
||||
elseif(preg_match("/дубина/i",$wep[0]) || preg_match("/молот/i",$wep[0]) || preg_match("/ледяной/i",$wep[0]) || preg_match("/клевец/i",$wep[0])) {
|
||||
return "dubina";
|
||||
}
|
||||
elseif(preg_match("/топор/i",$wep[0]) OR preg_match("/секира/i",$wep[0]) || preg_match("/аллебарда/i",$wep[0])) {
|
||||
return "topor";
|
||||
}
|
||||
elseif(preg_match("/Меч/i",$wep[0])) {
|
||||
return "mech";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function razmen_log($type,$kuda,$chem,$uron,$kto,$c1,$pokomy,$c2,$hp,$maxhp) {
|
||||
//print_R(func_get_args());
|
||||
if ($this->enemyhar['sex'] && $kto == $this->enemyhar['id']) { $sex1 = false; }
|
||||
if (!$this->enemyhar['sex'] && $kto == $this->enemyhar['id']) { $sex1 = true; }
|
||||
if ($this->enemyhar['sex'] && $pokomy == $this->enemyhar['id']) { $sex2 = false; }
|
||||
if (!$this->enemyhar['sex'] && $pokomy == $this->enemyhar['id']) { $sex2 = true; }
|
||||
|
||||
if ($this->user['sex'] && $kto == $this->user['id']) { $sex1 = false; }
|
||||
if (!$this->user['sex'] && $kto == $this->user['id']) { $sex1 = true; }
|
||||
if ($this->user['sex'] && $pokomy == $this->user['id']) { $sex2 = false; }
|
||||
if (!$this->user['sex'] && $pokomy == $this->user['id']) { $sex2 = true; }
|
||||
|
||||
if($hp < 0) { $hp = 0; }
|
||||
|
||||
// текст по промазыванию
|
||||
if (!$sex1) {
|
||||
$textfail = array ( 'думал о <вырезано цензурой>, вследствие чего',
|
||||
'пытался нанести удар, но ',
|
||||
'поскользнулся, и',
|
||||
'старался провести удар, но',
|
||||
'закашлялся, и',
|
||||
'пытался провести удар, но безумный',
|
||||
'потерял самоконтроль, вследствие чего',
|
||||
'думал не о том и');
|
||||
} else {
|
||||
$textfail = array ( 'думала о <вырезано цензурой>, вследствие чего',
|
||||
'пыталась нанести удар, но ',
|
||||
'поскользнулась, и',
|
||||
'старалась провести удар, но',
|
||||
'закашлялась, и',
|
||||
'пыталась провести удар, но ',
|
||||
'потеряла самоконтроль, вследствие чего',
|
||||
'думала не о том и');
|
||||
}
|
||||
// чем били
|
||||
$textchem = array (
|
||||
"kulak" => array("грудью","ребром руки","лбом","кулаком","ногой","левой ногой","правой ногой","коленом"),
|
||||
"noj" => array("ножем","тыльной стороной лезвия ножа","рукоятью ножа","лезвием ножа"),
|
||||
"dubina" => array("сучковатой палкой","поленом","тяжелой дубиной","дубиной","рукоятью молота"),
|
||||
"topor" => array("секирой","топором","лезвием секиры","аллебардой","тяжелым держаком","длинной секирой"),
|
||||
"mech" => array("ножнами","гардой","мечем","лезвием меча","рукоятью меча","тупым лезвием","острой стороной меча","огромным мечем",)
|
||||
);
|
||||
$textchem = $textchem[$chem];
|
||||
// куда били
|
||||
$udars = array(
|
||||
'1' => array ('в нос','в глаз','в челюсть','по переносице','в кадык','по затылку','в правый глаз','в левый глаз','в скулу'),
|
||||
'2' => array ('в грудь','в корпус','в солнечное сплетение','в сердце','в бок','в область лопаток','по желудку','по левой руке','по правой руке'),
|
||||
'3' => array ('по <вырезано цензурой>','в пах','в промежность','по левой ягодице','по правой ягодице'),
|
||||
'4' => array ('по ногам','в область правой пятки','в область левой пятки','по коленной чашечке','по икрам')
|
||||
);
|
||||
$kuda = $udars[$kuda][rand(0,count($udars[$kuda])-1)];
|
||||
//тест по попаданию
|
||||
if (!$sex2) {
|
||||
$textud = array ('забылся, и тут',
|
||||
'замешкался, и за это бесчувственный',
|
||||
'растерялся, как вдруг расстроенный',
|
||||
'ковырялся в зубах, и тут',
|
||||
'поперхнулся, но вдруг храбрый',
|
||||
'пытался что-то сказать но вдруг, неожиданно',
|
||||
'растерялся, как вдруг',
|
||||
'засмотрелся на <вырезано цензурой>, а в это время',
|
||||
'высморкался, и в это время',
|
||||
'думал не о том и',
|
||||
'пришел в себя, но в это время обезумевший',
|
||||
'обернулся, как внезапно');
|
||||
} else {
|
||||
$textud = array ('забылась, и тут',
|
||||
'замешкалась, и за это ',
|
||||
'растерялась, как вдруг ',
|
||||
'ковырялась в зубах, и тут ',
|
||||
'поперхнулась, но вдруг ',
|
||||
'пыталась что-то сказать но вдруг, неожиданно',
|
||||
'растерялась, как вдруг',
|
||||
'засмотрелась на <вырезано цензурой>, а в это время',
|
||||
'высморкалась, и в это время',
|
||||
'думала не о том и',
|
||||
'пришла в себя, но в это время ',
|
||||
'обернулась, как внезапно');
|
||||
}
|
||||
|
||||
switch ($type) {
|
||||
// уворот
|
||||
case "uvorot":
|
||||
if ($sex2) {
|
||||
$textuvorot = array (" уклонилась от удара "," увернулась от удара "," отскочила от удара ");
|
||||
}
|
||||
else {
|
||||
$textuvorot = array (" уклонился от удара "," увернулся от удара "," отскочил от удара ");
|
||||
}
|
||||
return '<span class=date>'.date("H:i").'</span> '.nick5($kto,$c1).' '.$textfail[rand(0,count($textfail)-1)].' '.nick5($pokomy,$c2).' '.$textuvorot[rand(0,count($textuvorot)-1)].' '.$textchem[rand(0,count($textchem)-1)].' '.$kuda.'.<BR>';
|
||||
break;
|
||||
//блок
|
||||
case "block":
|
||||
if ($sex2) {
|
||||
$textblock = array (" заблокировала удар "," остановила удар "," отбила удар ");
|
||||
}
|
||||
else {
|
||||
$textblock = array (" заблокировал удар "," остановил удар "," отбил удар ");
|
||||
}
|
||||
return '<span class=date>'.date("H:i").'</span> '.nick5($kto,$c1).' '.$textfail[rand(0,count($textfail)-1)].' '.nick5($pokomy,$c2).' '.$textblock[rand(0,count($textblock)-1)].' '.$textchem[rand(0,count($textchem)-1)].' '.$kuda.'.<BR>';
|
||||
break;
|
||||
//крит
|
||||
case "krit":
|
||||
if ($sex1) {
|
||||
$textkrit = array (", напугав всех, неслышно подойдя сзади ударила по голове булыжником оппонента.",", сказав \"БУ!\", ласково заломила руку за спину соперника.",", расслабившись, расцарапала нос соперника.",", показав сразу два пальца, наступила на ногу врага.",", напугав всех, укусила в нос противника.",", проклиная этот сайт, провела ужасный бросок через пупок оппонента.");
|
||||
}
|
||||
else {
|
||||
$textkrit = array (", напугав всех, неслышно подойдя сзади ударил по голове булыжником оппонента.",", сказав \"БУ!\", ласково заломил руку за спину соперника.",", расслабившись, расцарапал нос соперника.",", показав сразу два пальца, наступил на ногу врага.",", напугав всех, укусил в нос противника.",", проклиная этот сайт, провел ужасный бросок через пупок оппонента.");
|
||||
}
|
||||
return '<span class=date>'.date("H:i").'</span> '.nick5($pokomy,$c2).' '.$textud[rand(0,count($textud)-1)].' '.nick5($kto,$c1).' '.$textkrit[rand(0,count($textkrit)-1)].' <b><font color=red>-'.$uron.'</font></b> ['.$hp.'/'.$maxhp.']'.'<BR>';
|
||||
break;
|
||||
// попадание
|
||||
case "udar":
|
||||
if ($sex1) {
|
||||
$textudar = array(", разбежавшись, рубанула"," отчаянно проткнула "," нехотя уколола "," не подумав, рубанула ",", улыбаясь, саданула укол "," приложила удар "," ударила "," сдуру вмазала ");
|
||||
}
|
||||
else {
|
||||
$textudar = array(", разбежавшись, рубанул"," отчаянно проткнул "," нехотя уколол "," не подумав, рубанул ",", улыбаясь, саданул укол "," приложил удар "," ударил "," сдуру вмазал ");
|
||||
}
|
||||
return '<span class=date>'.date("H:i").'</span> '.nick5($pokomy,$c2).' '.$textud[rand(0,count($textud)-1)].' '.nick5($kto,$c1).''.$textudar[rand(0,count($textudar)-1)].' '.$textchem[rand(0,count($textchem)-1)].' '.$kuda.' <b>-'.$uron.'</b> ['.$hp.'/'.$maxhp.']'.'<BR>';
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
function update_battle () {
|
||||
return mysql_query('UPDATE `battle` SET `teams` = \''.serialize($this->battle).'\', `damage` = \''.serialize($this->damage).'\' WHERE `id` = '.$this->battle_data['id'].' ;');
|
||||
}
|
||||
|
||||
function add_log ($text) {
|
||||
$this->log .= $text;
|
||||
}
|
||||
|
||||
function write_log () {
|
||||
if($this->log){$this->log=$this->log."<hr>";}
|
||||
addlog($this->user['battle'],$this->log);
|
||||
|
||||
/*$fp = fopen("/tmp/backup/logs/battle".$this->battle_data['id'].".txt","a"); //открытие
|
||||
flock($fp,LOCK_EX); //БЛОКИРОВКА ФАЙЛА
|
||||
fputs($fp , $this->log); //работа с файлом
|
||||
fflush($fp); //ОЧИЩЕНИЕ ФАЙЛОВОГО БУФЕРА И ЗАПИСЬ В ФАЙЛ
|
||||
flock($fp,LOCK_UN); //СНЯТИЕ БЛОКИРОВКИ
|
||||
fclose($fp); //закрытие
|
||||
$this->log = '';*/
|
||||
}
|
||||
|
||||
function solve_mf($enemy,$enemy2,$en1att,$en2att) {
|
||||
$mf = array ();
|
||||
|
||||
$bots = mysql_fetch_array(mysql_query ('SELECT * FROM `bots` WHERE `id` = '.$enemy2.' LIMIT 1;'));
|
||||
$this->enemyhar = mysql_fetch_array(mysql_query('SELECT * FROM `users` WHERE `id` = \''.$bots['prototype'].'\' LIMIT 1;'));
|
||||
$this->enemy_dress = mysql_fetch_array(mysql_query('SELECT sum(minu),sum(maxu),sum(mfkrit),sum(mfakrit),sum(mfuvorot),sum(mfauvorot),sum(bron1),sum(bron2),sum(bron3),sum(bron4) FROM `inventory` WHERE `dressed`=1 AND `owner` = \''.$bots['prototype'].'\' LIMIT 1;'));
|
||||
$this->enemyhar['hp'] = $bots['hp'];
|
||||
|
||||
|
||||
$bots = mysql_fetch_array(mysql_query ('SELECT * FROM `bots` WHERE `id` = '.$enemy.' LIMIT 1;'));
|
||||
$this->user = mysql_fetch_array(mysql_query('SELECT * FROM `users` WHERE `id` = \''.$bots['prototype'].'\' LIMIT 1;'));
|
||||
$this->user_dress = mysql_fetch_array(mysql_query('SELECT sum(minu),sum(maxu),sum(mfkrit),sum(mfakrit),sum(mfuvorot),sum(mfauvorot),sum(bron1),sum(bron2),sum(bron3),sum(bron4) FROM `inventory` WHERE `dressed`=1 AND `owner` = \''.$bots['prototype'].'\' LIMIT 1;'));
|
||||
$this->user['hp'] = $bots['hp'];
|
||||
|
||||
|
||||
// мои МФ в отношении противника
|
||||
$mf['me'] = array (
|
||||
'udar' => rand(floor($this->user['sila']/3)+2+$this->user_dress[0],floor($this->user['sila']/3)+4+$this->user_dress[1])-rand(1,$this->enemy_dress[5+$en1att]),
|
||||
'krit' => $this->user_dress[2]-$this->enemy_dress[3]+floor($this->user['inta']*4)-floor($this->enemyhar['inta']*4),
|
||||
'uvorot' => $this->user_dress[4]-$this->enemy_dress[5]+floor($this->user['lovk']*4)-floor($this->enemyhar['lovk']*4),
|
||||
);
|
||||
if($this->get_wep_type($this->user['weap']) == 'kulak' && $this->user['align'] == '2') { $mf['me']['udar'] += $this->user['level']; }
|
||||
//бонусы от умений к урону
|
||||
switch($this->get_wep_type($this->user['weap'])) {
|
||||
case "noj":
|
||||
$mf['me']['udar'] += $this->user['noj'];
|
||||
break;
|
||||
case "dubina":
|
||||
$mf['me']['udar'] += $this->user['dubina'];
|
||||
break;
|
||||
case "topor":
|
||||
$mf['me']['udar'] += $this->user['topor'];
|
||||
break;
|
||||
case "mech":
|
||||
$mf['me']['udar'] += $this->user['mec'];
|
||||
break;
|
||||
}
|
||||
|
||||
if($bmfud>5) $mf['me']['udar']+=$bmfud;
|
||||
if($mf['me']['udar'] < 0) { $mf['me']['udar'] = 0; }
|
||||
if($bmfud<=5) $mf['me']['udar']+=$bmfud;
|
||||
if($mf['me']['krit'] < 1)
|
||||
{ $mf['me']['krit'] = 1; }
|
||||
elseif (($mf['me']['krit'] >= 50)&&($mf['me']['krit']<100))
|
||||
{ $mf['me']['krit'] = 50; }
|
||||
elseif (($mf['me']['krit'] >= 100)&&($mf['me']['krit']<200))
|
||||
{ $mf['me']['krit'] = 55; }
|
||||
elseif (($mf['me']['krit'] >= 200)&&($mf['me']['krit']<300))
|
||||
{ $mf['me']['krit'] = 60; }
|
||||
elseif (($mf['me']['krit'] >= 300)&&($mf['me']['krit']<400))
|
||||
{ $mf['me']['krit'] = 65; }
|
||||
elseif (($mf['me']['krit'] >= 400)&&($mf['me']['krit']<500))
|
||||
{ $mf['me']['krit'] = 70; }
|
||||
elseif ($mf['me']['krit'] >= 500)
|
||||
{ $mf['me']['krit'] = 75; }
|
||||
if($mf['me']['uvorot'] < 1)
|
||||
{ $mf['me']['uvorot'] = 1; }
|
||||
elseif (($mf['me']['uvorot'] >= 50)&&($mf['me']['uvorot']<100))
|
||||
{ $mf['me']['uvorot'] = 50; }
|
||||
elseif (($mf['me']['uvorot'] >= 100)&&($mf['me']['uvorot']<200))
|
||||
{ $mf['me']['uvorot'] = 55; }
|
||||
elseif (($mf['me']['uvorot'] >= 200)&&($mf['me']['uvorot']<300))
|
||||
{ $mf['me']['uvorot'] = 60; }
|
||||
elseif (($mf['me']['uvorot'] >= 300)&&($mf['me']['uvorot']<400))
|
||||
{ $mf['me']['uvorot'] = 65; }
|
||||
elseif (($mf['me']['uvorot'] >= 400)&&($mf['me']['uvorot']<500))
|
||||
{ $mf['me']['uvorot'] = 70; }
|
||||
elseif ($mf['me']['uvorot'] >= 500)
|
||||
{ $mf['me']['uvorot'] = 75; }
|
||||
switch($this->get_wep_type($this->user['weap'])) {
|
||||
case "noj":
|
||||
$ver=$this->user['noj'];
|
||||
break;
|
||||
case "dubina":
|
||||
$ver=$this->user['dubina'];
|
||||
break;
|
||||
case "topor":
|
||||
$ver=$this->user['topor'];
|
||||
break;
|
||||
case "mech":
|
||||
$ver=$this->user['mech'];
|
||||
break;
|
||||
}
|
||||
if(mt_rand(0,100)<$ver)
|
||||
switch($this->get_wep_type($this->user['weap'])) {
|
||||
case "noj":
|
||||
$mf['me']['udar']+=(($this->user['lovk']+$this->user['inta'])*$this->user['level']*mt_rand(5,15)/(2*10*10));
|
||||
break;
|
||||
case "dubina":
|
||||
$mf['me']['udar']+=(($this->user['sila']+$this->user['vinos'])*$this->user['level']*mt_rand(5,15)/(2*10*10));
|
||||
break;
|
||||
case "topor":
|
||||
$mf['me']['udar']+=(($this->user['inta']+$this->user['vinos'])*$this->user['level']*mt_rand(5,15)/(2*10*10));
|
||||
break;
|
||||
case "mech":
|
||||
$mf['me']['udar']+=(($this->user['lovk']+$this->user['sila'])*$this->user['level']*mt_rand(5,15)/(2*10*10));
|
||||
break;
|
||||
}
|
||||
//округляем урон
|
||||
$mf['me']['udar']=round($mf['me']['udar']);
|
||||
|
||||
// МФ врага в отношении меня
|
||||
$mf['he'] = array (
|
||||
'udar' => rand(floor($this->enemyhar['sila']/3)+2+$this->enemy_dress[0],floor($this->enemyhar['sila']/3)+4+$this->enemy_dress[1])-rand(1,$this->user_dress[5+$en2att]),
|
||||
'krit' => $this->enemy_dress[2]-$this->user_dress[3]+floor($this->enemyhar['inta']*4)-floor($this->user['inta']*4),
|
||||
'uvorot' => $this->enemy_dress[4]-$this->user_dress[5]+floor($this->enemyhar['lovk']*4)-floor($this->user['lovk']*4),
|
||||
);
|
||||
if($this->get_wep_type($this->enemyhar['weap']) == 'kulak' && $this->enemyhar['align'] == '2') { $mf['he']['udar'] += $this->enemyhar['level']; }
|
||||
switch($this->get_wep_type($this->enemyhar['weap'])) {
|
||||
case "noj":
|
||||
$mf['he']['udar'] += $this->enemyhar['noj'];
|
||||
break;
|
||||
case "dubina":
|
||||
$mf['he']['udar'] += $this->enemyhar['dubina'];
|
||||
break;
|
||||
case "topor":
|
||||
$mf['he']['udar'] += $this->enemyhar['topor'];
|
||||
break;
|
||||
case "mech":
|
||||
$mf['he']['udar'] += $this->enemyhar['mec'];
|
||||
break;
|
||||
}
|
||||
if($bmfud1<5) $mf['he']['udar']+=$bmfud1;
|
||||
if($mf['he']['udar'] < 0) { $mf['he']['udar'] = 0; }
|
||||
if($bmfud1>=5) $mf['he']['udar']+=$bmfud1;
|
||||
//if($mf['he']['krit'] < 1) { $mf['he']['krit'] = 1; } elseif ($mf['he']['krit'] > 50) { $mf['he']['krit'] = 50; }
|
||||
//if($mf['he']['uvorot'] < 1) { $mf['he']['uvorot'] = 1; } elseif ($mf['he']['uvorot'] > 65) { $mf['he']['uvorot'] = 65; }
|
||||
if($mf['he']['krit'] < 1)
|
||||
{ $mf['he']['krit'] = 1; }
|
||||
elseif (($mf['he']['krit'] >= 50)&&($mf['he']['krit']<100))
|
||||
{ $mf['he']['krit'] = 50; }
|
||||
elseif (($mf['he']['krit'] >= 100)&&($mf['he']['krit']<200))
|
||||
{ $mf['he']['krit'] = 55; }
|
||||
elseif (($mf['he']['krit'] >= 200)&&($mf['he']['krit']<300))
|
||||
{ $mf['he']['krit'] = 60; }
|
||||
elseif (($mf['he']['krit'] >= 300)&&($mf['he']['krit']<400))
|
||||
{ $mf['he']['krit'] = 65; }
|
||||
elseif (($mf['he']['krit'] >= 400)&&($mf['he']['krit']<500))
|
||||
{ $mf['he']['krit'] = 70; }
|
||||
elseif ($mf['he']['krit'] >= 500)
|
||||
{ $mf['he']['krit'] = 75; }
|
||||
if($mf['he']['uvorot'] < 1)
|
||||
{ $mf['he']['uvorot'] = 1; }
|
||||
elseif (($mf['he']['uvorot'] >= 50)&&($mf['he']['uvorot']<100))
|
||||
{ $mf['he']['uvorot'] = 50; }
|
||||
elseif (($mf['he']['uvorot'] >= 100)&&($mf['he']['uvorot']<200))
|
||||
{ $mf['he']['uvorot'] = 55; }
|
||||
elseif (($mf['he']['uvorot'] >= 200)&&($mf['he']['uvorot']<300))
|
||||
{ $mf['he']['uvorot'] = 60; }
|
||||
elseif (($mf['he']['uvorot'] >= 300)&&($mf['he']['uvorot']<400))
|
||||
{ $mf['he']['uvorot'] = 65; }
|
||||
elseif (($mf['he']['uvorot'] >= 400)&&($mf['he']['uvorot']<500))
|
||||
{ $mf['he']['uvorot'] = 70; }
|
||||
elseif ($mf['he']['uvorot'] >= 500)
|
||||
{ $mf['he']['uvorot'] = 75; }
|
||||
//проф урон
|
||||
switch($this->get_wep_type($this->user['weap'])) {
|
||||
case "noj":
|
||||
$ver=$this->user['noj'];
|
||||
break;
|
||||
case "dubina":
|
||||
$ver=$this->user['dubina'];
|
||||
break;
|
||||
case "topor":
|
||||
$ver=$this->user['topor'];
|
||||
break;
|
||||
case "mech":
|
||||
$ver=$this->user['mech'];
|
||||
break;
|
||||
}
|
||||
if(mt_rand(0,100)<$ver)
|
||||
switch($this->get_wep_type($this->user['weap'])) {
|
||||
case "noj":
|
||||
$mf['he']['udar']+=(($this->user['lovk']+$this->user['inta'])*$this->user['level']*mt_rand(5,15)/(2*10*10));
|
||||
break;
|
||||
case "dubina":
|
||||
$mf['he']['udar']+=(($this->user['sila']+$this->user['vinos'])*$this->user['level']*mt_rand(5,15)/(2*10*10));
|
||||
break;
|
||||
case "topor":
|
||||
$mf['he']['udar']+=(($this->user['inta']+$this->user['vinos'])*$this->user['level']*mt_rand(5,15)/(2*10*10));
|
||||
break;
|
||||
case "mech":
|
||||
$mf['he']['udar']+=(($this->user['lovk']+$this->user['sila'])*$this->user['level']*mt_rand(5,15)/(2*10*10));
|
||||
break;
|
||||
}
|
||||
//if(in_array($enemy,$this->botsid)) { $mf['he']['udar'] += $this->user_dress[1]; }
|
||||
if($enemy > _BOTSEPARATOR_) {
|
||||
$mf['he']['krit'] -= 6;
|
||||
}
|
||||
//округляем урон
|
||||
$mf['he']['udar']=round($mf['he']['udar']);
|
||||
//if(in_array($enemy,$this->botsid)) { $mf['he']['udar'] += $this->user_dress[1]; }
|
||||
// result
|
||||
return $mf;
|
||||
}
|
||||
|
||||
function get_chanse ($persent) {
|
||||
if (rand(1,100) < $persent) {
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function get_block ($att,$def) {
|
||||
// по типам блоков
|
||||
$blocks = array (
|
||||
'1' => array (1,2),
|
||||
'2' => array (2,3),
|
||||
'3' => array (3,4),
|
||||
'4' => array (4,1)
|
||||
);
|
||||
|
||||
if (!in_array($att,$blocks[$def])) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function razmen_init ($enemy,$enemy2,$battle_id) {
|
||||
$bots1 = mysql_fetch_array(mysql_query ('SELECT * FROM `bots` WHERE `id` = '.$enemy.' AND `battle` = '.$battle_id.' AND `hp` > 0 LIMIT 1;'));
|
||||
$bots2 = mysql_fetch_array(mysql_query ('SELECT * FROM `bots` WHERE `id` = '.$enemy2.' AND `battle` = '.$battle_id.' AND `hp` > 0 LIMIT 1;'));
|
||||
if($bots1 && $bots2) {
|
||||
|
||||
|
||||
|
||||
$this->battle_data = mysql_fetch_array(mysql_query ('SELECT * FROM `battle` WHERE `id` = '.$battle_id.' LIMIT 1;'));
|
||||
|
||||
// получили дамагу
|
||||
$this->damage = unserialize($this->battle_data['damage']);
|
||||
// кто драчуется?
|
||||
$this->battle = unserialize($this->battle_data['teams']);
|
||||
|
||||
// режем тимзы
|
||||
$this->t1 = explode(";",$this->battle_data['t1']);
|
||||
$this->t2 = explode(";",$this->battle_data['t2']);
|
||||
// проставляем кто-где
|
||||
if (in_array ($enemy,$this->t1)) {
|
||||
$this->my_class = "B1";
|
||||
$this->en_class = "B2";
|
||||
$this->team_mine = $this->t1;
|
||||
$this->team_enemy = $this->t2;
|
||||
} else {
|
||||
$this->my_class = "B2";
|
||||
$this->en_class = "B1";
|
||||
$this->team_mine = $this->t2;
|
||||
$this->team_enemy = $this->t1;
|
||||
}
|
||||
|
||||
|
||||
// проверяем прафильность
|
||||
$en1att = mt_rand(1,4);
|
||||
$en2att = mt_rand(1,4);
|
||||
$en1b = mt_rand(1,4);
|
||||
$en2b = mt_rand(1,4);
|
||||
|
||||
// х-ки драчующихся
|
||||
$mf = $this->solve_mf($enemy,$enemy2,$en1att,$en2att);
|
||||
|
||||
//echo $this->get_wep_type($this->enemyhar['weap']);
|
||||
// проверяем кто куда попал
|
||||
// удар по мне
|
||||
if ($this->get_chanse($mf['my']['uvorot']))
|
||||
{
|
||||
// я увернулся;
|
||||
$this->add_log ($this->razmen_log("uvorot",$en2att,$this->get_wep_type($this->enemyhar['weap']),0,$enemy2,$this->en_class,$enemy,$this->my_class,0,0));
|
||||
}
|
||||
elseif($this->get_chanse($mf['he']['krit'])) {
|
||||
// меня кританули
|
||||
$this->damage[$enemy2] += ($mf['he']['udar']*2);
|
||||
$this->add_log ($this->razmen_log("krit",$en2att,$this->get_wep_type($this->enemyhar['weap']),($mf['he']['udar']*2),$enemy2,$this->en_class,$enemy,$this->my_class,($this->user['hp']-$mf['he']['udar']*2),$this->user['maxhp']));
|
||||
mysql_query('UPDATE bots SET `hp` = `hp` - '.($mf['he']['udar']*2).' WHERE `id` = '.$enemy.'');
|
||||
}
|
||||
elseif($this->get_block ($en2att,$en1b)) {
|
||||
// противник попал куда надо
|
||||
$this->damage[$enemy2] += ($mf['he']['udar']);
|
||||
$this->add_log ($this->razmen_log("udar",$en2att,$this->get_wep_type($this->enemyhar['weap']),$mf['he']['udar'],$enemy2,$this->en_class,$enemy,$this->my_class,($this->user['hp']-$mf['he']['udar']),$this->user['maxhp']));
|
||||
mysql_query('UPDATE bots SET `hp` = `hp` - '.($mf['he']['udar']).' WHERE `id` = '.$enemy.'');
|
||||
}
|
||||
else {
|
||||
// противник мазила
|
||||
$this->add_log ($this->razmen_log("block",$en2att,$this->get_wep_type($this->enemyhar['weap']),0,$enemy2,$this->en_class,$enemy,$this->my_class,0,0));
|
||||
}
|
||||
|
||||
|
||||
// удар по противнику
|
||||
if ($this->get_chanse($mf['he']['uvorot']))
|
||||
{
|
||||
// он увернулся;
|
||||
$this->add_log ($this->razmen_log("uvorot",$en1att,$this->get_wep_type($this->user['weap']),0,$enemy,$this->my_class,$enemy2,$this->en_class,0,0));
|
||||
}
|
||||
elseif($this->get_chanse($mf['my']['krit'])) {
|
||||
// его кританули
|
||||
$this->damage[$enemy] += ($mf['me']['udar']*2);
|
||||
$this->add_log ($this->razmen_log("krit",$en1att,$this->get_wep_type($this->user['weap']),($mf['me']['udar']*2),$enemy,$this->my_class,$enemy2,$this->en_class,($this->enemyhar['hp']-$mf['me']['udar']*2),$this->enemyhar['maxhp']));
|
||||
|
||||
mysql_query('UPDATE `bots` SET `hp` = `hp` - '.($mf['me']['udar']*2).' WHERE `id` = '.$enemy2.'');
|
||||
|
||||
}
|
||||
elseif($this->get_block ($en1att,$en2b)) {
|
||||
// я попал куда надо
|
||||
$this->damage[$enemy] += ($mf['me']['udar']);
|
||||
$this->add_log ($this->razmen_log("udar",$en1att,$this->get_wep_type($this->user['weap']),$mf['me']['udar'],$enemy,$this->my_class,$enemy2,$this->en_class,($this->enemyhar['hp']-$mf['me']['udar']),$this->enemyhar['maxhp']));
|
||||
|
||||
mysql_query('UPDATE `bots` SET `hp` = `hp` - '.($mf['me']['udar']).' WHERE `id` = '.$enemy2.'');
|
||||
|
||||
}
|
||||
else {
|
||||
// я мазила
|
||||
$this->add_log ($this->razmen_log("block",$attack,$this->get_wep_type($this->user['weap']),0,$enemy,$this->my_class,$enemy2,$this->en_class,0,0));
|
||||
}
|
||||
$this->write_log();
|
||||
$this->update_battle ();
|
||||
|
||||
|
||||
mysql_query("UPDATE `battle` SET `to1` = '".time()."', `to2` = '".(time())."' WHERE `id` = ".$this->battle_data['id']." LIMIT 1;");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
$bots = mysql_query ('SELECT * FROM `bots` WHERE `hp` > 0;');
|
||||
|
||||
$bb = new botbattle;
|
||||
while ($bot = mysql_fetch_array($bots)) {
|
||||
$bd = mysql_fetch_array(mysql_query ('SELECT * FROM `battle` WHERE `id` = '.$bot['battle'].' LIMIT 1;'));
|
||||
$battle = unserialize($bd['teams']);
|
||||
// листаем противников, делаем размен.
|
||||
if ($battle[$bot['id']]) {
|
||||
foreach ($battle[$bot['id']] as $k => $v) {
|
||||
if($battle[$bot['id']][$k][0] == 0 && $k > _BOTSEPARATOR_) {
|
||||
//echo("Bots:".$bot['id']."vs".$k."<BR/>");
|
||||
//srand(microtime(true));
|
||||
$bb->razmen_init($bot['id'],$k,$bot['battle']);
|
||||
}
|
||||
}
|
||||
}
|
||||
//mysql_query('UPDATE `battle` SET `teams` = \''.serialize($battle).'\' WHERE `id` = '.$bot['battle'].' ;');
|
||||
}
|
||||
|
||||
//====================================================================================
|
||||
/*
|
||||
$mtime = microtime();
|
||||
$mtime = explode(" ",$mtime);
|
||||
$mtime = $mtime[1] + $mtime[0];
|
||||
//Записываем время окончания в другую переменную
|
||||
$tend = $mtime;
|
||||
//Вычисляем разницу
|
||||
$totaltime = ($tend - $tstart);
|
||||
//Выводим не экран
|
||||
printf ("PGT: %f секунд", $totaltime); */
|
||||
?>
|
||||
225
cronjobs/cron_zv.php
Normal file
225
cronjobs/cron_zv.php
Normal file
@@ -0,0 +1,225 @@
|
||||
<?php
|
||||
#include('config.php');
|
||||
#include('functions.php');
|
||||
/*
|
||||
$zay = mysql_query('SELECT * FROM `zayavka`');
|
||||
while($z = mysql_fetch_array($zay)) {
|
||||
if($z['start'] <= time()) {
|
||||
if($z['level'] == 4 || (($z['t1c'] == count($z['team1'])) && ($z['t2c'] == count($z['team2'])))) {
|
||||
startbattle("CHAOS", $z['id'], 4);
|
||||
} elseif($z['level'] == 5) {
|
||||
startbattle("CHAOS", $z['id'], 5);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function delzayavka($id, $zay, $r, $f = 1) {
|
||||
$z = getlist($r, null, $zay);
|
||||
if($f != 1) {
|
||||
if($z[$zay]['level'] > 3) {
|
||||
return 'Ай-ай-ай!';
|
||||
}
|
||||
}
|
||||
|
||||
if(mysql_query("DELETE FROM `zayavka` WHERE `id` = {$zay} AND (`team1` LIKE '{$id};%' OR `team2` LIKE '{$id};%') LIMIT 1")) {
|
||||
if(count($z[$zay]['team1']) > 0) {
|
||||
foreach($z[$zay]['team1'] as $k => $v) {
|
||||
mysql_query("UPDATE `users` SET `zayavka` = 0 WHERE `id` = {$v}");
|
||||
}
|
||||
}
|
||||
|
||||
if(count($z[$zay]['team2']) > 0) {
|
||||
foreach($z[$zay]['team2'] as $k => $v) {
|
||||
mysql_query("UPDATE `users` SET `zayavka` = 0 WHERE `id` = {$v}");
|
||||
}
|
||||
}
|
||||
return 'Вы отозвали заявку.';
|
||||
}
|
||||
}
|
||||
|
||||
function fteam($team) {
|
||||
$team = explode(";", $team);
|
||||
unset($team[count($team)-1]);
|
||||
return $team;
|
||||
}
|
||||
|
||||
function getlist($razdel = 1, $level = null, $id = null ) {
|
||||
$fict = mysql_query("SELECT * FROM `zayavka` WHERE ".(($level != null)? " ((`t1min` <= '{$level}' OR `t1min` = '99') AND (`t1max` >= '{$level}' OR `t1max` = '99') ".(($razdel == 4)?"AND (`t2min` <= '{$level}' OR `t2min` = '99') AND (`t2max` >= '{$level}' OR `t2max` = '99')":"").") AND " : "")." `level` = {$razdel} ".(($id != null)? " AND `id` = {$id} " : "")." ORDER BY `podan` DESC");
|
||||
while($row = mysql_fetch_array($fict)) {
|
||||
if(($row['start']+300) < time()) {
|
||||
if(mysql_query("DELETE FROM `zayavka` WHERE `id` = '{$row['id']}' LIMIT 1")) {
|
||||
$team1 = fteam($row['team1']);
|
||||
foreach($team1 as $k => $v) {
|
||||
mysql_query("UPDATE `users` SET `zayavka` = '0' WHERE `id` = {$v}");
|
||||
}
|
||||
$team2 = fteam($row['team2']);
|
||||
foreach($z[$zay]['team2'] as $k => $v) {
|
||||
mysql_query("UPDATE `users` SET `zayavka` = '0' WHERE `id` = {$v}");
|
||||
}
|
||||
}
|
||||
}
|
||||
$zay[$row['id']] = array("team1" => fteam($row['team1']), "team2" => fteam($row['team2']), "coment" => $row['coment'], "type" => $row['type'], "timeout" => $row['timeout'], "start" => $row['start'], "t1min" => $row['t1min'], "t1max" => $row['t1max'], "t2min" => $row['t2min'], "t2max" => $row['t2max'], "t1c" => $row['t1c'], "t2c" => $row['t2c'], "podan" => $row['podan'], "id" => $row['id'], "level" => $row['level'], "blood" => $row['blood'], "bots" => $row['bots']);
|
||||
}
|
||||
return $zay;
|
||||
}
|
||||
|
||||
function startbattle($id, $zay, $r) {
|
||||
$z = getlist($r, null, $zay);
|
||||
if($id == 'CHAOS') { $id = $z[$zay]['team1'][0]; }
|
||||
delzayavka($id, $zay, $r);
|
||||
$z = $z[$zay];
|
||||
$count_users = count($z['team1']);
|
||||
|
||||
$bot = 0;
|
||||
if($z['bots'] > 0) {
|
||||
$bots_raw = array(7 => array(10962, 10964, 10965), 8 => array());
|
||||
$i = 0;
|
||||
while($i <= count($bots_raw[$z['bots']])) {
|
||||
$bot_id = $bots_raw[$z['bots']][$i];
|
||||
$bot = createbot($bot_id, '');
|
||||
$z['team1'][] = $bot['id'];
|
||||
$i++;
|
||||
}
|
||||
$count_users += 3;
|
||||
}
|
||||
|
||||
if($z['type'] == 4 || $z['type'] == 5) {
|
||||
foreach($z['team1'] as $k => $v) {
|
||||
undressall($v);
|
||||
}
|
||||
|
||||
foreach($z['team2'] as $k => $v) {
|
||||
undressall($v);
|
||||
}
|
||||
}
|
||||
|
||||
if($z['type'] == 3 || $z['type'] == 5) {
|
||||
if($count_users < 4) {
|
||||
mysql_query("UPDATE `users` SET `zayavka` = '0' WHERE `zayavka` = '".$zay."'");
|
||||
foreach($z['team1'] as $k => $v) {
|
||||
if($v < _BOTSEPARATOR_) {
|
||||
addchp('<font color=red>Внимание!</font> Ваш бой не может начаться по причине <b>Группа не набрана</b>.', '{[]}'.nick7($v).'{[]}');
|
||||
}
|
||||
}
|
||||
mysql_query("UPDATE `variables` SET `value` = '{$count_users}}' WHERE `var` = 'haos_match' LIMIT 1");
|
||||
mysql_query("DELETE FROM `zayavka` WHERE `id` = '".$zay."' LIMIT 1");
|
||||
}
|
||||
|
||||
$all = count($z['team1'])-1;
|
||||
$power1 = 0; $power2 = 0;
|
||||
|
||||
for($i = 0; $i <= $all; $i++) {
|
||||
if($z['team1'][$i] < _BOTSEPARATOR_) {
|
||||
$gamer = mysql_fetch_array(mysql_query("SELECT (`level`*50)+`sila`+`lovk`+`inta`+`vinos`+`intel`+`stats`+IFNULL((SELECT SUM(`cost`) FROM `inventory` WHERE `owner` = `users`.`id` AND `dressed` = 1), 0) FROM `users` WHERE `id` = '".$z['team1'][$i]."' LIMIT 1"));
|
||||
} else {
|
||||
$bt = mysql_fetch_array(mysql_query('SELECT `id`, `prototype` FROM `bots` WHERE `id` = "'.$z['team1'][$i].'"'));
|
||||
$gamer = mysql_fetch_array(mysql_query("SELECT (`level`*50)+`sila`+`lovk`+`inta`+`vinos`+`intel`+`stats`+IFNULL((SELECT SUM(`cost`) FROM `inventory` WHERE `owner` = `users`.`id` AND `dressed` = 1), 0) FROM `users` WHERE `id` = '".$bt['prototype']."' LIMIT 1"));
|
||||
}
|
||||
|
||||
$cost[] = array($z['team1'][$i], $gamer[0]);
|
||||
}
|
||||
|
||||
$z['team1'] = null;
|
||||
$z['team2'] = null;
|
||||
|
||||
$flag = true;
|
||||
while($flag) {
|
||||
$flag = false;
|
||||
for($ii = 0; $ii <= $all-1; $ii++) {
|
||||
if($cost[$ii][1] < $cost[$ii+1][1]) {
|
||||
$ctr = $cost[$ii+1];
|
||||
$cost[$ii+1] = $cost[$ii];
|
||||
$cost[$ii] = $ctr;
|
||||
$flag = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
while(count($cost) > 0) {
|
||||
if($power1 <= $power2) {
|
||||
$tmp = array_shift($cost);
|
||||
$power1 += $tmp[1];
|
||||
$z['team1'][] = $tmp[0];
|
||||
} else {
|
||||
$tmp = array_shift($cost);
|
||||
$power2 += $tmp[1];
|
||||
$z['team2'][] = $tmp[0];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$teams = array();
|
||||
|
||||
foreach($z['team1'] as $k => $v) {
|
||||
foreach($z['team2'] as $kk => $vv) {
|
||||
$teams[$v][$vv] = array(0, 0, time());
|
||||
}
|
||||
}
|
||||
|
||||
foreach($z['team2'] as $k => $v) {
|
||||
foreach($z['team1'] as $kk => $vv) {
|
||||
$teams[$v][$vv] = array(0, 0, time());
|
||||
}
|
||||
}
|
||||
|
||||
if(count($z['team2']) == 0) {
|
||||
mysql_query("UPDATE `users` SET `zayavka` = 0 WHERE `zayavka` = '".$zay."'");
|
||||
foreach($z['team1'] as $k => $v) {
|
||||
addchp('<font color=red>Внимание!</font> Ваш бой не может начаться по причине "Группа не набрана".', '{[]}'.nick7($v).'{[]}');
|
||||
}
|
||||
mysql_query("DELETE FROM `zayavka` WHERE `id` = '".$zay."' LIMIT 1");
|
||||
die();
|
||||
}
|
||||
|
||||
$arr = array(3, 4, 5, 7, 10);
|
||||
|
||||
if(in_array($z['timeout'], $arr)) {
|
||||
|
||||
} else {
|
||||
$z['timeout'] = 3;
|
||||
}
|
||||
|
||||
if($z['type'] == 1 || $z['type'] == 4) {
|
||||
$rs = ', `fiz`'; $rss = ', 1';
|
||||
} else {
|
||||
$rs = ''; $rss = '';
|
||||
}
|
||||
|
||||
mysql_query("INSERT INTO `battle` (`coment`, `teams`, `timeout`, `type`, `status`, `t1`, `t2`, `to1`, `to2`, `blood`$rs, `bots`) VALUES ('{$z['coment']}', '".serialize($teams)."', '{$z['timeout']}', '{$z['type']}', '0', '".implode(";", $z['team1'])."', '".implode(";", $z['team2'])."', '".time()."', '".time()."', '".$z['blood']."'$rss, '".$z['bots']."')");
|
||||
$id = mysql_insert_id();
|
||||
$rr = "<b>";
|
||||
|
||||
foreach($z['team1'] as $k => $v) {
|
||||
if($k != 0) { $rr .= ", "; }
|
||||
$rr .= nick3($v);
|
||||
addchp('<font color=red>Внимание!</font> Ваш бой начался!<br />\'; top.frames[\'main\'].location=\'fbattle.php\'; var z = \' ', '{[]}'.nick7($v).'{[]}');
|
||||
}
|
||||
|
||||
$rr .= "</b> и <b>";
|
||||
|
||||
foreach($z['team2'] as $k => $v) {
|
||||
if($k != 0) { $rr .= ", "; }
|
||||
$rr .= nick3($v);
|
||||
addchp('<font color=red>Внимание!</font> Ваш бой начался!<br />\'; top.frames[\'main\'].location=\'fbattle.php\'; var z = \' ', '{[]}'.nick7($v).'{[]}');
|
||||
}
|
||||
|
||||
$rr .= "</b>";
|
||||
addlog($id, "Часы показывали <span class=date>".date("Y.m.d H.i")."</span>, когда ".$rr." бросили вызов друг другу.<BR>");
|
||||
|
||||
foreach($z['team1'] as $k => $v) {
|
||||
if($v < _BOTSEPARATOR_) {
|
||||
mysql_query("UPDATE `users` SET `battle` = {$id}, `zayavka` = 0 WHERE `id` = {$v}");
|
||||
} else {
|
||||
mysql_query("UPDATE `bots` SET `battle` = {$id} WHERE `id` = {$v}");
|
||||
}
|
||||
}
|
||||
|
||||
foreach($z['team2'] as $k => $v) {
|
||||
if($v < _BOTSEPARATOR_) {
|
||||
mysql_query("UPDATE `users` SET `battle` = {$id}, `zayavka` = 0 WHERE `id` = {$v}");
|
||||
} else {
|
||||
mysql_query("UPDATE `bots` SET `battle` = {$id} WHERE `id` = {$v}");
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
Reference in New Issue
Block a user