Файл: archive/www/musimka.ru/games/strike.php
Строк: 778
<?php
require '../sid.php';
require '../config.php';
$link = connect_db();
list($user, $id, $ps) = check_login($link);
whorm(0, 'games');
include '../head.php';
include '../navigator.php';
$do = isset($_GET['do']) ? $_GET['do'] : NULL;
echo $div_title . 'Противостояние' . $div_end . $div_left;
switch($do) {
default:
// удаление своих логов предыдущего боя
if (file_exists('strike/log_' . $user['id'] . '.dat')) unlink('strike/log_' . $user['id'] . '.dat');
if (file_exists('strike/fire_' . $user['id'] . '.dat')) unlink('strike/fire_' . $user['id'] . '.dat');
/******************************/
$batt = mysql_query("SELECT `id`, `user`, `who` FROM `strike`
WHERE `user` = '$user[id]'
OR `who` = '$user[id]'
AND `set` = '0'
LIMIT 1");
if (mysql_num_rows($batt) != FALSE) {
$in_battle = mysql_fetch_array($batt);
header('Location: strike.php?do=battle&b='.$in_battle[0]);
}
/******************************/
if (!empty($user['bron'])) {
$yes_a = '(Имеется)';
} else {
$yes_a = '(Отсутствует)';
}
if (!empty($user['pushka'])) {
$yes_b = '(Имеется)';
} else {
$yes_b = '(Отсутствует)';
}
echo $div_menu . '
<a href="strike.php?do=s1"><b>Купить бронь</b></a> ' . $yes_a . '<br/>
<a href="strike.php?do=s2"><b>Купить оружие</b></a> ' . $yes_b . '
' . $div_end . '
У Вас ' . $user['win'] . ' побед
' . $block . '
<FORM method="POST" action="strike.php?do=invite">
Введите id соперника:<br/>
<input type="text" name="nk" size="4"/>
<br/>
<input type="submit" name="send" value="Вызвать на бой"/>
</FORM>';
break;
case s1:
/******************************/
$batt = mysql_query("SELECT `id`, `user`, `who` FROM `strike`
WHERE `user` = '$user[id]'
OR `who` = '$user[id]'
AND `set` = '0'
LIMIT 1");
if (mysql_num_rows($batt) != FALSE) {
$in_battle = mysql_fetch_array($batt);
header('Location: strike.php?do=battle&b='.$in_battle[0]);
}
/******************************/
if (isset($_GET['buy'])) {
$buy = my_int($_GET['buy']);
$sql = mysql_query("SELECT * FROM `shop` WHERE `type` = 'bron' AND `id` = '$buy' LIMIT 1");
$in = mysql_fetch_assoc($sql);
if (mysql_num_rows($sql) == FALSE) {
err('Неверные параметры!');
} elseif ($user['balls'] < $in['price']) {
err('У Вас не достаточно бубликов для покупки этой брони!');
} elseif ($user['win'] < $in['wins']) {
err('У Вас не достаточно побед для покупки этой брони!');
} else {
mysql_query("UPDATE `users` SET `balls` = `balls` - '$in[price]', `bron` = '$buy' WHERE `id` = '$user[id]' LIMIT 1");
msg('Броня успешно куплена!');
header('Refresh: 1; URL=strike.php?' . $ref);
}
}
$count = mysql_result(mysql_query("SELECT COUNT(*) FROM `shop` WHERE `type` = 'bron'"), 0);
if ($count != FALSE) {
$n = new navigator($count, 10, '?do=s1&');
$sql = mysql_query("SELECT * FROM `shop` WHERE `type` = 'bron' ORDER BY `price` ASC {$n->limit}");
$i = 0;
while($a = mysql_fetch_assoc($sql)) {
$im = '<img src="../resize.php?img='.$a['path'].'&width=100&height=0" alt=""/><br/>';
echo ($i ++ % 2) ? $div_tworazdel : $div_razdel;
echo $im . '<b>' . $a['nazv'] . '</b><br/>
Тип: Броня
<br/>
Защита: ' . $a['strong'] . '%<br/>
Побед: ' . $a['wins'] . '<br/>
Цена: ' . $a['price'] . ' <img src="../ico/bublik_small.png" alt=""/><br/>
<a href="strike.php?do=s1&buy='.$a['id'].'">[Купить]</a>' . $div_end;
}
echo $n->navi();
} else {
echo 'Отдел брони пуст!<br/>';
}
break;
case s2:
/******************************/
$batt = mysql_query("SELECT `id`, `user`, `who` FROM `strike`
WHERE `user` = '$user[id]'
OR `who` = '$user[id]'
AND `set` = '0'
LIMIT 1");
if (mysql_num_rows($batt) != FALSE) {
$in_battle = mysql_fetch_array($batt);
header('Location: strike.php?do=battle&b='.$in_battle[0]);
}
/******************************/
if (isset($_GET['buy'])) {
$buy = my_int($_GET['buy']);
$sql = mysql_query("SELECT * FROM `shop` WHERE `type` = 'pushka' AND `id` = '$buy' LIMIT 1");
$in = mysql_fetch_assoc($sql);
if (mysql_num_rows($sql) == FALSE) {
err('Неверные параметры!');
} elseif ($user['balls'] < $in['price']) {
err('У Вас не достаточно бубликов для покупки этого оружия!');
} elseif ($user['win'] < $in['wins']) {
err('У Вас не достаточно побед для покупки этого оружия!');
} else {
mysql_query("UPDATE `users` SET `balls` = `balls` - '$in[price]', `pushka` = '$buy' WHERE `id` = '$user[id]' LIMIT 1");
msg('Оружие успешно куплено!');
header('Refresh: 1; URL=strike.php?' . $ref);
}
}
$count = mysql_result(mysql_query("SELECT COUNT(*) FROM `shop` WHERE `type` = 'pushka'"), 0);
if ($count != FALSE) {
$n = new navigator($count, 10, '?do=s2&');
$sql = mysql_query("SELECT * FROM `shop` WHERE `type` = 'pushka' ORDER BY `price` ASC {$n->limit}");
$i = 0;
while($a = mysql_fetch_assoc($sql)) {
$im = '<img src="../resize.php?img='.$a['path'].'&width=100&height=0" alt=""/><br/>';
if ($a['priority'] == 0) $pr = '<br/>Приоритет: Обычное оружие';
elseif ($a['priority'] == 1) $pr = '<br/>Приоритет: Вероятность сбить оружие';
elseif ($a['priority'] == 2) $pr = '<br/>Приоритет: Вероятность сбить броню';
elseif ($a['priority'] == 3) $pr = '<br/>Приоритет: Вероятность удвоить выстрел';
else $pr = '';
echo ($i ++ % 2) ? $div_tworazdel : $div_razdel;
echo $im . '<b>' . $a['nazv'] . '</b><br/>
Тип: Оружие
<br/>
Урон: ' . $a['strong'] . '%<br/>
Побед: ' . $a['wins'] . $pr . '<br/>
Цена: ' . $a['price'] . ' <img src="../ico/bublik_small.png" alt=""/><br/>
<a href="strike.php?do=s2&buy='.$a['id'].'">[Купить]</a>' . $div_end;
}
echo $n->navi();
} else {
echo 'Отдел оружия пуст!<br/>';
}
break;
/*
* Приглашение на бой
*/
case invite:
$nk = my_int($_REQUEST['nk']); // ид юзера
if (empty($nk)) {
err('Такого пользователя невозможно пригласить в игру!');
} elseif (!user_inf($nk)) {
err('Такого пользователя невозможно пригласить в игру!');
} elseif ($nk == $user['id']) {
err('Вы не можете играть сами с собой!');
} elseif (!online_user($nk)) {
err('Пользователь в оффлайне!');
} else {
// проверяем есть ли я уже в бою
$sql = mysql_query("SELECT `id` FROM `strike`
WHERE `user` = '$user[id]'
OR `who` = '$user[id]'
LIMIT 1");
// проверяем есть ли приглащающийся уже в бою
$sql_2 = mysql_query("SELECT `id` FROM `strike`
WHERE `user` = '$nk'
OR `who` = '$nk
LIMIT 1");
if (mysql_num_rows($sql) != FALSE) {
err('Вы уже в бою!');
$in = mysql_fetch_assoc($sql);
echo '<a href="strike.php?do=battle&b='.$in['id'].'">В бой »</a>';
} elseif (mysql_num_rows($sql_2) != FALSE) {
err('Пользователь уже в бою!');
} else {
// если нет, создаем заявку
$rand = mt_rand(1000000, 9999999);
mysql_query("INSERT INTO `strike` SET
`id` = '$rand',
`user` = '$user[id]',
`who` = '$nk',
`set` = '1',
`wait_time` = '" . (time() + 120) . "'");
// идем в свою заявку
$last = mysql_fetch_array(mysql_query("SELECT `id` FROM `strike` WHERE
`user` = '$user[id]' AND `who` = '$nk' ORDER BY `id` DESC LIMIT 1"));
header('Location: strike.php?do=battle&b=' . $last[0]);
}
}
break;
/*
* Бой
*/
case battle:
$b = my_int($_REQUEST['b']);
$sql = mysql_query("SELECT * FROM `strike` WHERE
`user` = '$user[id]'
OR
`who` = '$user[id]'
AND
`id` = '$b'
LIMIT 1");
$inf = mysql_fetch_assoc($sql);
$double = mysql_query("SELECT `id` FROM `strike` WHERE `who` = '$user[id]' AND `set` = '1' LIMIT 1");
if (mysql_num_rows($double) != FALSE) {
err('У вас есть не принятая заявка на бой!');
echo $div_center . '<span class="next"><img src = "/ico/ok.gif" alt = ""/>
<a href="/games/strike.php?do=yes&b='.$b.'">Принять</a></span>
<span class="next"><img src = "/ico/delete.gif" alt = ""/>
<a href="/games/strike.php?do=no&b='.$b.'">Отклонить</a></span>' . $div_end;
}
if (mysql_num_rows($sql) == FALSE) {
header('Location: strike.php?do=result');
} elseif ($inf['set'] == 3) {
err('Пользователь отказался от Вашего вызова на поединок!');
mysql_query("DELETE FROM `strike` WHERE `id` = '$b' LIMIT 1");
header('refresh:2;url=index.php?' . $ref);
} elseif ($inf['user'] == $user['id'] && $inf['set'] == 1) {
if ($inf['wait_time'] > time()) {
echo 'Ожидание подключения соперника... (' . ($inf['wait_time'] - time()) . ' сек)
<br/>
<a href="strike.php?do=battle&b='.$b.'">[Обновить]</a><br/>';
}
// если никто пользователь не принял заявку
if ($inf['wait_time'] <= time()) {
mysql_query("DELETE FROM `strike` WHERE `id` = '$b' LIMIT 1");
msg('Бой был завершен по тайм-ауту!');
header('refresh:1;url=index.php?' . $ref);
}
} elseif ($inf['user'] == $user['id'] || $inf['who'] == $user['id'] && $inf['set'] == 0) {
// удаление боя по тайм-ауту (если кто-то долго не стреляет)
if ($inf['user'] == $user['id']) {
if (!empty($inf['user']) && !empty($inf['who']) && $inf['set'] == 0 && !empty($inf['out_time_who']) && $inf['out_time_who'] <= time()) {
##################
file_put_contents('strike/log_' . $inf['user'] . '.dat', 'Бой был завершен по тайм-ауту! Поздравляем с блестящей победой!');
file_put_contents('strike/log_' . $inf['who'] . '.dat', 'Бой был завершен по тайм-ауту! К сожалению Вы проиграли!');
chmod('strike/log_' . $inf['user'] . '.dat', 0666);
chmod('strike/log_' . $inf['who'] . '.dat', 0666);
##################
mysql_query("UPDATE `users` SET `win` = `win` + '1' WHERE `id` = '$inf[user]' LIMIT 1");
mysql_query("DELETE FROM `strike` WHERE `id` = '$b' LIMIT 1");
header('Location: strike.php?do=result');
}
}
elseif ($inf['who'] == $user['id']) {
if (!empty($inf['user']) && !empty($inf['who']) && $inf['set'] == 0 && !empty($inf['out_time_user']) && $inf['out_time_user'] <= time()) {
##################
file_put_contents('strike/log_' . $inf['who'] . '.dat', 'Бой был завершен по тайм-ауту! Поздравляем с блестящей победой!');
file_put_contents('strike/log_' . $inf['user'] . '.dat', 'Бой был завершен по тайм-ауту! К сожалению Вы проиграли!');
chmod('strike/log_' . $inf['user'] . '.dat', 0666);
chmod('strike/log_' . $inf['who'] . '.dat', 0666);
##################
mysql_query("UPDATE `users` SET `win` = `win` + '1' WHERE `id` = '$inf[who]' LIMIT 1");
mysql_query("DELETE FROM `strike` WHERE `id` = '$b' LIMIT 1");
header('Location: strike.php?do=result');
}
}
/*
* Подвод итогов
*/
if ($inf['user'] == $user['id'] && $inf['user_health'] <= 0) {
file_put_contents('strike/log_' . $inf['user'] . '.dat', 'К сожалению Вы проиграли!');
file_put_contents('strike/log_' . $inf['who'] . '.dat', 'Поздравляем с блестящей победой!');
chmod('strike/log_' . $inf['user'] . '.dat', 0666);
chmod('strike/log_' . $inf['who'] . '.dat', 0666);
mysql_query("UPDATE `users` SET `win` = `win` + '1' WHERE `id` = '$inf[who]' LIMIT 1");
mysql_query("DELETE FROM `strike` WHERE `id` = '$b' LIMIT 1");
header('Location: strike.php?do=result');
}
elseif ($inf['user'] == $user['id'] && $inf['who_health'] <= 0) {
file_put_contents('strike/log_' . $inf['user'] . '.dat', 'Поздравляем с блестящей победой!');
file_put_contents('strike/log_' . $inf['who'] . '.dat', 'К сожалению Вы проиграли!');
chmod('strike/log_' . $inf['user'] . '.dat', 0666);
chmod('strike/log_' . $inf['who'] . '.dat', 0666);
mysql_query("UPDATE `users` SET `win` = `win` + '1' WHERE `id` = '$inf[user]' LIMIT 1");
mysql_query("DELETE FROM `strike` WHERE `id` = '$b' LIMIT 1");
header('Location: strike.php?do=result');
}
elseif ($inf['who'] == $user['id'] && $inf['user_health'] <= 0) {
file_put_contents('strike/log_' . $inf['who'] . '.dat', 'Поздравляем с блестящей победой!');
file_put_contents('strike/log_' . $inf['user'] . '.dat', 'К сожалению Вы проиграли!');
chmod('strike/log_' . $inf['user'] . '.dat', 0666);
chmod('strike/log_' . $inf['who'] . '.dat', 0666);
mysql_query("UPDATE `users` SET `win` = `win` + '1' WHERE `id` = '$inf[who]' LIMIT 1");
mysql_query("DELETE FROM `strike` WHERE `id` = '$b' LIMIT 1");
header('Location: strike.php?do=result');
}
elseif ($inf['who'] == $user['id'] && $inf['who_health'] <= 0) {
file_put_contents('strike/log_' . $inf['user'] . '.dat', 'Поздравляем с блестящей победой!');
file_put_contents('strike/log_' . $inf['who'] . '.dat', 'К сожалению Вы проиграли!');
chmod('strike/log_' . $inf['user'] . '.dat', 0666);
chmod('strike/log_' . $inf['who'] . '.dat', 0666);
mysql_query("UPDATE `users` SET `win` = `win` + '1' WHERE `id` = '$inf[user]' LIMIT 1");
mysql_query("DELETE FROM `strike` WHERE `id` = '$b' LIMIT 1");
header('Location: strike.php?do=result');
}
elseif ($inf['who_health'] == 0 && $inf['user_health'] == 0) {
file_put_contents('strike/log_' . $inf['user'] . '.dat', 'Бой закончился в ничью!');
file_put_contents('strike/log_' . $inf['who'] . '.dat', 'Бой закончился в ничью!');
chmod('strike/log_' . $inf['user'] . '.dat', 0666);
chmod('strike/log_' . $inf['who'] . '.dat', 0666);
mysql_query("DELETE FROM `strike` WHERE `id` = '$b' LIMIT 1");
header('Location: strike.php?do=result');
}
/*
* Выстрелы
*/
if (isset($_POST['ok'])) {
// Ограничение выстрелов
if (is_file('strike/fire_'.$inf['user'].'.dat') && is_file('strike/fire_'.$inf['who'].'.dat')) {
$ViewFile_1 = file_get_contents('strike/fire_'.$inf['user'].'.dat');
$ViewFile_2 = file_get_contents('strike/fire_'.$inf['who'].'.dat');
}
if ($ViewFile_1 > $ViewFile_2 && $user['id'] == $inf['user'] || $ViewFile_2 > $ViewFile_1 && $user['id'] == $inf['who'])
{
$_SESSION['no_$user[id]'] = 'Противник еще не сделал выстрел!';
}
if (empty($_SESSION['no_$user[id]'])) {
// Отлов частых выстрелов
if (!isset($_SESSION['blow_time'])) $_SESSION['blow_time'] = 0;
if ($_SESSION['blow_time'] < time()) {
// Кто куда стрелял
if ($inf['user'] == $user['id']) {
$fire_1 = my_int($_POST['fire']);
$go_1 = my_int($_POST['go']);
$where = "`user_fire` = '$fire_1', `user_go` = '$go_1'";
}
if ($inf['who'] == $user['id']) {
$fire_2 = my_int($_POST['fire']);
$go_2 = my_int($_POST['go']);
$where = "`who_fire` = '$fire_2', `who_go` = '$go_2'";
}
// Запись кто куда стрелял
mysql_query("UPDATE `strike` SET $where WHERE `id` = '$b' LIMIT 1");
// Проверка кто куда стрелял
$itog = mysql_fetch_assoc(mysql_query("SELECT * FROM `strike` WHERE `id` = '$b' LIMIT 1"));
////////////////////////////////////////
// Сверение выстрелов соперника USER //
///////////////////////////////////////
// step 1
if ($itog['user_fire'] == 1 && $itog['who_go'] == 1) {
if (user_inf($itog['user'], 'pushka') != 0) {
// определяем силу выстрела (в соответствии наличия пушки)
$is_p = mysql_fetch_assoc(mysql_query("SELECT `strong`, `priority` FROM `shop`
WHERE `id` = '" . user_inf($itog['user'], 'pushka') . "'
AND `type` = 'pushka' LIMIT 1"));
$vystrel = $is_p['strong'];
// сбиваем пушку
if ($is_p['priority'] == 1 && user_inf($itog['who'], 'pushka') != 0) {
$rand = mt_rand(1, 50);
if ($rand == 10) {
mysql_query("UPDATE `users` SET `pushka` = '' WHERE `id` = '$itog[who]' LIMIT 1");
$_SESSION['no_weaponUS'] = '<span style="color:#FF0000;">Вы сбили пушку противнику!</span>';
$_SESSION['no_weaponWH'] = '<span style="color:#FF0000;">Противник сбил с вас пушку!</span>';
}
else $vystrel = $vystrel;
}
// сбиваем бронь
elseif ($is_p['priority'] == 2 && user_inf($itog['who'], 'bron') != 0) {
$rand = mt_rand(1, 50);
if ($rand == 10) {
mysql_query("UPDATE `users` SET `bron` = '' WHERE `id` = '$itog[who]' LIMIT 1");
$_SESSION['no_armourUS'] = '<span style="color:#FF0000;">Вы сбили броню противнику!</span>';
$_SESSION['no_armourWH'] = '<span style="color:#FF0000;">Противник сбил с вас броню!</span>';
}
else $vystrel = $vystrel;
}
// удваиваем мощность выстрела
elseif ($is_p['priority'] == 3) {
$rand = mt_rand(1, 50);
if ($rand == 10) {
$vystrel = $vystrel * 2;
$_SESSION['two_fireUS'] = '<span style="color:#FF0000;">Ваш выстрел удвоился!</span>';
$_SESSION['two_fireWH'] = '<span style="color:#FF0000;">Выстрел противника удвоился!</span>';
}
else $vystrel = $vystrel;
} else {
$vystrel = $vystrel;
}
} else {
// если нет пушки, мощность выстрела от 1 до 4 %
$vystrel = mt_rand(1, 4);
}
// минусовка hp (в соответствии наличия брони противника)
if (user_inf($itog['who'], 'bron') != 0) {
// информация о броне
$is_b = mysql_fetch_assoc(mysql_query("SELECT `strong` FROM `shop`
WHERE `id` = '" . user_inf($itog['who'], 'bron') . "'
AND `type` = 'bron' LIMIT 1"));
/*
if ($is_b['strong'] < $vystrel) {
$minus = $is_b['strong'] - $vystrel;
} elseif ($is_b['strong'] >= $vystrel) {
$minus = 0;
}
*/
$minus = minus($is_b['strong'], $vystrel);
} else {
$minus = $vystrel;
}
// отнимание жизней
$uron_1 = "`who_health` = `who_health` - '" . my_int($minus) . "'";
}
// step 2
elseif ($itog['user_fire'] == 2 && $itog['who_go'] == 2) {
// определяем силу выстрела (в соответствии наличия пушки)
if (user_inf($inf['user'], 'pushka') != 0) {
// информация о пушке
$is_p = mysql_fetch_assoc(mysql_query("SELECT `strong`, `priority` FROM `shop`
WHERE `id` = '" . user_inf($itog['user'], 'pushka') . "'
AND `type` = 'pushka' LIMIT 1"));
$vystrel = $is_p['strong'];
// сбиваем пушку
if ($is_p['priority'] == 1 && user_inf($itog['who'], 'pushka') != 0) {
$rand = mt_rand(1, 50);
if ($rand == 10) {
mysql_query("UPDATE `users` SET `pushka` = '' WHERE `id` = '$itog[who]' LIMIT 1");
$_SESSION['no_weaponUS'] = '<span style="color:#FF0000;">Вы сбили пушку противнику!</span>';
$_SESSION['no_weaponWH'] = '<span style="color:#FF0000;">Противник сбил с вас пушку!</span>';
}
else $vystrel = $vystrel;
}
// сбиваем бронь
if ($is_p['priority'] == 2 && user_inf($itog['who'], 'bron') != 0) {
$rand = mt_rand(1, 50);
if ($rand == 10) {
mysql_query("UPDATE `users` SET `bron` = '' WHERE `id` = '$itog[who]' LIMIT 1");
$_SESSION['no_armourUS'] = '<span style="color:#FF0000;">Вы сбили броню противнику!</span>';
$_SESSION['no_armourWH'] = '<span style="color:#FF0000;">Противник сбил с вас броню!</span>';
}
else $vystrel = $vystrel;
}
// удваиваем мощность выстрела
if ($is_p['priority'] == 3) {
$rand = mt_rand(1, 50);
if ($rand == 10) {
$vystrel = $vystrel * 2;
$_SESSION['two_fireUS'] = '<span style="color:#FF0000;">Ваш выстрел удвоился!</span>';
$_SESSION['two_fireWH'] = '<span style="color:#FF0000;">Выстрел противника удвоился!</span>';
}
else $vystrel = $vystrel;
} else {
$vystrel = $vystrel;
}
} else {
// если нет пушки, мощность выстрела от 1 до 4%
$vystrel = mt_rand(1, 4);
}
// минусовка hp (в соответствии наличия брони противника)
if (user_inf($inf['who'], 'bron') != 0) {
// информация о броне
$is_b = mysql_fetch_assoc(mysql_query("SELECT `strong` FROM `shop`
WHERE `id` = '" . user_inf($inf['who'], 'bron') . "'
AND `type` = 'bron' LIMIT 1"));
/*
if ($is_b['strong'] < $vystrel) {
$minus = $is_b['strong'] - $vystrel;
} elseif ($is_b['strong'] >= $vystrel) {
$minus = 0;
}
*/
$minus = minus($is_b['strong'], $vystrel);
} else {
$minus = $vystrel;
}
// отнимание жизней
$uron_1 = "`who_health` = `who_health` - '" . my_int($minus) . "'";
}
// step 3
elseif ($itog['user_fire'] == 3 && $itog['who_go'] == 3) {
if (user_inf($inf['user'], 'pushka') != 0) {
// определяем силу выстрела (в соответствии наличия пушки)
$is_p = mysql_fetch_assoc(mysql_query("SELECT `strong`, `priority` FROM `shop`
WHERE `id` = '" . user_inf($itog['user'], 'pushka') . "'
AND `type` = 'pushka' LIMIT 1"));
$vystrel = $is_p['strong'];
// сбиваем пушку
if ($is_p['priority'] == 1 && user_inf($itog['who'], 'pushka') != 0) {
$rand = mt_rand(1, 50);
if ($rand == 10) {
mysql_query("UPDATE `users` SET `pushka` = '' WHERE `id` = '$itog[who]' LIMIT 1");
$_SESSION['no_weaponUS'] = '<span style="color:#FF0000;">Вы сбили пушку противнику!</span>';
$_SESSION['no_weaponWH'] = '<span style="color:#FF0000;">Противник сбил с вас пушку!</span>';
}
else $vystrel = $vystrel;
}
// сбиваем бронь
if ($is_p['priority'] == 2 && user_inf($itog['who'], 'bron') != 0) {
$rand = mt_rand(1, 50);
if ($rand == 10) {
mysql_query("UPDATE `users` SET `bron` = '' WHERE `id` = '$itog[who]' LIMIT 1");
$_SESSION['no_armourUS'] = '<span style="color:#FF0000;">Вы сбили броню противнику!</span>';
$_SESSION['no_armourWH'] = '<span style="color:#FF0000;">Противник сбил с вас броню!</span>';
}
else $vystrel = $vystrel;
}
// удваиваем мощность выстрела
if ($is_p['priority'] == 3) {
$rand = mt_rand(1, 50);
if ($rand == 10) {
$vystrel = $vystrel * 2;
$_SESSION['two_fireUS'] = '<span style="color:#FF0000;">Ваш выстрел удвоился!</span>';
$_SESSION['two_fireWH'] = '<span style="color:#FF0000;">Выстрел противника удвоился!</span>';
}
else $vystrel = $vystrel;
} else {
$vystrel = $vystrel;
}
} else {
// если нет пушки, мощность выстрела от 1 до 4 %
$vystrel = mt_rand(1, 4);
}
// минусовка Hp (в соответствии наличия брони противника)
if (user_inf($itog['who'], 'bron') != 0) {
// информация о броне
$is_b = mysql_fetch_assoc(mysql_query("SELECT `strong` FROM `shop`
WHERE `id` = '" . user_inf($itog['who'], 'bron') . "'
AND `type` = 'bron' LIMIT 1"));
/*
if ($is_b['strong'] < $vystrel) {
$minus = $is_b['strong'] - $vystrel;
} elseif ($is_b['strong'] >= $vystrel) {
$minus = 0;
}
*/
$minus = minus($is_b['strong'], $vystrel);
} else {
$minus = $vystrel;
}
// отнимание жизней
$uron_1 = "`who_health` = `who_health` - '" . my_int($minus) . "'";
} else {
$uron_1 = '';
}
// запись времени для тайм-аута
if ($user['id'] == $inf['user']) {
$time_bat = ", `out_time_user` = '" . (time() + 200) . "'";
} elseif ($user['id'] == $inf['who']) {
$time_bat = ", `out_time_who` = '" . (time() + 200) . "'";
}
////////////////////////////////////////////////////
// Сверение выстрелов = отклонений соперника WHO //
///////////////////////////////////////////////////
// step 1
if ($itog['who_fire'] == 1 && $itog['user_go'] == 1) {
// определяем силу выстрела (в соответствии наличия пушки)
if (user_inf($inf['who'], 'pushka') != 0) {
// информация о пушке
$is_p = mysql_fetch_assoc(mysql_query("SELECT `strong`, `priority` FROM `shop`
WHERE `id` = '" . user_inf($itog['who'], 'pushka') . "'
AND `type` = 'pushka' LIMIT 1"));
$vystrel = $is_p['strong'];
// сбиваем пушку
if ($is_p['priority'] == 1 && user_inf($itog['user'], 'pushka') != 0) {
$rand = mt_rand(1, 50);
if ($rand == 10) {
mysql_query("UPDATE `users` SET `pushka` = '' WHERE `id` = '$itog[user]' LIMIT 1");
$_SESSION['no_weaponWH'] = '<span style="color:#FF0000;">Вы сбили пушку противнику!</span>';
$_SESSION['no_weaponUS'] = '<span style="color:#FF0000;">Противник сбил с вас пушку!</span>';
}
else $vystrel = $vystrel;
}
// сбиваем бронь
elseif ($is_p['priority'] == 2 && user_inf($itog['user'], 'bron') != 0) {
$rand = mt_rand(1, 50);
if ($rand == 10) {
mysql_query("UPDATE `users` SET `bron` = '' WHERE `id` = '$itog[user]' LIMIT 1");
$_SESSION['no_armourWH'] = '<span style="color:#FF0000;">Вы сбили броню противнику!</span>';
$_SESSION['no_armourUS'] = '<span style="color:#FF0000;">Противник сбил с вас броню!</span>';
}
else $vystrel = $vystrel;
}
// удваиваем мощность выстрела
elseif ($is_p['priority'] == 3) {
$rand = mt_rand(1, 50);
if ($rand == 10) {
$vystrel = $vystrel * 2;
$_SESSION['two_fireWH'] = '<span style="color:#FF0000;">Ваш выстрел удвоился!</span>';
$_SESSION['two_fireUS'] = '<span style="color:#FF0000;">Выстрел противника удвоился!</span>';
}
else $vystrel = $vystrel;
} else {
$vystrel = $vystrel;
}
} else {
// если нет пушки, мощность выстрела от 1 до 4%
$vystrel = mt_rand(1, 4);
}
// минусовка Hp (в соответствии наличия брони противника)
if (user_inf($inf['user'], 'bron') != 0) {
// информация о броне
$is_b = mysql_fetch_assoc(mysql_query("SELECT `strong` FROM `shop`
WHERE `id` = '" . user_inf($inf['user'], 'bron') . "'
AND `type` = 'bron' LIMIT 1"));
/*
if ($is_b['strong'] < $vystrel) {
$minus = $is_b['strong'] - $vystrel;
} elseif ($is_b['strong'] >= $vystrel) {
$minus = 0;
}
*/
$minus = minus($is_b['strong'], $vystrel);
} else {
$minus = $vystrel;
}
// отнимание жизней
$uron_2 = ", `user_health` = `user_health` - '" . my_int($minus) . "'";
}
// step 2
elseif ($itog['who_fire'] == 2 && $itog['user_go'] == 2) {
// определяем силу выстрела (в соответствии наличия пушки)
if (user_inf($inf['who'], 'pushka') != 0) {
// информация о пушке
$is_p = mysql_fetch_assoc(mysql_query("SELECT `strong`, `priority` FROM `shop`
WHERE `id` = '" . user_inf($itog['who'], 'pushka') . "'
AND `type` = 'pushka' LIMIT 1"));
$vystrel = $is_p['strong'];
// сбиваем пушку
if ($is_p['priority'] == 1 && user_inf($itog['user'], 'pushka') != 0) {
$rand = mt_rand(1, 50);
if ($rand == 10) {
mysql_query("UPDATE `users` SET `pushka` = '' WHERE `id` = '$itog[user]' LIMIT 1");
$_SESSION['no_weaponWH'] = '<span style="color:#FF0000;">Вы сбили пушку противнику!</span>';
$_SESSION['no_weaponUS'] = '<span style="color:#FF0000;">Противник сбил с вас пушку!</span>';
}
else $vystrel = $vystrel;
}
// сбиваем бронь
if ($is_p['priority'] == 2 && user_inf($itog['user'], 'bron') != 0) {
$rand = mt_rand(1, 50);
if ($rand == 10) {
mysql_query("UPDATE `users` SET `bron` = '' WHERE `id` = '$itog[user]' LIMIT 1");
$_SESSION['no_armourWH'] = '<span style="color:#FF0000;">Вы сбили броню противнику!</span>';
$_SESSION['no_armourUS'] = '<span style="color:#FF0000;">Противник сбил с вас броню!</span>';
}
else $vystrel = $vystrel;
}
// удваиваем мощность выстрела
if ($is_p['priority'] == 3) {
$rand = mt_rand(1, 50);
if ($rand == 10) {
$vystrel = $vystrel * 2;
$_SESSION['two_fireWH'] = '<span style="color:#FF0000;">Ваш выстрел удвоился!</span>';
$_SESSION['two_fireUS'] = '<span style="color:#FF0000;">Выстрел противника удвоился!</span>';
}
else $vystrel = $vystrel;
} else {
$vystrel = $vystrel;
}
} else {
// если нет пушки, мощность выстрела от 1 до 4%
$vystrel = mt_rand(1, 4);
}
// минусовка Hp (в соответствии наличия брони противника)
if (user_inf($inf['user'], 'bron') != 0) {
// информация о броне
$is_b = mysql_fetch_assoc(mysql_query("SELECT `strong` FROM `shop`
WHERE `id` = '" . user_inf($inf['user'], 'bron') . "'
AND `type` = 'bron' LIMIT 1"));
/*
if ($is_b['strong'] < $vystrel) {
$minus = $is_b['strong'] - $vystrel;
} elseif ($is_b['strong'] >= $vystrel) {
$minus = 0;
}
*/
$minus = minus($is_b['strong'], $vystrel);
} else {
$minus = $vystrel;
}
// отнимание жизней
$uron_2 = ", `user_health` = `user_health` - '" . my_int($minus) . "'";
}
// step 3
elseif ($itog['who_fire'] == 3 && $itog['user_go'] == 3) {
// определяем силу выстрела (в соответствии наличия пушки)
if (user_inf($inf['who'], 'pushka') != 0) {
// информация о пушке
$is_p = mysql_fetch_assoc(mysql_query("SELECT `strong`, `priority` FROM `shop`
WHERE `id` = '" . user_inf($itog['who'], 'pushka') . "'
AND `type` = 'pushka' LIMIT 1"));
$vystrel = $is_p['strong'];
// сбиваем пушку
if ($is_p['priority'] == 1 && user_inf($itog['user'], 'pushka') != 0) {
$rand = mt_rand(1, 50);
if ($rand == 10) {
mysql_query("UPDATE `users` SET `pushka` = '' WHERE `id` = '$itog[user]' LIMIT 1");
$_SESSION['no_weaponWH'] = '<span style="color:#FF0000;">Вы сбили пушку противнику!</span>';
$_SESSION['no_weaponUS'] = '<span style="color:#FF0000;">Противник сбил с вас пушку!</span>';
}
else $vystrel = $vystrel;
}
// сбиваем бронь
if ($is_p['priority'] == 2 && user_inf($itog['user'], 'bron') != 0) {
$rand = mt_rand(1, 50);
if ($rand == 10) {
mysql_query("UPDATE `users` SET `bron` = '' WHERE `id` = '$itog[user]' LIMIT 1");
$_SESSION['no_armourWH'] = '<span style="color:#FF0000;">Вы сбили броню противнику!</span>';
$_SESSION['no_armourUS'] = '<span style="color:#FF0000;">Противник сбил с вас броню!</span>';
}
else $vystrel = $vystrel;
}
// удваиваем мощность выстрела
if ($is_p['priority'] == 3) {
$rand = mt_rand(1, 50);
if ($rand == 10) {
$vystrel = $vystrel * 2;
$_SESSION['two_fireWH'] = '<span style="color:#FF0000;">Ваш выстрел удвоился!</span>';
$_SESSION['two_fireUS'] = '<span style="color:#FF0000;">Выстрел противника удвоился!</span>';
}
else $vystrel = $vystrel;
} else {
$vystrel = $vystrel;
}
} else {
// если нет пушки, мощность выстрела от 1 до 4%
$vystrel = mt_rand(1, 4);
}
// минусовка Hp (в соответствии наличия брони противника)
if (user_inf($inf['user'], 'bron') != 0) {
// информация о броне
$is_b = mysql_fetch_assoc(mysql_query("SELECT `strong` FROM `shop`
WHERE `id` = '" . user_inf($inf['user'], 'bron') . "'
AND `type` = 'bron' LIMIT 1"));
/*
if ($is_b['strong'] < $vystrel) {
$minus = $is_b['strong'] - $vystrel;
} elseif ($is_b['strong'] >= $vystrel) {
$minus = 0;
}
*/
$minus = minus($is_b['strong'], $vystrel);
} else {
$minus = $vystrel;
}
// отнимание жизней
$uron_2 = ", `user_health` = `user_health` - '" . my_int($minus) . "'";
} else {
$uron_2 = '';
}
// Минусование HP
mysql_query("UPDATE `strike` SET $uron_1 $uron_2 $time_bat WHERE `id` = '$b' LIMIT 1");
######
$file = 'strike/fire_' . $user['id'] . '.dat';
if (is_file($file)) {
$open = file_get_contents($file);
file_put_contents($file, ($open + 1));
chmod($file, 0666);
} else {
file_put_contents($file, 1);
chmod($file, 0666);
}
######
header('Location: strike.php?do=battle&b=' . $b);
} else {
err('Стрелять можно не чаще, чем раз в 5 сек!');
}
} else {
err($_SESSION['no_$user[id]']);
unset($_SESSION['no_$user[id]']);
}
$_SESSION['blow_time'] = time() + 5;
}
// Собираем информацию о ходах...
// юз 1
if ($user['id'] == $inf['who']) {
if ($inf['user_fire'] == 1 && $inf['user_go'] == 1) {
$hod = 'Противник стрелял прямо и остался на месте.';
}
if ($inf['user_fire'] == 2 && $inf['user_go'] == 2) {
$hod = 'Противник стрелял вправо и отошел вправо.';
}
if ($inf['user_fire'] == 3 && $inf['user_go'] == 3) {
$hod = 'Противник стрелял влево и отошел влево.';
}
if ($inf['user_fire'] == 1 && $inf['user_go'] == 2) {
$hod = 'Противник стрелял прямо и отошел вправо.';
}
if ($inf['user_fire'] == 1 && $inf['user_go'] == 3) {
$hod = 'Противник стрелял прямо и отошел влево.';
}
if ($inf['user_fire'] == 2 && $inf['user_go'] == 1) {
$hod = 'Противник стрелял вправо и остался на месте.';
}
if ($inf['user_fire'] == 2 && $inf['user_go'] == 3) {
$hod = 'Противник стрелял вправо и отошел влево.';
}
if ($inf['user_fire'] == 3 && $inf['user_go'] == 1) {
$hod = 'Противник стрелял влево и остался на месте.';
}
if ($inf['user_fire'] == 3 && $inf['user_go'] == 2) {
$hod = 'Противник стрелял влево и отошел вправо.';
}
}
if ($user['id'] == $inf['user']) {
// юз 2
if ($inf['who_fire'] == 1 && $inf['who_go'] == 1) {
$hod = 'Противник стрелял прямо и остался на месте.';
}
if ($inf['who_fire'] == 2 && $inf['who_go'] == 2) {
$hod = 'Противник стрелял вправо и отошел вправо.';
}
if ($inf['who_fire'] == 3 && $inf['who_go'] == 3) {
$hod = 'Противник стрелял влево и отошел влево.';
}
if ($inf['who_fire'] == 1 && $inf['who_go'] == 2) {
$hod = 'Противник стрелял прямо и отошел вправо.';
}
if ($inf['who_fire'] == 1 && $inf['who_go'] == 3) {
$hod = 'Противник стрелял прямо и отошел влево.';
}
if ($inf['who_fire'] == 2 && $inf['who_go'] == 1) {
$hod = 'Противник стрелял вправо и остался на месте.';
}
if ($inf['who_fire'] == 2 && $inf['who_go'] == 3) {
$hod = 'Противник стрелял вправо и отошел влево.';
}
if ($inf['who_fire'] == 3 && $inf['who_go'] == 1) {
$hod = 'Противник стрелял влево и остался на месте.';
}
if ($inf['who_fire'] == 3 && $inf['who_go'] == 2) {
$hod = 'Противник стрелял влево и отошел вправо.';
}
}
// Ник соперника
$who = ($inf['user'] == $user['id']) ? 'Бой с ' . us($inf['who']) : 'Бой с ' . us($inf['user']);
// Вывод HP
$health = ($inf['user'] == $user['id'])
?
'Мои HP: ' . $inf['user_health'] . '%<br/>HP соперника: ' . $inf['who_health'] . '%'
:
'Мои HP: ' . $inf['who_health'] . '%<br/>HP соперника: ' . $inf['user_health'] . '%';
if ($inf['user'] == $user['id'] && !empty($inf['out_time_who'])) {
$timeVystrel = 'Время на выстрел противника: ' . ($inf['out_time_who'] - time() + 100) . 'сек' . $block;
} elseif ($inf['who'] == $user['id'] && !empty($inf['out_time_user'])) {
$timeVystrel = 'Время на выстрел противника: ' . ($inf['out_time_user'] - time() + 100) . 'сек' . $block;
}
// Отображение аммуниции противника
if ($inf['who'] == $user['id']) {
if (user_inf($inf['user'], 'bron') != 0) {
$B = mysql_fetch_array(mysql_query("SELECT `path`, `strong`
FROM `shop` WHERE `id` = '" . user_inf($inf['user'], 'bron') . "'
AND `type` = 'bron'
LIMIT 1"));
$s1 = '<br/><img src="../resize.php?img='.$B[0].'&width=40&height=0" alt=""/><br/>
Защита: ' . $B[1] . '%';
}
else $s1 = '<br/><span style="color: #FF0000;">Броня отсутствует</span>';
if (user_inf($inf['user'], 'pushka') != 0) {
$P = mysql_fetch_array(mysql_query("SELECT `path`, `strong`
FROM `shop` WHERE `id` = '" . user_inf($inf['user'], 'pushka') . "'
AND `type` = 'pushka'
LIMIT 1"));
$s2 = '<br/><img src="../resize.php?img='.$P[0].'&width=45&height=0" alt=""/><br/>
Урон: ' . $P[1] . '%';
}
else $s2 = '<br/><span style="color: #FF0000;">Оружие отсутствует</span>';
}
if ($inf['user'] == $user['id']) {
if (user_inf($inf['who'], 'bron') != 0) {
$B = mysql_fetch_array(mysql_query("SELECT `path`, `strong`
FROM `shop` WHERE `id` = '" . user_inf($inf['who'], 'bron') . "'
AND `type` = 'bron'
LIMIT 1"));
$s1 = '<br/><img src="../resize.php?img='.$B[0].'&width=40&height=0" alt=""/><br/>
Защита: ' . $B[1] . '%';
}
else $s1 = '<br/><span style="color: #FF0000;">Броня отсутствует</span>';
if (user_inf($inf['who'], 'pushka') != 0) {
$P = mysql_fetch_array(mysql_query("SELECT `path`, `strong`
FROM `shop` WHERE `id` = '" . user_inf($inf['who'], 'pushka') . "'
AND `type` = 'pushka'
LIMIT 1"));
$s2 = '<br/><img src="../resize.php?img='.$P[0].'&width=45&height=0" alt=""/><br/>
Урон: ' . $P[1] . '%';
}
else $s2 = '<br/><span style="color: #FF0000;">Оружие отсутствует</span>';
}
if (isset($_GET['lists'])) {
$llink = '<a href="strike.php?do=battle&b='.$b.'&nolists">[Инфо]</a>';
$vyvod = $s1 . $s2;
} elseif (!isset($_GET['lists'])) {
$llink = '<a href="strike.php?do=battle&b='.$b.'&lists">[Инфо]</a>';
}
//------------------------------------------------------------------------//
// Показ "бонусных" выстрелов
if ($inf['user'] == $user['id'] && isset($_SESSION['no_weaponUS'])) {
$bonus = $block . $_SESSION['no_weaponUS'];
}
if ($inf['user'] == $user['id'] && isset($_SESSION['no_armourUS'])) {
$bonus = $block . $_SESSION['no_armourUS'];
}
if ($inf['user'] == $user['id'] && isset($_SESSION['two_fireUS'])) {
$bonus = $block . $_SESSION['two_fireUS'];
}
// Показ "бонусных" выстрелов
if ($inf['who'] == $user['id'] && isset($_SESSION['no_weaponWH'])) {
$bonus = $block . $_SESSION['no_weaponWH'];
}
if ($inf['who'] == $user['id'] && isset($_SESSION['no_armourWH'])) {
$bonus = $block . $_SESSION['no_armourWH'];
}
if ($inf['who'] == $user['id'] && isset($_SESSION['two_fireWH'])) {
$bonus = $block . $_SESSION['two_fireWH'];
}
//------------------------------------------------------------------------//
echo $who . '<br/>' . $health . $block . $timeVystrel . $hod . $bonus . $block . $llink . $vyvod . '
<fieldset>
<FORM method="POST" action="strike.php?do=battle">
Целимся:
<br/>
<select name="fire">
<option value="1">Прямо</option>
<option value="2">Вправо</option>
<option value="3">Влево</option>
</select>
<br/>
Движемся:
<br/>
<select name="go">
<option value="1">На месте</option>
<option value="2">Вправо</option>
<option value="3">Влево</option>
</select>
<br/>
<input type="hidden" name="b" value="'.$b.'"/>
<input type="submit" name="ok" value="Выстрел"/>
</FORM>
</fieldset>';
unset($_SESSION['no_weaponUS']);
unset($_SESSION['no_armourUS']);
unset($_SESSION['two_fireUS']);
unset($_SESSION['no_weaponWH']);
unset($_SESSION['no_armourWH']);
unset($_SESSION['two_fireWH']);
}
break;
/*
* Вывод результата последнего боя
*/
case result:
if (file_exists('strike/log_' . $user['id'] . '.dat')) {
echo file_get_contents('strike/log_' . $user['id'] . '.dat');
echo '<br/>« <a href="strike.php?'.$ref.'">Противостояние</a>';
} else {
err('Такого боя не существует или этот бой не Ваш!');
header('refresh:1;url=index.php?' . $ref);
}
break;
/*
* Принять вызов
*/
case yes:
$b = my_int($_GET['b']);
$sql = mysql_query("SELECT * FROM `strike` WHERE `id` = '$b' AND `user` = '$user[id]' OR `who` = '$user[id]' LIMIT 1");
if (mysql_num_rows($sql) == FALSE) {
err('Такого боя не существует или этот бой не Ваш!');
header('refresh:1;url=index.php?' . $ref);
} else {
$inf = mysql_fetch_assoc($sql);
mysql_query("UPDATE `strike` SET `set` = '0', `out_time_who` = '" . (time() + 100) . "' WHERE `id` = '$inf[id]' LIMIT 1");
header('Location: strike.php?do=battle&b=' . $inf['id']);
}
break;
/*
* Отказатся от вызова
*/
case no:
$b = my_int($_GET['b']);
$sql = mysql_query("SELECT * FROM `strike` WHERE `id` = '$b' AND `user` = '$user[id]' OR `who` = '$user[id]' LIMIT 1");
if (mysql_num_rows($sql) == FALSE) {
err('Такого боя не существует или этот бой не Ваш!');
} else {
$inf = mysql_fetch_assoc($sql);
mysql_query("UPDATE `strike` SET `set` = '3' WHERE `id` = '$inf[id]' LIMIT 1");
msg('Заявка была отклонена!');
header('refresh:1;url=index.php?' . $ref);
}
break;
}
echo $div_end;
include '../foot.php';
?>