refactor
This commit is contained in:
@@ -1,65 +1,31 @@
|
||||
<?php
|
||||
if(!defined('GAME'))
|
||||
{
|
||||
die();
|
||||
|
||||
use Core\Db;
|
||||
|
||||
if (!defined('GAME')) {
|
||||
die();
|
||||
}
|
||||
|
||||
$cgo = $_POST['city'];
|
||||
if(!isset($u->city_name[$cgo]))
|
||||
{
|
||||
$uer = 'Город "'.$cgo.'" не найден.';
|
||||
}else{
|
||||
$uu = mysql_fetch_array(mysql_query('SELECT * FROM `users` WHERE `login` = "'.mysql_real_escape_string($_POST['logingo']).'" LIMIT 1'));
|
||||
if(isset($uu['id']))
|
||||
{
|
||||
if($uu['id']!=$u->info['id'] && $u->info['admin']==0)
|
||||
{
|
||||
$uer = 'Вы можете телепортировать только себя';
|
||||
}elseif($uu['battle']>0)
|
||||
{
|
||||
$uer = 'Персонаж находится в бою';
|
||||
}elseif($uu['admin']>0 && $u->info['admin']==0)
|
||||
{
|
||||
$uer = 'Вы не можете телепортировать Ангелов в другой город';
|
||||
}elseif($uu['city']!=$u->info['city'] && $u->info['admin']==0){
|
||||
$uer = 'Персонаж находится в другом городе';
|
||||
}elseif(floor($uu['align'])==$a && $uu['align']>$u->info['align'] && $u->info['admin']==0)
|
||||
{
|
||||
$uer = 'Вы не можете телепортировать старших по званию';
|
||||
}else{
|
||||
$rid = mysql_fetch_array(mysql_query('SELECT * FROM `room` WHERE `name` = "Вокзал" AND `city` = "'.mysql_real_escape_string($cgo).'" LIMIT 1'));
|
||||
if(!isset($rid['id']))
|
||||
{
|
||||
$uer = 'Телепортация в "'.$u->city_name[$cgo].'" запрещена!';
|
||||
}else{
|
||||
$upd = mysql_query('UPDATE `users` SET `city` = "'.mysql_real_escape_string($cgo).'",`room` = "'.$rid['id'].'" WHERE `id` = "'.$uu['id'].'" LIMIT 1');
|
||||
if($upd)
|
||||
{
|
||||
$sx = '';
|
||||
if($u->info['sex']==1)
|
||||
{
|
||||
$sx = 'а';
|
||||
}
|
||||
$rtxt = '[img[items/teleport.gif]] '.$rang.' "'.$u->info['cast_login'].'" телепортировал'.$sx.' персонажа "'.$uu['login'].'" в [img[city_ico/'.$cgo.'.gif]] '.$u->city_name[$cgo].'.';
|
||||
/** @var User $u */
|
||||
|
||||
$cmsg = new ChatMessage();
|
||||
$cmsg->setCity($u->info['city']);
|
||||
$cmsg->setRoom($u->info['room']);
|
||||
$cmsg->setText($rtxt);
|
||||
$cmsg->setType(6);
|
||||
$cmsg->setTypeTime(1);
|
||||
(new Chat())->sendMsg($cmsg);
|
||||
$rtxt = $rang.' "'.$u->info['login'].'" телепортировал'.$sx.' в "<b>'.$u->city_name[$cgo].'</b>".';
|
||||
mysql_query("INSERT INTO `users_delo` (`uid`,`ip`,`city`,`time`,`text`,`login`,`type`) VALUES ('".$uu['id']."','".$_SERVER['REMOTE_ADDR']."','".$u->info['city']."','".time()."','".$rtxt."','".$u->info['login']."',5)");
|
||||
$uer = 'Вы успешно телепортировали персонажа "'.$uu['login'].'" в <b>'.$u->city_name[$cgo].'</b>.';
|
||||
}else{
|
||||
$uer = 'Не удалось использовать данное заклятие';
|
||||
}
|
||||
}
|
||||
}
|
||||
}else{
|
||||
$uer = 'Персонаж не найден в этом городе';
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
$caster = $u;
|
||||
$targetUser = $_POST['logingo'];
|
||||
$targetRoom = null; // Заглушка
|
||||
|
||||
echo 'Не работает. Проверь исполняемый файл.';
|
||||
|
||||
$target = $targetUser === $caster->info['login'] ? $caster->info : User::getInfo($targetUser);
|
||||
|
||||
if (empty($target) || $target['admin'] > 0 && !$caster->isAdmin()) {
|
||||
$uer = 'Цель не найдена!';
|
||||
} elseif ($caster->info['id'] != $target['id'] && !$caster->isAdmin()) {
|
||||
$uer = 'Нельзя телепортировать других!';
|
||||
} elseif (!empty($target['battle']) || !empty($caster->info['battle'])) {
|
||||
$uer = 'Не работает в поединке!';
|
||||
} else {
|
||||
Db::sql('update users set room = ? where login = ?', [$targetRoom, $target['id']]);
|
||||
Delo::add(5, 'teleport', $target['login'], "{$caster->info['login']} телепортировал игрока в $targetRoom.");
|
||||
$uer = 'Успешная телепортация!';
|
||||
}
|
||||
|
||||
unset($caster, $target, $targetUser, $targetRoom);
|
||||
|
||||
Reference in New Issue
Block a user