Файл: 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';
?>