Файл: modules/arena/index.php
Строк: 332
<?PHP
require_once '../../core/system.php';
echo only_reg();
$header = 'Арена';
$header_link = '?';
require_once H.'/core/head.php';
switch($act)
{
default:
# Перенаправляем на арену
send_to_battle(1);
if(!$_REQUEST['us'])
{
echo'<div class="title">';
echo'Кого желаете вызвать на поединок? <br />';
echo'</div>';
echo'<form method="POST" action="?" name="auth">';
echo'  ID Пользователя: <br />';
echo'  <input type="text" name="us"/><br/>';
echo'  <input type="submit" class="ibutton" value="Выполнить!" name="enter"><br/>';
echo'</form>';
}
else
{
$id_us = (int)$_REQUEST['us'];
if(login($id_us) != '[Удален]')
{
if(!mysql_result(mysql_query("SELECT COUNT(*) FROM `arena` WHERE ((`us1`='".(int)$user['id']."' AND `us2`='".(int)$id_us."') OR (`us1`='".(int)$id_us."' AND `us2`='".(int)$user['id']."')) AND `activ1`='1' AND `time` > ".(time() - 300)." AND `win`='0'"),0))
{
$id_batt = time()+$id_us+$user['id'];
mysql_query("INSERT INTO `arena` SET `us1`='".$user['id']."', `us2`='".(int)$id_us."', `id_battle`='".$id_batt."', `time`='".(time()+300)."', `activ1`='1', `type`='us'");
echo'Вызов на поединок играку '.login($id_us).' отправлен! <br /> Если <strong>'.login_light($id_us).'</strong> в течении 5 мин примет Ваш вызов, Вы будете автоматически перенаправленны на арену! <br />';
# Отправка сообщения
$content = 'Я вызываю Вас на поединок на арене! <br /> | <a href="/modules/arena/?act=battle_no&us='.(int)$user['id'].'&id_batt='.$id_batt.'"><button>Отказать!</button></a>';
mail_go($id_us, $content);
}
else
{
echo'Игрок '.login($id_us).' ожидает, или участвует в поединке! <br /> Повторите запрос позже.';
}
}
else
{
echo'Пользователя которого Вы желаете вызвать на поединок, не существует! <br />Проверьте корректность вводимых данных!';
}
}
break;
# Принимает бой
case 'battle_yes':
# Перенаправляем на арену
send_to_battle(1);
if(!mysql_result(mysql_query("SELECT COUNT(*) FROM `arena` WHERE ((`us1`='".(int)$user['id']."' AND `us2`='".(int)$_GET['us']."') OR (`us1`='".(int)$_GET['us']."' AND `us2`='".(int)$user['id']."')) AND `activ1`='1' AND `activ2`='0' AND `time` > ".(time() - 300)." AND `win`='0' AND `id_battle`='".(int)$_GET['id_batt']."'"),0))
{
echo'Данный поединок не может состоятся! Его не существует, или прошло более 5мин со времени подачи заявки!';
}
else
{
mysql_query ("UPDATE `arena` SET `activ2`='1', `hod`='".(int)$user['id']."', `time`=".(time()+300)." WHERE `id_battle`='".(int)$_GET['id_batt']."'");
echo'Заявка на участие в поединке принята! <br /> Сейчас Вы будете перенаправлены на <a href=""><button>арену</button></a>!';
# отправляем уведомление
$content = 'Я принял Ваш вызов на поединок и уже ожидаю на арене!';
mail_go($_GET['us'], $content);
$mess = 'Поединок начался! <br /> Пускай победит сильнейший!';
mysql_query("INSERT INTO `arena_mess` SET `mess`='".$mess."', `id_battle`='".(int)$_GET['id_batt']."'");
}
break;
# не принимает бой
case 'battle_no':
# Перенаправляем на арену
send_to_battle(1);
if(!mysql_result(mysql_query("SELECT COUNT(*) FROM `arena` WHERE ((`us1`='".(int)$user['id']."' AND `us2`='".(int)$_GET['us']."') OR (`us1`='".(int)$_GET['us']."' AND `us2`='".(int)$user['id']."')) AND `activ1`='1' AND `activ2`='0' AND `time` > ".(time() - 300)." AND `win`='0' AND `id_battle`='".(int)$_GET['id_batt']."'"),0))
{
echo'Данный поединок не может состоятся! Его не существует, или прошло более 5мин со времени подачи заявки!';
}
else
{
mysql_query ("DELETE FROM `arena` WHERE `id_battle`='".(int)$_GET['id_batt']."'");
echo'Заявка на участие в поединке отклонена! <br /> Играку '.login($_GET['us']).' отправлено уведомление!';
# отправляем уведомление
$content = 'Извините, но в данный момент я отказываюсь от поединка!';
mail_go($_GET['us'], $content);
}
break;
# Интерфейс боя
case 'play':
$batt = mysql_fetch_array(mysql_query("SELECT * FROM `arena` WHERE ((`us1`='".(int)$user['id']."' AND `us2`='".(int)$_GET['us']."') OR (`us1`='".(int)$_GET['us']."' AND `us2`='".(int)$user['id']."')) AND `id_battle`='".(int)$_GET['id_batt']."'"));
#начисляем победу в случае не выполнения хода
if($batt['id'] && !$batt['win'] && $batt['time'] - time() <= 0)
{
if($batt['hod'] == $user['id']) $win = $_GET['us']; else $win = $user['id'];
mysql_query ("UPDATE `arena` SET `win`='".$win."' WHERE `id_battle`='".(int)$_GET['id_batt']."'");
if($win == $user['id'])
{
$content = 'Вам было защитано поражение в поединке с '.login($user['id'], 1).', в связи с тем что соперник не выполнил ответный ход!';
mail_go($_GET['us'], $content, 1);
$content = 'Вам была защитана победа в поединке с '.login($_GET['us'], 0).', в связи с тем что соперник не выполнил ответный ход!';
mail_go($user['id'], $content, 1);
}
else
{
$content = 'Вам было защитано поражение в поединке с '.login($_GET['us'], 0).', в связи с тем что соперник не выполнил ответный ход!';
mail_go($user['id'], $content, 1);
$content = 'Вам была защитана победа в поединке с '.login($user['id'], 1).', в связи с тем что соперник не выполнил ответный ход!';
mail_go($_GET['us'], $content, 1);
}
}
# Время до окончания поединка
$un_time = $batt['time'] - time();
if($_GET['us'] == $user['id'])
{
echo'Не тупи!';
}
else
if(login($_GET['us']) == '[Удален]')
{
echo'Пользователя с которым запрашивается поединок не существует!';
}
else
if(!mysql_result(mysql_query("SELECT COUNT(*) FROM `arena` WHERE ((`us1`='".(int)$user['id']."' AND `us2`='".(int)$_GET['us']."') OR (`us1`='".(int)$_GET['us']."' AND `us2`='".(int)$user['id']."')) AND `activ1`='1' AND `activ2`='1' AND `time` > ".(time() - 300)." AND `id_battle`='".(int)$_GET['id_batt']."'"),0))
{
echo'Ваш поединок с играком '.login($_GET['us']).' не может в данный момент состоятся! Попробуйте бросить вызов сново!';
}
else
{
// Выводим информацию об окончании боя
if(!$batt['win'])
{
echo'<div class="listing-information" style="text-align: left;">';
echo'<div class="title"><strong><u><small>Поединок автоматически закончится через '.time_autoformat($un_time).' </small></u></strong></div>';
if($batt['hod'] == $user['id'])
{
echo'<font color="red"><strong>Сейчас Ваш ход!</strong></font> <br />';
echo'<small>Если Вы не выполните ход до окончания времени поединка, победа автоматически будет присвоена сопернику!</small>';
}
else
{
echo'<font color="green"><strong>Сейчас ход соперника!</strong></font> <br />';
echo'<small>Если '.login($_GET['us'], 0).' не выполнит ход до окончания времени поединка, победа автоматически будет присвоена Вам!</small>';
}
echo'</div>';
}
// Выводим информацию (чат)
echo'<div class="listing-information" style="text-align: left;">';
$print = mysql_query("select * from `arena_mess` WHERE `id_battle`='".(int)$_GET['id_batt']."' AND (`us`='".$user['id']."' OR `us`='0') ORDER BY `id` DESC LIMIT 3");
if (mysql_affected_rows() != 0)
{
while($arr = mysql_fetch_array($print))
{
echo'<img src="/images/me4.png" height="16" alt="*"> ';
echo ' <small> '.$arr['mess'].' </small> <br />';
}
}
echo'</div>';
// Левое меню
echo'<div style="float: left;" class="height_menu">';
echo'<a href="?act=play&us='.(int)$_GET['us'].'&id_batt='.(int)$_GET['id_batt'].'">';
echo'<img src="/images/umen.jpg" title="Умения" alt="*">';
echo'</a>';
echo'<a href="?act=play&us='.(int)$_GET['us'].'&type=1&id_batt='.(int)$_GET['id_batt'].'">';
echo'<img src="/images/le4enie.png" title="Лечение" alt="*">';
echo'</a>';
echo'<a href="?act=play&us='.(int)$_GET['us'].'&type=2&id_batt='.(int)$_GET['id_batt'].'">';
echo'<img src="/images/atak.png" title="Атака" alt="*">';
echo'</a>';
echo'<a href="?act=play&us='.(int)$_GET['us'].'&type=3&id_batt='.(int)$_GET['id_batt'].'">';
echo'<img src="/images/ezntrop.png" title="Эзонтропия" alt="*">';
echo'</a>';
echo'</div>';
// Инфо противника
$ank = mysql_fetch_array(mysql_query("Select * from `user` WHERE id='".(int)$_GET['us']."'"));
?>
<div class="listing-information">
<span class="yellow1 bold">
<img width="14" src="/images/guild/<?=$ank[rasa]?>.png">
<?=$ank[nick]?> [<?=$ank[level]?> уровень]<br />
<?=$ank[access_name]?>
</span>
<br/>
<table align="center">
<tr>
<td></td>
<td>
<? echo show_dospehi(1, $ank['id']); ?>
</td>
<td>
<? echo show_dospehi(4, $ank['id']); ?>
</td>
<td></td>
</tr>
<tr>
<td>
<? echo show_oruzhie('l', $ank['id']); ?>
</td>
<td colspan="2" rowspan="2" align="center">
<img width="90" src="/images/pol/<?=$ank['pol']?>.png">
<br />
<? echo show_dospehi(2, $ank['id']); ?>
</td>
<td>
<? echo show_oruzhie('r', $ank['id']); ?>
</td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td>
<? echo show_dospehi(5, $ank['id']); ?>
</td>
<td>
<? echo show_dospehi(3, $ank['id']); ?>
</td>
<td></td>
</tr>
</table>
<div align="left" style="margin-left: 30px;">
<img src="/images/strlen.png"> <span class="white">Здоровье: </span><span class="yellow1"><?=$ank[max_health]?> (<?=$ank[health]?>)</span>
<br/>
<img src="/images/strlen.png"> <span class="white">Мана: </span><span class="yellow1"><?=$ank[max_mana]?> (<?=$ank[mana]?>)</span>
<br/>
<img src="/images/strlen.png"> <span class="white">Магия: </span><span class="yellow1"><?=$ank[magic]?></span>
<br/>
<img src="/images/strlen.png"> <span class="white">Сила: </span><span class="yellow1"><?=$ank[sila]?></span>
<br/>
<img src="/images/heatpoints.png"> <span class="white">Ловкость: </span><span class="yellow1"><?=$ank[lovk]?></span>
<br/>
<img src="/images/protection.png"> <span class="white">Защита: </span><span class="yellow1"><?=($ank['zashit']+mysql_result(mysql_query("SELECT SUM(`zashit`) FROM `dospehi` INNER JOIN `dospehi_us` ON `dospehi_us`.`um` = `dospehi`.`id` AND `dospehi_us`.`us` = '".(int)$ank['id']."' AND `dospehi_us`.`activ` = '1'"),0));?></span>
</div>
</div>
<?PHP
if(!$batt['win'])
{
if($batt['hod'] == $user['id'])
{
// Горизонтальное меню
echo'<div class="listing-information">';
echo arena_menu();
echo'</div>';
// Кнопки
echo'<div class="mb5" style="clear: both;">';
echo'Нанести удар';
echo'<div class="hr p5"></div>';
$or_l = mysql_result(mysql_query("SELECT COUNT(*) FROM `oruzhie_us` WHERE `us`='".$user['id']."' AND `activ`='l'"),0);
$or_r = mysql_result(mysql_query("SELECT COUNT(*) FROM `oruzhie_us` WHERE `us`='".$user['id']."' AND `activ`='r'"),0);
if($or_l || $or_r)
{
if($or_l)
echo'<a class="button w45" href="?act=atak&ruka=l&us='.$_GET['us'].'&id_batt='.$_GET['id_batt'].'">Оружием в левой руке</a>';
if($or_r)
echo'<a class="button w45" href="?act=atak&ruka=r&us='.$_GET['us'].'&id_batt='.$_GET['id_batt'].'">Оружием в правой руке</a>';
}
else
echo'Для нанесения ударов ручным оружием, необходимо взять оружие, предварительно купив в магазине!';
echo'</div>';
}
echo'<div class="mb5">';
echo'<a class="button w45" href="?act=stop_battle&us='.$_GET['us'].'&id_batt='.$_GET['id_batt'].'"> Закончить бой</a>';
echo'</div>';
}
}
break;
# Атака
case 'atak':
$arena_arr = mysql_fetch_array(mysql_query("SELECT * FROM `arena` WHERE ((`us1`='".(int)$user['id']."' AND `us2`='".(int)$_GET['us']."') OR (`us1`='".(int)$_GET['us']."' AND `us2`='".(int)$user['id']."')) AND `activ1`='1' AND `activ2`='1' AND `time` > ".(time() - 300)." AND `win`='0' AND `id_battle`='".(int)$_GET['id_batt']."'"));
if(!$arena_arr['id'])
{
echo'Данный поединок закончен, или не существует!';
}
else
if($arena_arr['hod'] != $user['id'])
{
$mess = 'Сейчас ход соперника!';
mysql_query("INSERT INTO `arena_mess` SET `mess`='".$mess."', `id_battle`='".(int)$_GET['id_batt']."', `us`='".$user['id']."'");
header('location:'.$_SERVER['HTTP_REFERER']);
}
else
{
mysql_query ("UPDATE `arena` SET `time`=".(time()+300).", `hod`='".(int)$_GET['us']."' WHERE `id_battle`='".(int)$_GET['id_batt']."'");
# Эзонтропию проверяем
if($user['id'] != $arena_arr['us1'])
{
$ez_k = mysql_result(mysql_query("SELECT `ezontrop_us2` FROM `arena` WHERE `id_battle`='".(int)$_GET['id_batt']."'"),0);
if($ez_k)
{
if($ez_k < 2) $us_h = (int)$_GET['us']; else $us_h = $user['id'];
mysql_query ("UPDATE `arena` SET `time`=".(time()+300).", `hod`='".$us_h."', `ezontrop_us2` = `ezontrop_us2`-1 WHERE `id_battle`='".(int)$_GET['id_batt']."'");
}
}
else
{
$ez_k = mysql_result(mysql_query("SELECT `ezontrop_us1` FROM `arena` WHERE `id_battle`='".(int)$_GET['id_batt']."'"),0);
if($ez_k)
{
if($ez_k < 2) $us_h = (int)$_GET['us']; else $us_h = $user['id'];
mysql_query ("UPDATE `arena` SET `time`=".(time()+300).", `hod`='".$us_h."', `ezontrop_us1` = `ezontrop_us1`-1 WHERE `id_battle`='".(int)$_GET['id_batt']."'");
}
}
# Умения обрабатываем
if($_GET['um']) um_us($_GET['us'], $_GET['um'], $_GET['id_batt']);
# Обработаем удары
if($_GET['ruka']) uron_end_us($_GET['id_batt'], $_GET['us'], $user['id'], $_GET['ruka']);
if(mysql_result(mysql_query("SELECT `health` FROM `user` WHERE `id`='".(int)$_GET['us']."'"),0) < 2)
{
mysql_query ("UPDATE `arena` SET `win`='".$user['id']."' WHERE `id_battle`='".(int)$_GET['id_batt']."'");
$mess = '<strong>'.login($user['id']).'</strong> побелил Вас в поединке!';
mysql_query("INSERT INTO `arena_mess` SET `mess`='".$mess."', `id_battle`='".(int)$_GET['id_batt']."', `us`='".(int)$_GET['us']."'");
$mess = 'Вы победили '.login($_GET['us']).' в поединке!';
mysql_query("INSERT INTO `arena_mess` SET `mess`='".$mess."', `id_battle`='".(int)$_GET['id_batt']."', `us`='".$user['id']."'");
}
header('location:'.$_SERVER['HTTP_REFERER']);
}
break;
# Окончание поединка
case 'stop_battle':
$arena_arr = mysql_fetch_array(mysql_query("SELECT * FROM `arena` WHERE ((`us1`='".(int)$user['id']."' AND `us2`='".(int)$_GET['us']."') OR (`us1`='".(int)$_GET['us']."' AND `us2`='".(int)$user['id']."')) AND `activ1`='1' AND `activ2`='1' AND `time` > ".(time() - 300)." AND `win`='0' AND `id_battle`='".(int)$_GET['id_batt']."'"));
if(!$arena_arr['id'])
{
echo'Данный поединок закончен, или не существует!';
}
else
if(!isset($_GET['ok']))
{
echo'Если Вы подтверждаете окончание сражения, победа автоматически будет защитана сопернику! <br />';
echo'Подтверждаете окончание поединка? <br />';
echo'<a href="?act=stop_battle&us='.(int)$_GET['us'].'&id_batt='.(int)$_GET['id_batt'].'&ok"><button>ДА!</button></a>';
echo' | ';
echo'<a href="javascript:history.back()" onMouseOver="window.status="Назад";return true"><input value="Назад" type="button" /></a>';
}
else
{
mysql_query ("UPDATE `arena` SET `win`='".(int)$_GET['us']."' WHERE `id_battle`='".(int)$_GET['id_batt']."'");
$content = 'Вам было защитано поражение в поединке с '.login($_GET['us'], 0).', в связи с тем что соперник не выполнил ответный ход!';
mail_go($user['id'], $content, 1);
$content = 'Вам была защитана победа в поединке с '.login($user['id'], 1).', в связи с тем что соперник не выполнил ответный ход!';
mail_go($_GET['us'], $content, 1);
header('location:'.$_SERVER['HTTP_REFERER']);
}
break;
} // switch
require_once H.'/core/foot.php';
?>