game/modules_data/_zv.php
2023-01-10 18:30:35 +02:00

295 lines
11 KiB
PHP
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
use Core\Config;
use Core\Db;
require_once dirname(__DIR__) . DIRECTORY_SEPARATOR . '_incl_data/autoload.php';
if (!defined('GAME')) {
die();
}
if (isset($_GET['r'])) {
$_GET['r'] = (int)$_GET['r'];
} else {
$_GET['r'] = null;
}
if ($_GET['r'] == 3 || $_GET['r'] == 8 || !isset($_GET['r'])) {
$_GET['r'] = 2;
}
if ($u->info['inTurnir'] > 0 && $u->info['inUser'] == 0 && $u->info['room'] == 318) {
die('<script>location="main.php";</script>');
}
$zv = new FightRequest();
$js_5356 = sprintf(
"top.lafstReg[%d] = 0; top.startHpRegen(\"main\",%d,%d,%d,%d,%d,%d,%d,%d,%d,1);",
$u->info['id'], $u->info['id'], 0 + $u->stats['hpNow'], 0 + $u->stats['hpAll'],
0 + $u->stats['mpNow'], 0 + $u->stats['mpAll'], time() - $u->info['regHP'], time() - $u->info['regMP'],
0 + $u->rgd[0], 0 + $u->rgd[1]
);
?>
<script type="text/javascript" src="js/jquery.js"></script>
<script>
var zv_Priem = 0;
function openfizrmk() {
$('#hidezv1_btn').slideUp(300, function () {
$('#hidezv1').slideDown(700);
});
}
<?= $js_5356 ?>
</script>
<style>
table.wfix {
table-layout: fixed;
width: 100%;
}
.m {
background: #99CCCC;
text-align: center;
}
.s {
background: #BBDDDD;
text-align: center;
}
.firsttd {
width: 70px;
}
</style>
<TABLE class="wfix" cellspacing=1 cellpadding=3>
<TR>
<TD colspan=<?= $u->info['level'] == 0 ? '4' : '6' ?> align=right>
<div style="float:left"><?= $zv->userInfo() ?></div>
<div style="float:right;">
<INPUT class="btn" onClick="location='main.php?zayvka&r=<?= $_GET['r'] ?>&rnd=<?= $code ?>';"
TYPE=button name=tmp value="Обновить">
<INPUT class="btn" TYPE=button value="Вернуться" onClick="location.href='main.php?rnd=<?= $code ?>';">
</div>
</td>
</tr>
<tr>
<td class="firsttd m">&nbsp;<b>Бои:</b>&nbsp;</td>
<?php if ($u->info['level'] == 0): ?>
<td class="<?= $_GET['r'] == 1 ? 's' : 'm' ?>"><a href="main.php?zayvka=1&r=1&rnd=<?= $code ?>">Новички</a>
</td>
<?php else: ?>
<td class="<?= $_GET['r'] == 2 ? 's' : 'm' ?>"><a href="main.php?zayvka=1&r=2&rnd=<?= $code ?>">Турниры</a>
</td>
<td class="<?= $_GET['r'] == 4 ? 's' : 'm' ?>"><a
href="main.php?zayvka=1&r=4&rnd=<?= $code ?>">Групповые</a></td>
<td class="<?= $_GET['r'] == 5 ? 's' : 'm' ?>"><a
href="main.php?zayvka=1&r=5&rnd=<?= $code ?>">Хаотичные</a></td>
<?php endif; ?>
<td class="<?= $_GET['r'] == 6 ? 's' : 'm' ?>"><a href="main.php?zayvka=1&r=6&rnd=<?= $code ?>">Текущие</a></td>
<td class="<?= $_GET['r'] == 7 ? 's' : 'm' ?>"><a href="main.php?zayvka=1&r=7&rnd=<?= $code ?>">Завершенные</a>
</td>
</tr>
</table>
<script>
function console_clonelogin() {
var s = prompt("Введите логин персонажа с которым хотите сразиться:", "");
if ((s !== null) && (s !== '')) {
location.href = "main.php?zayvka=1&r=2&bot_clone=" + s + "&rnd=1";
}
}
</script>
<div style="padding:2px;">
<?php
$zi = false;
if ($u->info['battle'] == 0) {
if (isset($_POST['add_new_zv'])) {
$zv->add();
} elseif (isset($_GET['bot']) && ($u->info['level'] <= 7 || $u->info['admin'] > 0)) {
$zv->addBot();
} elseif (isset($_GET['bot_clone'])) {
$zvclone = Db::getValue(
'select id from users where admin = 0 and `real` = 1 and login = ?',
[$_GET['bot_clone']]
);
$zv->addBotClone($zvclone['id']);
} elseif (isset($_GET['add_group'])) {
$zv->add();
} elseif (isset($_GET['start_haot'])) {
$zv->add();
}
}
if ($u->info['zv'] != 0) {
$zi = mysql_fetch_array(
mysql_query(
'SELECT * FROM `zayvki` WHERE `id`=' . $u->info['zv'] . ' AND `start` = 0 AND `cancel` = 0 AND
(`time` > unix_timestamp() - 60 * 60 * 2 OR `razdel` > 3)'
)
);
if (!isset($zi['id'])) {
$zi = false;
$u->info['zv'] = 0;
mysql_query('UPDATE `stats` SET `zv` = 0 WHERE `id` = ' . $u->info['id']);
}
}
if ($u->info['battle'] == 0) {
if (isset($_POST['groupClick']) && !isset($zi['id'])) {
$zg = mysql_fetch_array(
mysql_query(
'SELECT * FROM `zayvki` WHERE `id` = ' . (int)$_POST['groupClick'] . ' AND `cancel` = 0 AND
`btl_id` = 0 AND `razdel` = 4 AND `start` = 0 AND `time` > unix_timestamp() - 60 * 60 * 2')
);
if (!isset($zg['id'])) {
echo '<center><br /><br />Заявка на групповой бой не найдена.</center>';
} else {
$tm_start = floor(($zg['time'] + $zg['time_start'] - time()) / 6) / 10;
$tm_start = $zv->rzv($tm_start);
$tm1 = '';
$tm2 = '';
$users = mysql_query(
'SELECT `u`.`id`, `u`.`login`, `u`.`level`, `u`.`align`, `u`.`clan`, `u`.`admin`, `st`.`team` FROM `users` AS `u` LEFT JOIN `stats` AS `st` ON `u`.`id` = `st`.`id` WHERE `st`.`zv` = "' . $zg['id'] . '"'
);
while ($s = mysql_fetch_array($users)) {
${'tm' . $s['team']} .= '<b>' . $s['login'] . '</b> [' . $s['level'] . ']<a href="info/' . $s['id'] . '" target="_blank"><img src="https://img.new-combats.com/i/inf_capitalcity.gif" title="Инф. о ' . $s['login'] . '" /></a><br />';
}
if (empty($tm1)) {
$tm1 = 'группа пока не набрана';
} else {
$tm1 = rtrim($tm1, '<br />');
}
if (empty($tm2)) {
$tm2 = 'группа пока не набрана';
} else {
$tm2 = rtrim($tm2, '<br />');
}
//
if ($zg['teams'] == 3) {
if (empty($tm3)) {
$tm3 = 'группа пока не набрана';
} else {
$tm3 = rtrim($tm3, '<br />');
}
}
$sv1 = Db::getValue('select count(*) from stats where zv = ? and team = 1');
$sv2 = Db::getValue('select count(*) from stats where zv = ? and team = 2');
$sv3 = Db::getValue('select count(*) from stats where zv = ? and team = 3');
$sv1 = $zg['tm1max'] - $sv1;
$sv2 = $zg['tm2max'] - $sv2;
if ($zg['teams'] == 3) {
$sv3 = $zg['tm2max'] - $sv3;
}
?></div>
<table style="margin-top:2px;" width="100%">
<tr>
<td> Бой начнется через <? echo $tm_start; ?> мин.</td>
<td align="right">
<INPUT class="btn" onClick="location='main.php?zayvka&r=<? echo $_GET['r']; ?>&rnd=<? echo $code; ?>';"
TYPE=button name=tmp value="Обновить">
<input class="btn" type="button" value="Вернуться"
onclick="location.href='main.php?zayvka&r=<? echo $_GET['r']; ?>&rnd=<? echo $code; ?>';">
</td>
</tr>
</table>
<h3 align="center">На чьей стороне будете сражаться?</h3>
<table align="center" cellspacing="4" cellpadding="1">
<tr>
<td bgcolor="99CCCC"><b>Группа один:</b><br/>
Максимальное кол-во: <? echo $zg['tm1max']; ?><br/>
Ограничения по уровню: <? echo $zg['min_lvl_1'] . ' - ' . $zg['max_lvl_1']; ?></td>
<td bgcolor="99CCCC"><b>Группа два:</b><br/>
Максимальное кол-во: <? echo $zg['tm2max']; ?><br/>
Ограничения по уровню: <? echo $zg['min_lvl_2'] . ' - ' . $zg['max_lvl_2']; ?> </td>
<?
if ($zg['teams'] == 3) {
?>
<td bgcolor="99CCCC"><b>Группа три:</b><br/>
Максимальное кол-во: <? echo $zg['tm2max']; ?><br/>
Ограничения по уровню: <? echo $zg['min_lvl_2'] . ' - ' . $zg['max_lvl_2']; ?> </td>
<?
}
?>
</tr>
<tr>
<td align="center"><? echo $tm1; ?>
<br/>
</td>
<td align="center"><? echo $tm2; ?>
<br/>
</td>
<?
if ($zg['teams'] == 3) {
?>
<td align="center"><? echo $tm3; ?>
<br/>
</td>
<?
}
?>
</tr>
<tr>
<td align="center">
<input class="btn" title="На данный момент свободно мест: <?= $sv1 ?>"
onclick="location='main.php?r=<?= $_GET['r'] ?>&zayvka&btl_go=<?= $zg['id'] ?>&tm1=<?= $code ?>'"
type="submit" name="confirm1" value="Я за этих!"/>
</td>
<td align="center">
<input class="btn" title="На данный момент свободно мест: <?= $sv2 ?>"
onclick="location='main.php?r=<?= $_GET['r'] ?>&zayvka&btl_go=<?= $zg['id'] ?>&tm2=<?= $code ?>'"
type="submit" name="confirm2" value="Я за этих!"/>
</td>
<?php
if ($zg['teams'] == 3) {
?>
<td align="center">
<input class="btn" title="На данный момент свободно мест: <?= $sv3 ?>"
onclick="location='main.php?r=<?= $_GET['r'] ?>&zayvka&btl_go=<?= $zg['id'] ?>&tm3=<?= $code ?>'"
type="submit" name="confirm3" value="Я за этих!"/>
</td>
<?php
}
?>
</tr>
</table>
<?php
}
} elseif (isset($_GET['cancelzv']) && !isset($_POST['add_new_zv'])) {
$zv->cancelzv();
} elseif (isset($_GET['startBattle']) && isset($zi['id']) && ($zi['razdel'] >= 1 || $zi['razdel'] <= 3)) {
$zv->startBattle($zi['id']);
}
}
if (isset($_POST['btl_go'])) {
$zv->go($_POST['btl_go']);
} elseif (isset($_GET['btl_go'])) {
$zv->go($_GET['btl_go']);
}
if ($zv->error != '') {
echo '<b style="color: red">' . $zv->error . '</b><br />';
}
if ($zv->test_s != '') {
echo '<b style="color: red">' . $zv->test_s . '</b><br />';
}
?>
<table style="padding:2px;" width="100%" border="0" cellspacing="0" cellpadding="2">
<tr>
<td><?php $zv->see(); ?></td>
</tr>
<tr>
<td><?php $zv->seeZv(); ?></td>
</tr>
</table><br/>
<div style="text-align: right">
<?= Config::get('counters') ?>
</div>