259 lines
7.1 KiB
PHP
259 lines
7.1 KiB
PHP
<?php
|
|
|
|
# Ïîëó÷àåì IP
|
|
function getIPblock() {
|
|
if(isset($_SERVER['HTTP_X_REAL_IP'])) return $_SERVER['HTTP_X_REAL_IP'];
|
|
return $_SERVER['REMOTE_ADDR'];
|
|
}
|
|
|
|
# Âûïîëíÿåì ïðîâåðêó áåçîïàñíîñòè.
|
|
/*
|
|
if( $_SERVER['HTTP_CF_CONNECTING_IP'] != $_SERVER['SERVER_ADDR'] && $_SERVER['HTTP_CF_CONNECTING_IP'] != '127.0.0.1' ) { die('Hello pussy!'); }
|
|
if(getIPblock() != $_SERVER['SERVER_ADDR'] && getIPblock() != '127.0.0.1' && getIPblock() != '' && getIPblock() != '5.187.7.71') {
|
|
die(getIPblock().'<br>'.$_SERVER['SERVER_ADDR']);
|
|
}
|
|
*/
|
|
|
|
define('GAME',true);
|
|
require_once('../../_incl_data/class/__db_connect.php');
|
|
|
|
function e($t) {
|
|
mysql_query('INSERT INTO `chat` (`text`,`city`,`to`,`type`,`new`,`time`) VALUES ("core #'.date('d.m.Y').' %'.date('H:i:s').' (Êðèòè÷åñêàÿ îøèáêà): <b>'.mysql_real_escape_string($t).'</b>","capitalcity","-NIGHTmare-","6","1","-1")');
|
|
}
|
|
|
|
if(isset($_GET['cron_core'])) {
|
|
$id = array(
|
|
'id' => $_GET['uid'],
|
|
'pass' => $_GET['pass']
|
|
);
|
|
if(md5($id['id'].'_brfCOreW@!_'.$id['pass']) == $_GET['cron_core']) {
|
|
$uzr = mysql_fetch_array(mysql_query('SELECT `id`,`login`,`pass` FROM `users` WHERE `id` = "'.mysql_real_escape_string($id['id']).'" AND `pass` = "'.mysql_real_escape_string($id['pass']).'" LIMIT 1'));
|
|
if(isset($uzr['id'])) {
|
|
$CRON_CORE = true;
|
|
$_COOKIE['login'] = $uzr['login'];
|
|
$_COOKIE['pass'] = $uzr['pass'];
|
|
$_POST['id'] = 'reflesh';
|
|
|
|
|
|
if(isset($_GET['atack'])) {
|
|
$_POST['atack'] = $_GET['atack'];
|
|
}
|
|
if(isset($_GET['block'])) {
|
|
$_POST['block'] = $_GET['block'];
|
|
}
|
|
if(isset($_GET['usepriem'])) {
|
|
$_POST['usepriem'] = $_GET['usepriem'];
|
|
}
|
|
if(isset($_GET['useitem'])) {
|
|
$_POST['useitem'] = $_GET['useitem'];
|
|
}
|
|
|
|
}
|
|
unset($uzr);
|
|
}
|
|
}
|
|
|
|
if(isset($CRON_CORE))
|
|
{
|
|
|
|
if(isset($_POST['atack'],$_POST['block']) || (isset($_POST['id']) && $_POST['id']=='reflesh') || isset($_POST['usepriem']) || isset($_POST['useitem']))
|
|
{
|
|
if(isset($_POST['useitemon'])) {
|
|
$_POST['useitemon'] = iconv('UTF-8', 'windows-1251', $_POST['useitemon']);
|
|
}
|
|
//`session_start();
|
|
$tm = microtime();
|
|
$tm = explode(' ',$tm);
|
|
$tm = $tm[0]+$tm[1];
|
|
|
|
if(!isset($CRON_CORE)) {
|
|
require_once('../../_incl_data/__config.php');
|
|
if($_SESSION['tbr']>$tm)
|
|
{
|
|
die('<script>ggcode="'.$code.'";if(t057!=null){clearTimeout(t057);}</script>');
|
|
}else{
|
|
$_SESSION['tbr'] = $tm+0.350;
|
|
}
|
|
}
|
|
|
|
unset($tm);
|
|
$js = '';
|
|
require_once('../../_incl_data/class/__user.php');
|
|
require_once('../../_incl_data/class/__magic.php');
|
|
require_once('../../_incl_data/class/_cron_.php');
|
|
require_once('../../_incl_data/class/__quest.php');
|
|
|
|
if(!isset($CRON_CORE)) {
|
|
if(!isset($u->info['id']) || ($u->info['joinIP']==1 && $u->info['ip']!=$_SERVER['HTTP_X_REAL_IP']))
|
|
{
|
|
die($c['exit']);
|
|
}
|
|
}
|
|
|
|
$u->stats = $u->getStats($u->info['id'],0);
|
|
|
|
if(!isset($CRON_CORE)) {
|
|
if($u->info['online']<time()-30)
|
|
{
|
|
mysql_query("UPDATE `users` SET `online`='".time()."',`timeMain`='".time()."' WHERE `id`='".$u->info['id']."' LIMIT 1");
|
|
}
|
|
}
|
|
require_once('../../_incl_data/class/__battle.php');
|
|
require_once('log_text.php');
|
|
$btl->is = $u->is;
|
|
$btl->items = $u->items;
|
|
$btl->info = $btl->battleInfo($u->info['battle']);
|
|
if(!isset($btl->info['id']))
|
|
{
|
|
if($u->info['battle']==-1)
|
|
{
|
|
//çàâåðøàåì ïîåäèíîê
|
|
$upd = mysql_query('UPDATE `users` SET `battle` = "0",`online` = "'.time().'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1');
|
|
if(!$upd)
|
|
{
|
|
if(!isset($CRON_CORE)) {
|
|
die('Îøèáêà çàâåðøåíèÿ ïîåäèíêà.');
|
|
}
|
|
}else{
|
|
echo '<script>location="main.php";</script>';
|
|
}
|
|
}else{
|
|
mysql_query('UPDATE `users` SET `battle` = "0" WHERE `battle` = "'.$u->info['battle'].'" LIMIT 100');
|
|
if(!isset($CRON_CORE)) {
|
|
die('<script>location="main.php";</script>');
|
|
}
|
|
}
|
|
}else{
|
|
//ïîëó÷àåì ìàññèâ ñ èãðîêàìè â áîþ
|
|
$btl->teamsTake();
|
|
|
|
if(isset($_POST['useitem'])) {
|
|
$magic->useItems((int)$_POST['useitem']);
|
|
if($u->error!='') {
|
|
echo '<font color=red><center><b>'.$u->error.'</b></center></font>';
|
|
}
|
|
}
|
|
|
|
//çàíîñèì óäàðû,ïðèåìû,ýôôåêòû è ò.ä.
|
|
//óäàð
|
|
if(isset($_POST['atack']) && isset($_POST['block']))
|
|
{
|
|
$btl->addAtack();
|
|
}
|
|
//ïðèåì
|
|
if(isset($_POST['usepriem']))
|
|
{
|
|
$priem->pruse($_POST['usepriem']);
|
|
}
|
|
//èñïîëüçóåì çàêëÿòèå / ïèðîæêè
|
|
|
|
|
|
//ïðîâîäèì äåéñòâèÿ (óäàðû, èñïîëüçîâàíèå ïðèåìîâ, åñëè åñòü âîçìîæíîñòü íàíåñòè óäàð èëè èñïîëüçîâàòü ïðèåì)
|
|
$btl->testActions();
|
|
//àâòî-ñìåíà ïðîòèâíèêà, ëèáî ïðîñòî ñìåíà ïðîòèâíèêà
|
|
if($u->stats['hpNow']>=1)
|
|
{
|
|
//ðó÷íàÿ ñìåíà
|
|
if(isset($_POST['smn']) && $_POST['smn']!='none')
|
|
{
|
|
/* ---------------- */
|
|
$_POST['smn'] = iconv('UTF-8', 'windows-1251', $_POST['smn']);
|
|
$uidz = mysql_fetch_array(mysql_query('SELECT `id`,`inUser` FROM `users` WHERE `login` = "'.mysql_real_escape_string($_POST['smn']).'" AND `battle` = "'.$u->info['battle'].'" LIMIT 1'));
|
|
if($uidz['inUser']>0)
|
|
{
|
|
$uidz['id'] = $uidz['inUser'];
|
|
}
|
|
$rsm = $btl->smena($uidz['id'],false);
|
|
if($rsm!=1)
|
|
{
|
|
echo '<font color=red><center><b>'.$rsm.'</b></center></font>';
|
|
}
|
|
unset($rsm);
|
|
$js .= 'smena_login = \'none\';';
|
|
}
|
|
//àâòî-ñìåíà
|
|
if($u->info['enemy']==0 || $btl->stats[$btl->uids[$u->info['enemy']]]['hpNow']<=0 || isset($btl->ga[$u->info['id']][$u->info['enemy']]))
|
|
{
|
|
$btl->autoSmena();
|
|
}
|
|
}else{
|
|
$btl->mainStatus = 3;
|
|
}
|
|
//ïîëó÷àåì äàííûå î ïîåäèíêå
|
|
|
|
//ïîëó÷àåì äàííûå î ëîãå áîÿ
|
|
|
|
//Åñëè áîé ñûãðàí - çàâåðøàåì
|
|
if($btl->info['team_win']==-1)
|
|
{
|
|
$btl->testFinish();
|
|
}else{
|
|
$btl->testFinish();
|
|
}
|
|
if($btl->info['team_win']==-1)
|
|
{
|
|
$js .= $btl->genTeams($u->info['id']);
|
|
}else{
|
|
$btl->mainStatus = 3;
|
|
$btl->e = $u->btl_txt;
|
|
}
|
|
|
|
if(!isset($CRON_CORE)) {
|
|
$js .= $btl->myInfo($u->info['id'],1);
|
|
//âûâîäèì äàííûå
|
|
if($btl->e!='')
|
|
{
|
|
echo '<font color="red"><center><b>'.$btl->e.'</b></center></font>';
|
|
}
|
|
if(isset($btl->ga[$u->info['id']][$u->info['enemy']]))
|
|
{
|
|
if($u->info['hpNow']>=1) {
|
|
$btl->mainStatus = 2;
|
|
}
|
|
}else{
|
|
if($u->info['enemy']!=0 && $btl->info['team_win']==-1 && $u->info['hpNow']>=1)
|
|
{
|
|
$js .= $btl->myInfo($u->info['enemy'],2);
|
|
}
|
|
}
|
|
if($btl->info['izlom']>0)
|
|
{
|
|
$js .= 'volna('.(1+$btl->info['izlomRoundSee']).');';
|
|
}
|
|
$i = 1;
|
|
while($i<=7)
|
|
{
|
|
if($btl->users[$btl->uids[$u->info['id']]]['tactic'.$i]<0)
|
|
{
|
|
$btl->users[$btl->uids[$u->info['id']]]['tactic'.$i] = 0;
|
|
}
|
|
if($btl->users[$btl->uids[$u->info['id']]]['tactic'.$i]>25 && $i<7)
|
|
{
|
|
$btl->users[$btl->uids[$u->info['id']]]['tactic'.$i] = 25;
|
|
}
|
|
$i++;
|
|
}
|
|
$atk1 = 0;
|
|
if(!isset($CRON_CORE)) {$rsys = $u->sys_see(0);}
|
|
if($rsys != '') {
|
|
$js .= $rsys;
|
|
}
|
|
unset($rsys);
|
|
if(isset($btl->ga[$u->info['enemy']][$u->info['id']]))
|
|
{
|
|
$atk1 = 1;
|
|
}
|
|
}
|
|
|
|
if( $btl->cached == true ) {
|
|
$btl->clear_cache_start();
|
|
}
|
|
/*
|
|
echo '<script>ggcode="'.$code.'";if(t057!=null){clearTimeout(t057);}</script>';
|
|
*/
|
|
}
|
|
}
|
|
}
|
|
|
|
//unlink($lock_file);
|
|
?>
|