game/jx/battle/refresh2.php

261 lines
9.7 KiB
PHP
Raw Normal View History

2022-06-06 21:30:34 +00:00
<?php
2023-01-28 02:24:37 +00:00
function e($t)
{
(new Chat())->debug($t, true);
}
2022-06-06 21:30:34 +00:00
2023-01-28 02:24:37 +00:00
$_POST['id'] = 'reflesh';
//
if (isset($_POST['atack'], $_POST['block']) || (isset($_POST['id']) && $_POST['id'] == 'reflesh') || isset($_POST['usepriem']) || isset($_POST['useitem'])) {
session_start();
$js = '';
if ($u->info['battle'] == 0) {
$btl_last = mysql_fetch_array(
mysql_query(
'SELECT `id`,`battle` FROM `battle_users` WHERE `uid` = "' . $u->info['id'] . '" AND `finish` = "0" LIMIT 1'
)
);
if (isset($btl_last['id']) && $u->info['battle'] == 0) {
echo '<script>document.getElementById(\'teams\').style.display=\'none\';var battleFinishData = "' . $u->info['battle_text'] . '";</script>';
$u->info['battle'] = $btl_last['id'];
$u->info['battle_lsto'] = true;
mysql_query(
'UPDATE `stats` SET `battle_text` = "",`last_b`="0" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'
);
mysql_query('UPDATE `battle_users` SET `finish` = 1 WHERE `uid` = "' . $u->info['id'] . '"');
echo '<script>alert("Поединок для вас завершился.");location.href="main.php?finish=1";</script>';
}
}
if (!isset($CRON_CORE)) {
if (!isset($u->info['id']) || ($u->info['joinIP'] == 1 && $u->info['ip'] != $_SERVER['HTTP_X_REAL_IP'])) {
die($c['exit']);
}
}
function json_fix_cyr($json_str)
{
return $json_str;
}
//$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"
);
}
}
2024-01-06 15:30:34 +00:00
$isBattle = $btl->initRefresh($u);
2023-01-28 02:24:37 +00:00
2024-01-06 15:30:34 +00:00
if (!$isBattle) {
2023-01-28 02:24:37 +00:00
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 {
//получаем массив с игроками в бою
2023-12-19 01:58:37 +00:00
$btl->teamsTake($u);
2023-01-28 02:24:37 +00:00
if (isset($_POST['useitem']) && $btl->testUsersLive() == true) {
$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']) && $btl->testUsersLive() == true) {
$priem->pruse($_POST['usepriem']);
}
//используем заклятие / пирожки
//проводим действия (удары, использование приемов, если есть возможность нанести удар или использовать прием)
//if(!isset($_POST['usepriem'])) {
$btl->testActions();
//}
//авто-смена противника, либо просто смена противника
if ($u->stats['hpNow'] >= 1) {
//ручная смена
if (isset($_POST['smn']) && $_POST['smn'] != 'none') {
/* ---------------- */
$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 (!isset($_POST['usepriem'])) {
2024-01-06 15:30:34 +00:00
if ($btl->i->getTeamwin() == -1) {
2023-01-28 02:24:37 +00:00
$btl->testFinish();
} else {
$btl->testFinish();
}
}
2024-01-06 15:30:34 +00:00
if ($btl->i->getTeamwin() == -1) {
2023-01-28 02:24:37 +00:00
$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 {
2024-01-06 15:30:34 +00:00
if ($u->info['enemy'] != 0 && $btl->i->getTeamwin() == -1 && $u->info['hpNow'] >= 1) {
2023-01-28 02:24:37 +00:00
$js .= $btl->myInfo($u->info['enemy'], 2);
}
}
2024-01-06 15:30:34 +00:00
if ($btl->i->izlom > 0) {
$js .= 'volna(' . (1 + $btl->i->izlomroundsee) . ');';
2023-01-28 02:24:37 +00:00
}
$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 = '';
}
if ($rsys != '') {
$js .= $rsys;
}
unset($rsys);
if (isset($btl->ga[$u->info['enemy']][$u->info['id']])) {
$atk1 = 1;
}
}
$rehtml = '';
if (!isset($CRON_CORE)) {
$js .= '$("#priems").html("' . $priem->seeMy(2) . '");';
//if(!isset($_POST['usepriem'])) {
$jslog = $btl->lookLog();
if ($jslog != '') {
$js .= 'top.btlclearlog();' . $jslog;
}
unset($jslog);
//}
2024-01-06 15:30:34 +00:00
$rehtml .= '<script type="text/javascript">var battle = ' . (0 + $btl->i->id) . ';top.cb_statusTest();eatk=' . $atk1 . ';
2022-06-06 21:30:34 +00:00
if(document.getElementById("nabito")!=undefined)
{
2023-01-28 02:24:37 +00:00
document.getElementById("nabito").innerHTML = "' . (floor(
$btl->users[$btl->uids[$u->info['id']]]['battle_yron']
)) . '";
2022-06-06 21:30:34 +00:00
}
if(document.getElementById("expmaybe")!=undefined)
{
2023-01-28 02:24:37 +00:00
document.getElementById("expmaybe").innerHTML = "' . (floor(
$btl->users[$btl->uids[$u->info['id']]]['battle_exp']
)) . '";
2022-06-06 21:30:34 +00:00
}
if(document.getElementById("timer_out")!=undefined)
{
2024-01-06 15:30:34 +00:00
document.getElementById("timer_out").innerHTML = "' . round(($btl->i->timeout / 60), 2) . '";
2022-06-06 21:30:34 +00:00
}
2023-01-28 02:24:37 +00:00
$(\'#pers_magic\').html("' . $u->btlMagicList() . '");
2022-06-06 21:30:34 +00:00
g_iCount = 30;
noconnect = 15;
connect = 1;
if(document.getElementById("go_btn")!=undefined)
{
document.getElementById("go_btn").disabled = "";
}
if(document.getElementById("reflesh_btn")!=undefined)
{
document.getElementById("reflesh_btn").disabled = "";
}
2023-01-28 02:24:37 +00:00
za = ' . (0 + $btl->stats[$btl->uids[$u->info['id']]]['zona']) . '; genZoneAtack();
zb = ' . (0 + $btl->testZonbVis()) . '; genZoneBlock();
2022-06-06 21:30:34 +00:00
refleshPoints();
2023-01-28 02:24:37 +00:00
tactic(1,' . (0 + $btl->users[$btl->uids[$u->info['id']]]['tactic1']) . ');
tactic(2,' . (0 + $btl->users[$btl->uids[$u->info['id']]]['tactic2']) . ');
tactic(3,' . (0 + $btl->users[$btl->uids[$u->info['id']]]['tactic3']) . ');
tactic(4,' . (0 + $btl->users[$btl->uids[$u->info['id']]]['tactic4']) . ');
tactic(5,' . (0 + $btl->users[$btl->uids[$u->info['id']]]['tactic5']) . ');
tactic(6,' . (0 + floor($btl->users[$btl->uids[$u->info['id']]]['tactic6'])) . ');
smnpty=' . (0 + $u->info['smena']) . ';
mainstatus(' . $btl->mainStatus . ');
tactic(7,"' . (0 + $btl->users[$btl->uids[$u->info['id']]]['tactic7']) . '");
2022-06-06 21:30:34 +00:00
smena_alls = "0";
2023-01-28 02:24:37 +00:00
ggcode="' . $code . '";
' . $js . '
2022-06-06 21:30:34 +00:00
</script>';
2023-01-28 02:24:37 +00:00
echo($rehtml);
if ($btl->cached == true) {
$btl->clear_cache_start();
}
unset($atk1);
}
echo '<script>ggcode="' . $code . '";if(t057!=null){clearTimeout(t057);}</script>';
}
2022-06-06 21:30:34 +00:00
}