Хороним дублирующийся код для удалённых vip-услуг. Не повторяющаяся магия переезжает в основной раздел.

This commit is contained in:
lopar 2020-08-30 22:33:28 +03:00
parent 1a6aca425d
commit 14f3b43cc5
10 changed files with 1 additions and 209 deletions

View File

@ -55,7 +55,7 @@ if($vip['bloodattack'] <= 0) {
$jert = mysql_fetch_array(mysql_query("SELECT * FROM `users` WHERE `login` = '".mysql_real_escape_string($_POST['target'])."' LIMIT 1"));
if($jert['id'] != $user['id']) {
addch("<img src=i/magic/attackb.gif> <B>{$lo}</B>, применив магию кровавого нападения, внезапно ".$action." на &quot;{$_POST['target']}&quot;");
addch("<img src=../i/magic/attackb.gif> <B>{$lo}</B>, применив магию кровавого нападения, внезапно " .$action." на &quot;{$_POST['target']}&quot;");
addchp('<font color=red>Внимание!</font> На вас '.$action.' <b>'.$lo.'</b>.<br />\'; top.frames[\'main\'].location=\'fbattle.php\'; var z = \' ', '{[]}'.Nick::id($jert['id'])->short().'{[]}');
if($jert['id'] > _BOTSEPARATOR_) {

View File

@ -1,137 +0,0 @@
<?php
$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` = '".mysql_real_escape_string($_POST['target'])."' LIMIT 1"));
$owntravma = mysql_fetch_array(mysql_query("SELECT `id` FROM `effects` WHERE `owner` = ".$us['id']." AND (`type` = 13 OR `type` = 12 OR `type` = 14) LIMIT 1"));
$us_b = mysql_fetch_array(mysql_query("SELECT `type`, `open` FROM `battle` WHERE `id` = '{$us['battle']}' LIMIT 1"));
$vip = mysql_fetch_array(mysql_query('SELECT `id`, `uid`, `attack` FROM `abils_vip` WHERE `uid` = "'.$user['id'].'" LIMIT 1'));
if($user['invis'] == 1) { $lo = '<i><b>невидимка</b></i>'; } else { $lo = $user['login']; }
$los = Nick::id($user['id'])->short();
$effect = mysql_fetch_array(mysql_query("SELECT `id` FROM `effects` WHERE `owner` = '{$us['id']}' AND `time` > '".time()."' AND `type` = '227' LIMIT 1"));
if($vip['attack'] <= 0) {
echo "Магия исчерпала себя ...";
} elseif($user['battle'] > 0) {
echo "Не в бою...";
} elseif($us_b['type'] == 3 || $us_b['type'] == 5) {
echo "Запрещено входить в хаотический бой!";
} elseif(in_array($us['room'], Config::$unkilable['rooms'])) {
echo "В данной комнате запрещены нападения ...";
} elseif(in_array($us['id'], Config::$unkilable['users'])) {
echo "Персонаж под защитой от нападений ...";
} elseif(isset($effect['id'])) {
echo "Персонаж под защитой от нападений ...";
} elseif($us['battle'] > 0 && $us_b['open'] == 0) {
echo "Бой закрыт для вмешательства!";
} elseif(!$us['online']) {
echo "Персонаж не в игре!";
} elseif($us['align'] == 2.99) {
echo "Не атакуйте Администратора!";
} elseif($user['zayavka'] > 0) {
echo "Вы ожидаете поединка...";
} elseif($owntravma['id'] && !$us['battle']) {
echo "Персонаж тяжело травмирован...";
} elseif($user['klan'] != '' && ($user['klan'] == $us['klan'])) {
echo "Чтите честь ваших сокланов.";
} elseif($user['room'] != $us['room']) {
echo "Персонаж в другой комнате!";
} elseif ($us['room'] == 31 || $us['room'] == 46 || $us['room'] == 47 || $us['room'] == 48 || $us['room'] == 49 ||$us['room'] == 600 || $us['room'] == 601 || $us['room'] == 45 || $us['room'] == 602 || $us['room'] == 43 || $us['room'] == 45) {
echo "Нападения в этой локации запрещены!";
} elseif($us['align'] == 2.9) {
echo "Нападение на Ангелов строго запрещено!";
} elseif($us['align'] > 1 && $us['align'] < 2) {
echo "Нападение на Паладинов запрещено!";
} elseif($us['align'] == 4.99) {
echo "Нападение на Комментатора запрещено!";
} elseif($us['level'] < 1) {
echo "Новички находятся под защитой Мироздателя!";
} 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 {
if($user['sex'] == 1) { $action = "напал"; } else { $action = "напала"; }
$jert = mysql_fetch_array(mysql_query("SELECT * FROM `users` WHERE `login` = '".mysql_real_escape_string($_POST['target'])."' LIMIT 1"));
if($jert['id'] != $user['id']) {
addch("<img src=i/magic/attack.gif> <B>{$lo}</B>, применив магию нападения, внезапно ".$action." на &quot;{$_POST['target']}&quot;");
addchp('<font color=red>Внимание!</font> На вас '.$action.' <b>'.$lo.'</b>.<br />\'; top.frames[\'main\'].location=\'fbattle.php\'; var z = \' ', '{[]}'.Nick::id($jert['id'])->short().'{[]}');
if($jert['id'] > _BOTSEPARATOR_) {
$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>".$los."</b> вмешался в <a href=logs.php?log=".$id." target=_blank>поединок »»</a>.", $user['room']);
if($user['invis'] == 1) { $lod = '<i><b>невидимка</b></i>'; } else { $lod = Nick::id($user['id'])->short(); }
addlog($jert['battle'], '<span class=date>'.date("H:i").'</span> '.$lod.' вмешался в поединок!<BR>');
mysql_query('UPDATE `battle` SET `teams` = \''.serialize($battle).'\', `t'.$ttt.'` = CONCAT(`t'.$ttt.'`,\';'.$user['id'].'\') WHERE `id` = "'.$jert['battle'].'" LIMIT 1');
mysql_query("UPDATE users SET `battle` = ".$jert['battle'].", `zayavka` = 0 WHERE `id` = '".$user['id']."' LIMIT 1");
header("Location:fbattle.php");
} else {
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']."' LIMIT 1"));
$teams = str_replace($jert['id'].";", "", $z[0]);
mysql_query("UPDATE `zayavka` SET `team{$team}` = '{$teams}' WHERE `id` = {$jert['zayavka']} LIMIT 1");
}
if($bot) {
mysql_query("INSERT INTO `bots` (`name`, `prototype`, `battle`, `hp`) values ('Архивариус', '83', '', '".$jert['hp']."')");
$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);
mysql_query("INSERT INTO `battle` (`teams`, `timeout`, `type`, `status`, `t1`, `t2`, `to1`, `to2`, `blood`, `open`) VALUES ('".serialize($teams)."', '".$sv[rand(0, 2)]."', '1', '0', '".$user['id']."', '".$jert['id']."', '".time()."', '".time()."', '0', '1')");
$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");
}
$ld = Nick::id($user['id'])->full(1);
$lds = Nick::id($user['id'])->short();
$rr = "<b>".$ld."</b> и <b>".Nick::id($jert['id'])->full(1)."</b>";
addch("<a href=logs.php?log=".$id." target=_blank>Бой</a> между <b>".$lds."</b> и <b>".Nick::id($jert['id'])->short()."</b> начался.", $user['room']);
addlog($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']}");
header("Location: fbattle.php");
}
$vip['attack'] -= 1;
mysql_query('UPDATE `abils_vip` SET `attack` = "'.$vip['attack'].'" WHERE `id` = "'.$vip['id'].'" LIMIT 1');
} else {
echo '<font color=red>Мазохист?...</font>';
}
}

View File

@ -1,21 +0,0 @@
<?
$effect = mysql_fetch_array(mysql_query("SELECT `time` FROM `effects` WHERE `owner` = '{$user['id']}' AND `type` = '201' LIMIT 1"));
$vip = mysql_fetch_array(mysql_query('SELECT `id`, `uid`, `zash` FROM `abils_vip` WHERE `uid` = "'.$user['id'].'" LIMIT 1'));
if($vip['zash'] <= 0) {
echo 'Магия была исчерпана ...';
} elseif($_POST['target'] != $user['login']) {
echo 'Только на себя ...';
} elseif($user['battle'] > 0) {
echo "Не в бою ...";
} elseif($effect['time']) {
echo "На персонаже уже есть заклятие Защита от оружия ...";
} else {
if($user['invis'] == 1) { $user['login'] = 'невидимка'; }
addch("<img src=i/magic/defence.gif>Персонаж &quot;{$user['login']}&quot; наложил заклятие \"Защита от оружия\" на &quot;{$user['login']}&quot;, сроком 2 часа.");
mysql_query("INSERT INTO `effects` (`owner`, `name`, `time`, `type`) values ('".$user['id']."', 'Защита от оружия', '".(time()+7200)."', '201')");
$vip['zash'] -= 1;
mysql_query('UPDATE `abils_vip` SET `zash` = "'.$vip['zash'].'" WHERE `id` = "'.$vip['id'].'" LIMIT 1');
echo "<font color=red><b>На персонажа \"{$user['login']}\" наложено заклятие \"Защита от оружия\" </b></font>";
}

View File

@ -1,21 +0,0 @@
<?php
$effect = mysql_fetch_array(mysql_query("SELECT `time` FROM `effects` WHERE `owner` = '{$user['id']}' AND `type` = '202' LIMIT 1"));
$vip = mysql_fetch_array(mysql_query('SELECT `id`, `uid`, `sokr` FROM `abils_vip` WHERE `uid` = "'.$user['id'].'" LIMIT 1'));
if($vip['sokr'] <= 0) {
echo 'Магия была исчерпана ...';
} elseif($_POST['target'] != $user['login']) {
echo 'Только на себя ...';
} elseif($user['battle'] > 0) {
echo "Не в бою ...";
} elseif($effect['time']) {
echo "На персонаже уже есть заклятие Сокрушения ...";
} else {
if($user['invis'] == 1) { $user['login'] = 'невидимка'; }
addch("<img src=i/magic/devastate.gif>Персонаж &quot;{$user['login']}&quot; наложил заклятие \"Сокрушение\" на &quot;{$user['login']}&quot;, сроком 2 часа.");
mysql_query("INSERT INTO `effects` (`owner`, `name`, `time`, `type`) values ('".$user['id']."', 'Сокрушение', '".(time()+7200)."', '202')");
$vip['sokr'] -= 1;
mysql_query('UPDATE `abils_vip` SET `sokr` = "'.$vip['sokr'].'" WHERE `id` = "'.$vip['id'].'" LIMIT 1');
echo "<font color=red><b>На персонажа \"{$user['login']}\" наложено заклятие \"Сокрушение\" </b></font>";
}

View File

@ -1,29 +0,0 @@
<?php
$us = mysql_fetch_array(mysql_query("SELECT *, (SELECT `id` FROM `online` WHERE `date` >= ".(time()-60)." AND `id` = `users`.`id`) AS `online` FROM `users` WHERE `login` = '".mysql_real_escape_string($_POST['target'])."' LIMIT 1"));
$effect = mysql_fetch_array(mysql_query("SELECT `time` FROM `effects` WHERE `owner` = '{$us['id']}' AND `type` = '2' LIMIT 1"));
$vip = mysql_fetch_array(mysql_query('SELECT `id`, `uid`, `sleep30` FROM `abils_vip` WHERE `uid` = "'.$user['id'].'" LIMIT 1'));
if($vip['sleep30'] <= 0) {
echo 'Магия была исчерпана ...';
} elseif($user['battle'] > 0) {
echo "Не в бою...";
} elseif(($user['room'] > 2000) && ($user['room'] < 2100)) {
echo "Не в Проходе...";
} elseif($effect['time']) {
echo "На персонаже уже есть заклятие молчания";
} elseif($user['room'] != $us['room']) {
echo "Персонаж в другой комнате!";
} elseif(!$us['online']) {
echo "Персонаж не в игре!";
} elseif($us['deal'] == 1) {
echo "Вы не можете наложить заклятие молчания на этого персонажа";
} elseif($us['align'] > 2 && $us['align'] < 3) {
echo "Решились поднять руку на Ангела?..";
} else {
if($user['invis'] == 1) { $user['login'] = 'невидимка'; }
addch("<img src=i/magic/sleep.gif>Персонаж &quot;{$user['login']}&quot; наложил заклятие молчания на &quot;{$_POST['target']}&quot;, сроком 30 мин.");
mysql_query("INSERT INTO `effects` (`owner`, `name`, `time`, `type`) values ('".$us['id']."', 'Заклятие молчания', ".(time()+1800).", '2')");
echo "<font color=red><b>На персонажа \"{$_POST['target']}\" наложено заклятие молчания </b></font>";
$vip['sleep30'] -= 1;
mysql_query('UPDATE `abils_vip` SET `sleep30` = "'.$vip['sleep30'].'" WHERE `id` = "'.$vip['id'].'" LIMIT 1');
}