Файл: social12/bk/fight.php
Строк: 125
<?php
$setMsg = '';
$sesTime = isset($_SESSION['bot_trainers_health'])  ? $_SESSION['bot_trainers_health'] : 0;
if (100 > $user['bk_health'] && time() > $sesTime) {
    $user['bk_health'] = $user['bk_health'] + 2;
    if (100 < $user['bk_health']) $user['bk_health'] = 100;
    mysql_query("UPDATE users SET bk_health = '$user[bk_health]' WHERE id = '$user[id]' LIMIT 1");
    $_SESSION['bot_trainers_health'] = time() + 30;
}
$stop = false;
function getRandMsg($file, $user_1 = '', $user_2 = '') {
    $file = file('../upload/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])."' LIMIT 1"));
    if (!isset($_SESSION['blow_time'])) $_SESSION['blow_time'] = 0;
    if ($_SESSION['blow_time'] > time()) {
        $setMsg = $user['user'] . ', передохните ' . ($_SESSION['blow_time'] - time()) . ' сек.';
    } elseif ($arr[2] == 'Рефери') {
        $setMsg = getRandMsg('vip_user', $user['user']);
    } elseif (!isset($_res['id']) || !online_user($_res['id']) || online_user($_res['id']) && user_inf($_res['id'], 'room') != 'room' . $rm) {
        $setMsg = getRandMsg('no_user', $user['user'], $arr[2]);
    } elseif ($_res['id'] == $user['id']) {
        $setMsg = $user['user'] . ', зачем бить себя?';
    } else {
        $data = file_get_contents('../upload/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, ($user['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, $user['bk_accuracy']);
                    $sql_us_1 = '';
                    $sql_us_2 = '';
                    if ($mazila > mt_rand(1, 100)) {
                        $sql_us_1 = " bk_accuracy = '" . minus($user['bk_accuracy'], mt_rand(1, 3)) . "',";
                        $sql_us_2 = " bk_adroitness = '" . minus($_res['bk_adroitness'], mt_rand(1, 3)) . "',";
                        $blow = 0;
                        $setMsg = getRandMsg('mazila', $user['user'], $_res['user']);
                    } else {
                        if (minus($_res['bk_health'], $blow)) {
                            $ex2 = explode('#', $ex[2]);
                            $setMsg = $user['user'] . ', ' . $ex2[array_rand($ex2)] . '<br/>' . $_res['user'] . ' потерял ' . $blow . '% здоровья.';
                        } else {
                            $setMsg = getRandMsg('victory', $user['user'], $_res['user']);
                            $sql_us_1 = " bk_victories = bk_victories+1,";
                            $sql_us_2 = " bk_defeats = (bk_defeats+1), bk_trauma = '".(time() + 120)."',";
                        }
                    }
                    mysql_query("UPDATE users SET
                        bk_force = '" . minus($user['bk_force'], mt_rand(1, 3)) . "',
                        $sql_us_1
                        bk_endurance = '" . minus($user['bk_endurance'], mt_rand(1, 3)) . "'
                    WHERE id = '$user[id]' LIMIT 1");
                    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]' LIMIT 1");
                    $_SESSION['blow_time'] = time() + 10;
                    $_SESSION['bot_trainers_health'] = time() + 30;
                } else $setMsg = getRandMsg('trauma', $user['user'], $_res['user']);
            }
            $stop = true;
        }
        $data = file_get_contents('../upload/bk/weapons.dat');
        if (!$stop && preg_match('/'.$arr[1].'|::|.*?n/is', $data, $force_preg)) {
            $ex = explode('|::|', $force_preg[0]);
            if (count($ex) == 5) {
                if ($user['bk_weapons'] != $ex[0]) {
                    $setMsg = getRandMsg('no_weapons', $user['user']);
                } elseif(time() > $_res['bk_trauma'] && $_res['bk_health']) {
                    $blowStart = 20;
                    $blow = ceil(($blowStart / mt_rand(70, 100)) * (mt_rand(1, ($user['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, $user['bk_accuracy']);
                    $sql_us_1 = '';
                    $sql_us_2 = '';
                    if ($mazila > mt_rand(1, 100)) {
                        $sql_us_1 = " bk_accuracy = '" . minus($user['bk_accuracy'], mt_rand(1, 3)) . "',";
                        $sql_us_2 = " bk_adroitness = '" . minus($_res['bk_adroitness'], mt_rand(1, 3)) . "',";
                        $blow = 0;
                        $setMsg = getRandMsg('mazila', $user['user'], $_res['user']);
                    } else {
                        if (minus($_res['bk_health'], $blow)) {
                            $ex2 = explode('#', $ex[4]);
                            $setMsg = $user['user'] . ', ' . $ex2[array_rand($ex2)] . '<br/>' . $_res['user'] . ' потерял ' . $blow . '% здоровья.';
                        } else {
                            $setMsg = getRandMsg('victory', $user['user'], $_res['user']);
                            $sql_us_1 = " bk_victories = bk_victories+1,";
                            $sql_us_2 = " bk_defeats = (bk_defeats+1), bk_trauma = '".(time() + 120)."',";
                        }
                    }
                    mysql_query("UPDATE users SET
                        bk_force = '" . minus($user['bk_force'], mt_rand(1, 3)) . "',
                        $sql_us_1
                        bk_endurance = '" . minus($user['bk_endurance'], mt_rand(1, 3)) . "'
                    WHERE id = '$user[id]' LIMIT 1");
                    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]' LIMIT 1");
                    $_SESSION['blow_time'] = time() + 10;
                    $_SESSION['bot_trainers_health'] = time() + 30;
                } else $setMsg = getRandMsg('trauma', $user['user'], $_res['user']);
            }
            $stop = true;
        }
    }
    $_SESSION['Defeat'] = $_res['user'];
}
if (!$stop && preg_match("#!(.+?)(s|$)#i", $msg, $arr)) {
    $data = file_get_contents('../upload/bk/weapons.dat');
    if (preg_match('/'.$arr[1].'|::|.*?n/is', $data, $force_preg)) {
        $ex = explode('|::|', $force_preg[0]);
        if (count($ex) == 5) {
            if ($user['balls'] > $ex[2]) {
                $ex2 = explode('#', $ex[3]);
                $setMsg = $user['user'] . ', ' . $ex2[array_rand($ex2)];
                mysql_query("UPDATE users SET balls = (balls-" . $ex[2] . "), bk_weapons = '" . mysql_real_escape_string($ex[0]) . "' WHERE id = '$user[id]' LIMIT 1");
            } else $setMsg = getRandMsg('little_balls', $user['user']);
        }
        $stop = true;
    }
}
$defeat = isset($_SESSION['bot_bk_defeat']) ? $_SESSION['bot_bk_defeat'] : 0;
if (time() < $user['bk_trauma'] && time() > $defeat) {
    $_SESSION['bot_bk_defeat'] = time() + 20;    
$ids = mt_rand(100000, 999999);
mysql_query("INSERT INTO message SET
                    id = '$ids',
                    user = '$user[user]',
                    who = '$user[id]',
                    time = '" . (time() + 1) . "',
                    msg = '" . mysql_real_escape_string(getRandMsg('defeat', $_SESSION['Defeat'])) . "',
                    room = '$rm'");
}
if ($setMsg != '') {
$ids = mt_rand(100000, 999999);
mysql_query("INSERT INTO message SET
                    id = '$ids',
                    user = 'Рефери',
                    who = '0',
                    time = '" . (time() + 1) . "',
                    msg = '" . mysql_real_escape_string($setMsg) . "',
                    room = '$rm'");
}
?>