battles/magic/cityattack.php

160 lines
8.7 KiB
PHP
Raw Permalink Normal View History

2018-01-28 16:40:49 +00:00
<?php
use Battles\GameLogs;
use Battles\Nick;
if ($user->getRoom() == 20) {
2018-01-28 16:40:49 +00:00
//нападение
2018-03-09 12:57:41 +00:00
$us = mysql_fetch_array(mysql_query("SELECT *,(select `id` from `online` WHERE `real_time` >= " . (time() - 60) . " AND `id` = users.`id`) as `online` FROM `users` WHERE `login` = '{$_POST['target']}' LIMIT 1;"));
if ($user['invis'] == '1') {
$user['login'] = '</a><b><i>невидимка</i></b>';
$user['klan'] = '';
$user['level'] = '??';
}
echo "<font color=red><b>";
if ($user['battle'] > 0) {
echo "Не в бою...";
} elseif (!$us['online'] && ($us['login'] != "Общий Враг" or vrag != "on")) {
echo "Персонаж не в игре!";
} elseif ($user['zayavka'] > 0) {
echo "Вы ожидаете поединка...";
} elseif ($user['klan'] != '' && ($user['klan'] == $us['klan'])) {
echo "Чтите честь ваших сокланов.";
} elseif ($user->getRoom() != $us['room']) {
2018-03-09 12:57:41 +00:00
echo "Персонаж в другой комнате!";
} elseif ($us['level'] < 3) {
echo "Нельзя напасть на персонажа ниже 3 уровня! Даже ночью, даже на Центральной площади...";
} elseif ($us['hp'] < $us['maxhp'] * 0.33 && !$us['battle']) {
echo "Жертва слишком слаба!";
} elseif ($user['hp'] < $user['maxhp'] * 0.33) {
echo "Вы слишком ослаблены для нападения!";
} elseif ($us['hp'] < 1 && $us['battle']) {
echo "Вы не можете напасть на погибшего!";
} else {
$jert = mysql_fetch_array(mysql_query("SELECT * FROM `users` WHERE `login` = '{$_POST['target']}' LIMIT 1;"));
if ($jert['id'] != $user['id']) {
addch("<img src=i/magic/attack.gif> <B>{$user['login']}</B>, применив магию нападения, внезапно " . $action . " на &quot;{$_POST['target']}&quot;");
addchp('<font color=red>Внимание!</font> На вас ' . $action . ' <B>' . $user['login'] . '</B>.<BR>\'; top.frames[\'main\'].location=\'fbattle.php\'; var z = \' ', '{[]}' . Nick::id($jert['id'])->short() . '{[]}');
2018-03-09 12:57:41 +00:00
//destructitem($row['id']);
$bet = 1;
//арх
if ($jert['id'] > _BOTSEPARATOR_ or $us['login'] == "Общий Враг") {
$arha = mysql_fetch_array(mysql_query('SELECT * FROM `bots` WHERE `prototype` = ' . $jert['id'] . ' LIMIT 1;'));
$jert['battle'] = $arha['battle'];
$jert['id'] = $arha['id'];
$bot = 1;
}
if ($jert['battle'] > 0) {
//вмешиваемся
$bd = mysql_fetch_array(mysql_query('SELECT * FROM `battle` WHERE `id` = ' . $jert['battle'] . ' LIMIT 1;'));
$battle = unserialize($bd['teams']);
$ak = array_keys($battle[$jert['id']]);
$battle[$user['id']] = $battle[$ak[0]];
foreach ($battle[$user['id']] as $k => $v) {
$battle[$user['id']][$k] = array(0, 0, time());
$battle[$k][$user['id']] = array(0, 0, time());
}
$t1 = explode(";", $bd['t1']);
// проставляем кто-где
if (in_array($jert['id'], $t1)) {
$ttt = 2;
} else {
$ttt = 1;
}
addch("<b>" . Nick::id($user['id'])->short() . "</b> вмешался в <a href=logs.php?log=" . $id . " target=_blank>поединок »»</a>. ", $user->getRoom());
2018-03-09 12:57:41 +00:00
//mysql_query('UPDATE `logs` SET `log` = CONCAT(`log`,\'<span class=date>'.date("H:i").'</span> '.nick::id($user['id'])->short().' вмешался в поединок!<BR>\') WHERE `id` = '.$jert['battle'].'');
2018-03-09 12:57:41 +00:00
GameLogs::addBattleLog($jert['battle'], '<span class=date>' . date("H:i") . '</span> ' . Nick::id($user['id'])->short() . ' вмешался в поединок!<BR>');
2018-03-09 12:57:41 +00:00
mysql_query('UPDATE `battle` SET `teams` = \'' . serialize($battle) . '\', `t' . $ttt . '`=CONCAT(`t' . $ttt . '`,\';' . $user['id'] . '\') WHERE `id` = ' . $jert['battle'] . ' ;');
mysql_query("UPDATE users SET `battle` =" . $jert['battle'] . ",`zayavka`=0,`hit`=0,`parry`=0,`krit`=0,`counter`=0,`hp2`=0 WHERE `id`= " . $user['id']);
header("Location:fbattle.php");
//exit("<script>location.href='fbattle.php';</script>");
2018-03-09 12:57:41 +00:00
} else {
// начинаем бой
//$bet=1;
// если чел в заявке, выбиваем его
if ($jert['zayavka']) {
$fict1 = mysql_fetch_array(mysql_query("SELECT * FROM `zayavka` WHERE `team1` LIKE '{$jert['id']};%' OR `team1` LIKE '%;{$jert['id']};%' LIMIT 1;"));
$fict2 = mysql_fetch_array(mysql_query("SELECT * FROM `zayavka` WHERE `team2` LIKE '{$jert['id']};%' OR `team2` LIKE '%;{$jert['id']};%' LIMIT 1;"));
if ($fict1) {
$team = 1;
} elseif ($fict2) {
$team = 2;
}
mysql_query("UPDATE `users` SET `zayavka` = '' WHERE `id` = {$jert['id']} LIMIT 1;");
$z = mysql_fetch_array(mysql_query("SELECT `team{$team}` FROM `zayavka` WHERE `id`=" . $jert['zayavka'] . ";"));
$teams = str_replace($jert['id'] . ";", "", $z[0]);
mysql_query("UPDATE `zayavka` SET team{$team} = '{$teams}' WHERE id = {$jert['zayavka']};");
}
//arch
if ($bot) {
mysql_query("INSERT INTO `bots` (`name`,`prototype`,`battle`,`hp`) VALUES ('Общий Враг','3954','','30000');");
$jert['id'] = mysql_insert_id();
}
$teams = array();
$teams[$user['id']][$jert['id']] = array(0, 0, time());
$teams[$jert['id']][$user['id']] = array(0, 0, time());
$sv = array(3, 4, 5);
//$tou = array_rand($sv,1);
mysql_query("INSERT INTO `battle`
2018-01-28 16:40:49 +00:00
(
`id`,`coment`,`teams`,`timeout`,`type`,`status`,`t1`,`t2`,`to1`,`to2`,`blood`
)
VALUES
(
2018-03-09 12:57:41 +00:00
NULL,'','" . serialize($teams) . "','" . $sv[rand(0, 2)] . "','1','0','" . $user['id'] . "','" . $jert['id'] . "','" . time() . "','" . time() . "','0'
2018-01-28 16:40:49 +00:00
)");
2018-03-09 12:57:41 +00:00
$id = mysql_insert_id();
// апдейтим врага
if ($bot) {
mysql_query("UPDATE `bots` SET `battle` = {$id} WHERE `id` = {$jert['id']} LIMIT 1;");
} else {
mysql_query("UPDATE `users` SET `battle` = {$id} WHERE `id` = {$jert['id']} LIMIT 1;");
}
// создаем лог
$rr = "<b>" . Nick::id($user['id'])->full(1) . "</b> и <b>" . Nick::id($jert['id'])->full(1) . "</b>";
addch("<a href=logs.php?log=" . $id . " target=_blank>Бой</a> между <B><b>" . Nick::id($user['id'])->short() . "</b> и <b>" . Nick::id($jert['id'])->short() . "</b> начался. ", $user->getRoom());
2018-03-09 12:57:41 +00:00
//mysql_query("INSERT INTO `logs` (`id`,`log`) VALUES('{$id}',"Часы показывали <span class=date>".date("Y.m.d H.i")."</span>, когда ".$rr." бросили вызов друг другу. <BR>");
mysql_query("UPDATE users SET `battle` ={$id},`zayavka`=0 WHERE `id`= {$user['id']} OR `id` = {$jert['id']}");
if ($us['login'] == "Общий Враг") {
$jert['id'] = 3954;
}
$rr = "<b>" . Nick::id($user['id'])->full(1) . "</b> и <b>" . Nick::id($jert['id'])->full(1) . "</b>";
GameLogs::addBattleLog($id, "Часы показывали <span class=date>" . date("Y.m.d H.i") . "</span>, когда " . $rr . " бросили вызов друг другу. <BR>");
2018-03-09 12:57:41 +00:00
if ($jert['id'] && $user['id'] && $jert['id'] < 999999) {
$btfl = fopen('tmp/' . $user['id'] . '.btl', 'a');
fwrite($btfl, '{[=' . $jert['id'] . '=]}');
fclose($btfl);
$btfl = fopen('tmp/' . $jert['id'] . '.btl', 'a');
fwrite($btfl, '{[=' . $user['id'] . '=]}');
fclose($btfl);
}
exit("<script>location.href='fbattle.php';</script>");
2018-03-09 12:57:41 +00:00
}
} else {
echo 'Мазохист?...';
}
//$bet=1;
}
echo "</b></font></div>";
2018-01-28 16:40:49 +00:00
}