Файл: minichat_by_KoT/minichat_by_KoT/hunt.php
Строк: 417
<?php
##########################################
# ~ Разработка отдельных модулей ~~~~~~~ #
# ~ и написание скриптов на php (c)KoT ~ #
# ~ ICQ: 7675072 ~~~~~~~~~~~~~~~~~~~~~~~ #
# ~ Site: 4atlove.ru ~~~~~~~~~~~~~~~~~~~ #
# ~ E-mail: notefree@bk.ru ~~~~~~~~~~~~~ #
##########################################
require 'sid.php';
header("Cache-Control: no-cache");
header('Content-Type:text/html; charset=UTF-8');
require'config.php';
$link = connect_db();
list($row, $id, $ps) = check_login($link);
include 'head.php';
whorm(0, 'hunt');
if (!isset($_SESSION['count'])) {
$_SESSION['count'] = 0;
} else {
$_SESSION['count']++;
}
$do = isset($_GET['do']) ? $_GET['do'] : NULL;
switch($do) {
default:
echo $div1 . '<b>Охота</b>' . $div5;
if (file_exists('hunt/'.$id.'_battle.dat')) $battle = file_get_contents('hunt/'.$id.'_battle.dat');
if ($battle != 1 || isset($_POST['pobeg'])) {
/*
* Восстановление жизней в зависимости, от уровня
*/
if ($row['liven'] == 1) $hp = 65;
elseif ($row['liven'] == 2) $hp = 110;
elseif ($row['liven'] == 3) $hp = 180;
elseif ($row['liven'] == 4) $hp = 300;
elseif ($row['liven'] == 5) $hp = 570;
elseif ($row['liven'] == 6) $hp = 700;
elseif ($row['liven'] == 7) $hp = 1000;
elseif ($row['liven'] == 8) $hp = 1800;
elseif ($row['liven'] == 9) $hp = 2500;
elseif ($row['liven'] == 10) $hp = 3100;
mysql_query("UPDATE `users` SET `health` = '".(int)$hp."' WHERE `id` = '$id'");
}
/*
* Очистка логов
*/
if ($_SESSION['count'] == 0 || isset($_POST['pobeg'])) {
$ok_escape = '<u>Вы убежали.</u><hr/>';
if (file_exists('hunt/'.$id.'_minus_bot.dat')) unlink('hunt/'.$id.'_minus_bot.dat');
if (file_exists('hunt/'.$id.'_battle.dat')) unlink('hunt/'.$id.'_battle.dat');
if (file_exists('hunt/'.$id.'_us_bot.dat')) unlink('hunt/'.$id.'_us_bot.dat');
if (file_exists('hunt/'.$id.'_life.dat')) unlink('hunt/'.$id.'_life.dat');
if (file_exists('hunt/'.$id.'_bot_life.dat')) unlink('hunt/'.$id.'_bot_life.dat');
}
/*
* Вывод при попыте схитрить)
*/
if (isset($_GET['fuck'])) {
$fuck = '<b style="color:red">Спалилсо сцуко!<br/>
Мудак!</b><hr/>';
if (file_exists('hunt/'.$id.'_minus_bot.dat')) unlink('hunt/'.$id.'_minus_bot.dat');
if (file_exists('hunt/'.$id.'_battle.dat')) unlink('hunt/'.$id.'_battle.dat');
if (file_exists('hunt/'.$id.'_us_bot.dat')) unlink('hunt/'.$id.'_us_bot.dat');
if (file_exists('hunt/'.$id.'_life.dat')) unlink('hunt/'.$id.'_life.dat');
if (file_exists('hunt/'.$id.'_bot_life.dat')) unlink('hunt/'.$id.'_bot_life.dat');
}
echo $div3 . '
<center>
' . $fuck . $ok_escape .'
<b>Вы зашли в логово монстров...</b><br/>
---------<br/>
<a href="hunt.php?do=hunt">Искать монстров</a><br/>
---------<br/>
<a href="shop.php?'.$ref.'"><b>Вернутся в Бизнес-Таун</b></a></center>' . $div5;
break;
case hunt:
echo $div1 . '<b>Бой</b>' . $div5;
/*
* Плата за участие в бою
*/
$H = mysql_fetch_array(mysql_query("SELECT `hunt` FROM `set` WHERE `id` = '1'"));
if (!isset($_GET['yes'])) {
echo $other . '
<center>
Каждый бой стоит ' . $H[0] . 'р. Вы согласны?<br/><br/>
<b>[<a href="hunt.php?do=hunt&yes">Да</a>|<a href="hunt.php?'.$ref.'">Нет</a>]</b><br/>
</center>' . $div5;
echo $div3 . '
<a href="menu.php?'.$ref.'"><b>В меню</b></a>' . $div5;
include 'foot.php';
exit();
} elseif (isset($_GET['yes'])) {
if ($row['money'] < $H[0]) {
echo $bad . 'Извините, но у Вас недостаточно средств!' . $div5;
echo $div3 . '
<a href="menu.php?'.$ref.'"><b>В меню</b></a>' . $div5;
include 'foot.php';
exit();
} else {
mysql_query("UPDATE `users` SET `money` = `money` - '".(int)$H[0]."' WHERE `id` = '$id'");
}
/*
* Случайный выбор ника монстра
*/
$who = mt_rand(1, 9);
/*
* Замена рандомной цыфры на ник
*/
$is = array(1, 2, 3, 4, 5, 6, 7, 8, 9);
$in = array('Снорк', 'Зомби', 'Бешенный пёс', 'Мумия', 'Тень призрака', 'Скелет', 'Вампир', 'Оборотень', 'Крестоносец');
$whois = str_replace($is, $in, $who);
/*
* Сила удара монтсра в зависимости, от моего уровня
*/
if ($row['liven'] == 1) {
$count = mt_rand(55, 65);
}
if ($row['liven'] == 2) {
$count = mt_rand(100, 115);
}
if ($row['liven'] == 3) {
$count = mt_rand(190, 220);
}
if ($row['liven'] == 4) {
$count = mt_rand(320, 385);
}
if ($row['liven'] == 5) {
$count = mt_rand(630, 700);
}
if ($row['liven'] == 6) {
$count = mt_rand(780, 890);
}
if ($row['liven'] == 7) {
$count = mt_rand(1500, 2750);
}
if ($row['liven'] == 8) {
$count = mt_rand(2950, 3500);
}
if ($row['liven'] == 9) {
$count = mt_rand(3500, 4250);
}
if ($row['liven'] == 10) {
$count = mt_rand(4250, 5500);
}
/*
* Запись в файлы
* - ник монстра
* - моя жизнь
* - жизнь бота
* - старт боя
*/
file_put_contents('hunt/'.$id.'_us_bot.dat', $whois);
file_put_contents('hunt/'.$id.'_life.dat', $row['health']);
file_put_contents('hunt/'.$id.'_bot_life.dat', $count);
file_put_contents('hunt/'.$id.'_battle.dat', 1);
/*
* Редирект на бой
*/
header('Location: hunt.php?do=ataka');
die();
}
break;
case ataka:
/*
* Сила удара монстра в зависимости, от моего уровня
* - $count жизнь
* - $force сила
*/
if ($row['liven'] == 1) {
$count = mt_rand(55, 65);
$force = mt_rand(15, 25);
}
if ($row['liven'] == 2) {
$count = mt_rand(100, 115);
$force = mt_rand(30, 35);
}
if ($row['liven'] == 3) {
$count = mt_rand(190, 220);
$force = mt_rand(55, 65);
}
if ($row['liven'] == 4) {
$count = mt_rand(320, 385);
$force = mt_rand(75, 95);
}
if ($row['liven'] == 5) {
$count = mt_rand(630, 700);
$force = mt_rand(100, 130);
}
if ($row['liven'] == 6) {
$count = mt_rand(780, 890);
$force = mt_rand(135, 155);
}
if ($row['liven'] == 7) {
$count = mt_rand(1500, 2750);
$force = mt_rand(160, 185);
}
if ($row['liven'] == 8) {
$count = mt_rand(2950, 3500);
$force = mt_rand(190, 220);
}
if ($row['liven'] == 9) {
$count = mt_rand(3500, 4250);
$force = mt_rand(225, 270);
}
if ($row['liven'] == 10) {
$count = mt_rand(4250, 5500);
$force = mt_rand(310, 350);
}
/*
* Проверка наличия моего оружия и брони
*/
$protection = mysql_fetch_array(mysql_query("SELECT `uron` FROM `invent` WHERE `type` = 'bron' AND `uid` = '$id'"));
$shot = mysql_fetch_array(mysql_query("SELECT `uron` FROM `invent` WHERE `type` = 'pushka' AND `uid` = '$id'"));
/*
* Если имеется броня, то отнимаем
* силу удара монстра сначала от брони, потом от жизней
*/
if ($protection[0] != false) {
$minus = $force - $protection[0];
} else {
$minus = $force;
}
/*
* Выборка из файлов:
* - ник монстра
* - моя жизнь
* - жизнь монстра
*/
$who = file_get_contents('hunt/'.$id.'_us_bot.dat');
$my_life = file_get_contents('hunt/'.$id.'_life.dat');
$bot_life = file_get_contents('hunt/'.$id.'_bot_life.dat');
/*
* Если монстр ударил первый
*/
$first = isset($_SESSION['first']) ? (int)$_SESSION['first'] : NULL;
$first = mt_rand(1, 2);
if (!isset($_SESSION['first'])) {
$_SESSION['first'] = 0;
} else {
$_SESSION['first']++;
}
if ($first == 1 && $_SESSION['first'] < 1) {
$atak = $who . ' ударил Вас первый, и забрал ' . abs(intval($minus)) . ' HP<br/>';
mysql_query("UPDATE `users` SET `health` = `health` - '".abs(intval($minus))."' WHERE `id` = '$id'");
} elseif ($a != 1 && isset($_POST['udar'])) {
$atak = $who . ' забрал у Вас ' . abs(intval($minus)) . ' HP<br/>';
}
/*
* Контроль моего выстрела
*/
if (isset($_POST['udar'])) {
// Случ. увеличение мощности
$strike = $shot[0] + mt_rand(-5,+5);
// Супер-удар + в зависимости, от уровня "Охотник"
$mazila = mt_rand(1, abs(intval($minus))) - mt_rand(1, $row['hunter']);
if ($mazila > mt_rand(1, 500)) {
$strike = $strike + $mazila;
$KO = 'Супер-удар';
}
$myatak = '<b>' . $KO . '</b> Вы забрали у ' . $who . ' ' . $strike . ' HP<br/>';
/*
* Минусование жизней монстра
*/
if (file_exists('hunt/'.$id.'_minus_bot.dat')) {
$now = file_get_contents('hunt/'.$id.'_minus_bot.dat');
$strik = $now - $strike;
$now_bot_life = file_put_contents('hunt/'.$id.'_minus_bot.dat', $strik);
} else {
file_put_contents('hunt/'.$id.'_minus_bot.dat', $count);
$now = file_get_contents('hunt/'.$id.'_bot_life.dat');
$strik = $now - $strike;
$now_bot_life = file_put_contents('hunt/'.$id.'_minus_bot.dat', $strik);
}
/*
* Минусование моих жизней
*/
mysql_query("UPDATE `users` SET `health` = `health` - '".abs(intval($minus))."' WHERE `id` = '$id'");
}
/*
* Итог жизни монстра
*/
if (file_exists('hunt/'.$id.'_minus_bot.dat')) $now_bot_life = file_get_contents('hunt/'.$id.'_minus_bot.dat');
else $now_bot_life = $bot_life;
/*
* Если я победил
*/
if ($now_bot_life <= 0) {
/*
* Если попытка схитрить )
*/
if (file_exists('hunt/'.$id.'_battle.dat')) $why_b = file_get_contents('hunt/'.$id.'_battle.dat');
if ($why_b != 1) {
header('Location: hunt.php?fuck');
die();
}
/*
* Редирект
*/
file_put_contents('hunt/'.$id.'_battle.dat', 2);
unset($_SESSION['count']);
unset($_SESSION['first']);
header('Location: hunt.php?do=victory');
die();
}
/*
* Если монстр победил
*/
if ($row['health'] <= 0) {
/*
* Если попытка схитрить )
*/
if (file_exists('hunt/'.$id.'_battle.dat')) $why_b = file_get_contents('hunt/'.$id.'_battle.dat');
if ($why_b != 1) {
header('Location: hunt.php?fuck');
die();
}
/*
* Редирект
*/
file_put_contents('hunt/'.$id.'_battle.dat', 2);
unset($_SESSION['count']);
unset($_SESSION['first']);
header('Location: hunt.php?do=lose');
die();
}
/*
* Функция правильного увеличения
*/
function plus($all, $plus) {
$all += $plus;
if (0 > $all) $all = 0;
return $all;
}
/*
* Увеличение уровня Охотника
*/
if (mt_rand(1, 100) == 5 && isset($_POST['udar']) && $row['hunter'] < 100) {
mysql_query("UPDATE `users` SET `hunter` = `hunter` + '".plus($hunter, 1)."' WHERE `id` = '$id'");
$up_hunter = '-------<br/><b style="color:red">Увеличен уровень Охотник: ' . ($row['hunter'] + 1) . '</b><br/>';
}
/*
* Случайное выпадание денег с монстра
*/
if (mt_rand(1, 15) == 1 && isset($_POST['udar'])) {
$lave = mt_rand(1, 15);
$give_money = '<u>С монстра выпало: <b>' . $lave . '</b> денег.</u><br/>';
mysql_query("UPDATE `users` SET `money` = `money` + '".(int)$lave."' WHERE `id` = '$id'");
}
/*
* Случайное выпадание снаряжения с монстра
*/
if (mt_rand(1, 150) == 5 && isset($_POST['udar'])) {
$invent = mysql_fetch_assoc(mysql_query("SELECT * FROM `invent` WHERE `type`='pushka' OR `type`='bron' AND `uid`='0' AND `second`='0' ORDER BY RAND() DESC"));
mysql_query("INSERT INTO `invent`
(`uid`,`name`,`type`,`price`,`uron`,`path`)
VALUES
('$id','$invent[name]','$invent[type]','$invent[price]','$invent[uron]','$invent[path]')");
$give_money = '<u>С монстра выпало: <b>' . $invent['name'] . '</b>. Вещь перенесена в рюкзак.</u><br/>';
}
/*
* Вывод итогов на экран
*/
echo $other . '
<center>
Вы атакованы ' . $who . '<br/>
Ваше HP: <b>[' . $row['health'] . '/' . $my_life . ']</b> HP монстра: <b>[' . $now_bot_life . '/' . $bot_life . ']</b><br/>
-------<br/>
' . $atak . ' ' . $myatak . ' ' . $up_hunter . ' ' . $give_money . '
-------<br/>
<form method="POST" action="hunt.php?do=ataka">
<input type="submit" class="ibutton" name="udar" value="Атака"/>
</form>
<form method="POST" action="hunt.php?'.$ref.'">
<input type="submit" class="ibutton" name="pobeg" value="Бежать"/>
</form>
</center>' . $div5;
break;
case victory:
echo $div1 . '<b>Победа</b>' . $div5;
if ($_SESSION['count'] != 0) {
header('Location: hunt.php?');
die();
} else {
/*
* Запись денег и опыта / Очистка логов / Итог
*/
$money = mt_rand(10, 100);
$opit = mt_rand(5, 15);
mysql_query("UPDATE `users` SET `money` = `money` + '".(int)$money."', `opit` = `opit` + '".(int)$opit."' WHERE `id` = '$id'");
if (file_exists('hunt/'.$id.'_minus_bot.dat')) unlink('hunt/'.$id.'_minus_bot.dat');
if (file_exists('hunt/'.$id.'_battle.dat')) unlink('hunt/'.$id.'_battle.dat');
if (file_exists('hunt/'.$id.'_us_bot.dat')) unlink('hunt/'.$id.'_us_bot.dat');
if (file_exists('hunt/'.$id.'_life.dat')) unlink('hunt/'.$id.'_life.dat');
if (file_exists('hunt/'.$id.'_bot_life.dat')) unlink('hunt/'.$id.'_bot_life.dat');
echo $other . '
Вы уничтожили монстра!<br/>
Вам начислено денег: ' . $money . ',
опыта: ' . $opit . $div5;
}
break;
case lose:
echo $div1 . '<b>Поражение</b>' . $div5;
if ($_SESSION['count'] != 0) {
header('Location: hunt.php?');
die();
} else {
$money = mt_rand(10, 100);
$opit = mt_rand(5, 15);
mysql_query("UPDATE `users` SET `money` = `money` - '".(int)$money."', `opit` = `opit` - '".(int)$opit."' WHERE `id` = '$id'");
if (file_exists('hunt/'.$id.'_minus_bot.dat')) unlink('hunt/'.$id.'_minus_bot.dat');
if (file_exists('hunt/'.$id.'_battle.dat')) unlink('hunt/'.$id.'_battle.dat');
if (file_exists('hunt/'.$id.'_us_bot.dat')) unlink('hunt/'.$id.'_us_bot.dat');
if (file_exists('hunt/'.$id.'_life.dat')) unlink('hunt/'.$id.'_life.dat');
if (file_exists('hunt/'.$id.'_bot_life.dat')) unlink('hunt/'.$id.'_bot_life.dat');
echo $other . '
Монстр убил Вас! У вас осталось ' . $row['money'] . ' денег.<br/>
<a href="hunt.php?'.$ref.'">Восстановите здоровье</a> и продолжите охоту.' . $div5;
}
break;
}
echo $div3 . '
<a href="menu.php?'.$ref.'"><b>В меню</b></a>' . $div5;
include 'foot.php';
?>