Файл: region_clean/bk/fight.php
Строк: 134
<?php
#######################################
## Mod By KoT (borispol) [76-75-072] ##
#######################################
$setMsg = '';
// Увеличиваем уровень здоровья
$sesTime = isset($_SESSION['bot_trainers_health']) ? $_SESSION['bot_trainers_health'] : 0;
if (100 > $row['bk_health'] && time() > $sesTime) {
$row['bk_health'] = $row['bk_health']+5;
if (100<$row['bk_health']) $row['bk_health'] = 100;
mysql_query("UPDATE users SET bk_health = '".$row['bk_health']."' WHERE id = '" . $row['id'] . "'");
$_SESSION['bot_trainers_health'] = time()+30;
}
if ($row['room'] != 7) mysql_query("UPDATE users SET room = '7' WHERE id = '" . $row['id'] . "'");
############### Отлов команд ################
$stop = false;
//Функция правильного отнимания
function minus($all, $minus) {
$all -= $minus;
if (0>$all) $all = 0;
return $all;
}
//Случайная фраза
function getRandMsg($file, $user_1 = '', $user_2 = '') {
$file = file('data/bk/'.$file.'.dat');
return sprintf($file[array_rand($file)], $user_1, $user_2);
}
if (preg_match("#!(.*?)[(.*?)](s|$)#i", $msg, $arr)) {
$_res = mysql_fetch_assoc(mysql_query("SELECT * FROM users WHERE user = '".mysql_real_escape_string($arr[2])."'"));
if (!isset($_SESSION['blow_time'])) $_SESSION['blow_time'] = 0;
if ($_SESSION['blow_time'] > time()) {
$setMsg = '<b>' . $row['user'] . '</b>, передохни '.($_SESSION['blow_time']-time()).' сек.';
} elseif (!isset($_res['id']) || $_res['room'] != 7) {
$setMsg = getRandMsg('no_user', $row['user'], $arr[2]);
} elseif ($_res['id'] == 7) {
$setMsg = getRandMsg('vip_user', $row['user']);
} else {
// Рукапашка
$data = file_get_contents('data/bk/hands_feet.dat');
if (preg_match('/'.$arr[1].'|::|.*?n/is', $data, $force_preg)) {
$ex = explode('|::|', $force_preg[0]);
if (count($ex) == 3) {
if (time() > $_res['bk_trauma'] && $_res['bk_health']) {
// Колдуем с силой удара
$blowStart = 10;
$blow = ceil(($blowStart/mt_rand(70, 100))*(mt_rand(1, ($row['bk_force']+$ex[1]))-mt_rand(1, $_res['bk_endurance'])));
if (0 >= $blow) $blow = mt_rand(1, ceil($blowStart/2));
$mazila = mt_rand(1,$_res['bk_adroitness'])-mt_rand(1,$row['bk_accuracy']);
$sql_us_1 = '';
$sql_us_2 = '';
// Промах
if ($mazila > mt_rand(1, 100)) {
$sql_us_1 = " bk_accuracy = '".minus($row['bk_accuracy'], mt_rand(1, 3))."',";
$sql_us_2 = " bk_adroitness = '".minus($_res['bk_adroitness'], mt_rand(1, 3))."',";
$blow = 0;
$setMsg = getRandMsg('mazila', $row['user'], $_res['user']);
} else {
if (minus($_res['bk_health'], $blow)) {
$ex2 = explode('#', $ex[2]);
$setMsg = '<b>' . $row['user'] . '</b>, '.$ex2[array_rand($ex2)].'<br /><b>'.$_res['user'].'</b> потерял '.$blow.'% здоровья.';
} else {
$setMsg = getRandMsg('victory', $row['user'], $_res['user']);
$sql_us_1 = " bk_victories = bk_victories+1,";
$sql_us_2 = " bk_defeats = (bk_defeats+1), bk_trauma = '".(time()+120)."',";
}
}
// Us 1
mysql_query("UPDATE users SET
bk_force = '".minus($row['bk_force'], mt_rand(1, 3))."',
$sql_us_1
bk_endurance = '".minus($row['bk_endurance'], mt_rand(1, 3))."'
WHERE id = '" . $row['id'] . "'");
// Us 2
mysql_query("UPDATE users SET
bk_force = '".minus($_res['bk_force'], mt_rand(1, 3))."',
$sql_us_2
bk_endurance = '".minus($_res['bk_endurance'], mt_rand(1, 3))."',
bk_health = '".minus($_res['bk_health'], $blow)."'
WHERE id = '" . $_res['id'] . "'");
$_SESSION['blow_time'] = time()+10;
$_SESSION['bot_trainers_health'] = time()+30;
} else $setMsg = getRandMsg('trauma', $row['user'], $_res['user']);
}
$stop = true;
}
// Оружие
$data = file_get_contents('data/bk/weapons.dat');
if (!$stop && preg_match('/'.$arr[1].'|::|.*?n/is', $data, $force_preg)) {
$ex = explode('|::|', $force_preg[0]);
if (count($ex) == 5) {
if ($row['bk_weapons'] != $ex[0]) {
$setMsg = getRandMsg('no_weapons', $row['user']);
} elseif(time() > $_res['bk_trauma'] && $_res['bk_health']) {
// Колдуем с силой удара
$blowStart = 20;
$blow = ceil(($blowStart/mt_rand(70, 100))*(mt_rand(1, ($row['bk_force']+$ex[1]))-mt_rand(1, $_res['bk_endurance'])));
if (0 >= $blow) $blow = mt_rand(1, ceil($blowStart/2));
$mazila = mt_rand(1,$_res['bk_adroitness'])-mt_rand(1,$row['bk_accuracy']);
$sql_us_1 = '';
$sql_us_2 = '';
// Промах
if ($mazila > mt_rand(1, 100)) {
$sql_us_1 = " bk_accuracy = '".minus($row['bk_accuracy'], mt_rand(1, 3))."',";
$sql_us_2 = " bk_adroitness = '".minus($_res['bk_adroitness'], mt_rand(1, 3))."',";
$blow = 0;
$setMsg = getRandMsg('mazila', $row['user'], $_res['user']);
} else {
if (minus($_res['bk_health'], $blow)) {
$ex2 = explode('#', $ex[4]);
$setMsg = '<b>' . $row['user'] . '</b>, '.$ex2[array_rand($ex2)].'<br /><b>'.$_res['user'].'</b> потерял '.$blow.'% здоровья.';
} else {
$setMsg = getRandMsg('victory', $row['user'], $_res['user']);
$sql_us_1 = " bk_victories = bk_victories+1,";
$sql_us_2 = " bk_defeats = (bk_defeats+1), bk_trauma = '".(time()+120)."',";
}
}
// Us 1
mysql_query("UPDATE users SET
bk_force = '".minus($row['bk_force'], mt_rand(1, 3))."',
$sql_us_1
bk_endurance = '".minus($row['bk_endurance'], mt_rand(1, 3))."'
WHERE id = '" . $row['id'] . "'");
// Us 2
mysql_query("UPDATE users SET
bk_force = '".minus($_res['bk_force'], mt_rand(1, 3))."',
$sql_us_2
bk_endurance = '".minus($_res['bk_endurance'], mt_rand(1, 3))."',
bk_health = '".minus($_res['bk_health'], $blow)."'
WHERE id = '" . $_res['id'] . "'");
$_SESSION['blow_time'] = time()+10;
$_SESSION['bot_trainers_health'] = time()+30;
}else $setMsg = getRandMsg('trauma', $row['user'], $_res['user']);
}
$stop = true;
}
}
}
if (!$stop && preg_match("#!(.*?)(s|$)#i", $msg, $arr)) {
// Покупка оружия
$data = file_get_contents('data/bk/weapons.dat');
if (preg_match('/'.$arr[1].'|::|.*?n/is', $data, $force_preg)) {
$ex = explode('|::|', $force_preg[0]);
if (count($ex) == 5) {
if ($row['money'] > $ex[2]) {
$ex2 = explode('#', $ex[3]);
$setMsg = '<b>' . $row['user'] . '</b>, '.$ex2[array_rand($ex2)];
mysql_query("UPDATE users SET money = (money-".$ex[2]."), bk_weapons = '".mysql_real_escape_string($ex[0])."' WHERE id = '" . $row['id'] . "'");
} else $setMsg = getRandMsg('little_money', $row['user']);
}
$stop = true;
}
}
$defeat = isset($_SESSION['bot_bk_defeat']) ? $_SESSION['bot_bk_defeat'] : 0;
if (time() < $row['bk_trauma'] && time() > $defeat) {
$_SESSION['bot_bk_defeat'] = time()+20;
mysql_query ("Insert into room7 set klu4 = '" . rand(0, 99999999) . "', time = '" . date("H:i") . "', who = '".$row['user']."', message = '".mysql_real_escape_string(getRandMsg('defeat', $row['user']))."', id = '" . (time() + 1) . "',usid = '".$row['id']."'");
}
if ($setMsg != '') {
$bot = mysql_fetch_assoc(mysql_query("SELECT * FROM users WHERE id = '7'"));
mysql_query ("Insert into room7 set klu4 = '" . rand(0, 99999999) . "', time = '" . date("H:i") . "', who = '".$bot['user']."', message = '".mysql_real_escape_string($setMsg)."', id = '" . (time() + 1) . "',usid = '7'");
}
?>