Тюрьма.

This commit is contained in:
Ivor Barhansky 2023-12-02 01:13:29 +02:00
parent 4e7890511c
commit 916f985c60
2 changed files with 24 additions and 63 deletions

View File

@ -93,6 +93,7 @@ class Moderation
* Тюрьма
* @param DateTime $expiration срок истечения.
* @param string $reason причина применения.
* @todo Корректно выбрасывать игрока из подземелья.
*/
public function prison(DateTime $expiration, string $reason = self::NOT_SET): void
{

View File

@ -1,71 +1,31 @@
<?php
if(!defined('GAME'))
{
die();
if (!defined('GAME')) {
die();
}
if($p['zatoch']==1 || $p['citym1']==1)
{
$tm = (int)$_POST['time'];
if($tm!=1 && $tm!=3 && $tm!=7 && $tm!=14 && $tm!=30 && $tm!=60 && $tm!=365 && $tm!=24 && $tm!=6)
{
$uer = 'Неверно указано время наказания';
}else{
$uu = mysql_fetch_array(mysql_query('SELECT * FROM `users` WHERE `login` = "'.mysql_real_escape_string($_POST['logingo']).'" LIMIT 1'));
if(isset($uu['id']))
{
$uuss = mysql_fetch_array(mysql_query('SELECT * FROM `stats` WHERE `id` = "'.mysql_real_escape_string($uu['id']).'" LIMIT 1'));
if($tm==6){
//часик - экскурсия
$time=time()+60*60;
}elseif($tm==24){
$time=time()+(60*60*24*30*90);
}else{
$time=time()+(60*60*24*$tm);
}
if($uu['admin']>0 && $u->info['admin']==0)
{
$uer = 'Вы не можете посадить Ангела.';
}
if($uu['city']!=$u->info['city'] && $p['citym1']==0){
$uer = 'Персонаж находится в другом городе';
}elseif($uuss['dnow'] > 0){
$uer = 'Персонаж находится в подземелье';
}elseif(floor($uu['align'])==$a && $uu['align']>$u->info['align'] && $u->info['admin']==0)
{
$uer = 'Вы не можете посадить старших по званию';
}elseif($uu['id']==$u->info['id'] && $u->info['admin']==0){
$uer = 'Вы не можете посадить самого себя';
}else{
$upd = mysql_query('UPDATE `users` SET `jail` = "'.mysql_real_escape_string($time).'", `room`="274", `city`="capitalcity" WHERE `id` = "'.$uu['id'].'" LIMIT 1');
if($upd)
{
$sx = '';
if($u->info['sex']==1)
{
$sx = 'а';
}
mysql_query('UPDATE `items_users` SET `delete` = "1357908642" WHERE `uid` = '.$uu['id'].' AND `delete` = 0');
$rtxt = '[img[items/jail.gif]] '.$rang.' &quot;'.$u->info['cast_login'].'&quot; отправил'.$sx.' в заточение &quot;'.$uu['login'].'&quot;, сроком '.$srokt[$tm].'';
if ($p['zatoch'] != 1 && $p['citym1'] != 1) {
$uer = 'У Вас нет прав на использование данного заклятия';
return;
}
$uu = \Core\Db::getRow('select id, login from users where login = ? order by id limit 1', [$_POST['logingo']]);
if (!isset($uu['id'])) {
$uer = 'Персонаж не найден.';
return;
}
$time = new DateTime();
$time->modify("+ {$_POST['time']} day");
(new \Moderation\Moderation($uu['id']))->prison($time);
\Core\Db::sql('delete from dungeon_zv where uid = ?', [$uu['id']]); // Удаляем заявки в пещеры.
$rtxt = "Персонаж {$uu['login']} был отправлен в тюрьму до {$time->format('d M Y H:i')}.";
$cmsg = new ChatMessage();
$cmsg->setCity($u->info['city']);
$cmsg->setRoom($u->info['room']);
$cmsg->setText($rtxt);
$cmsg->setText("[img[items/jail.gif]] $rtxt");
$cmsg->setType(6);
$cmsg->setTypeTime(1);
(new Chat())->sendMsg($cmsg);
$rtxt = $rang.' &quot;'.$u->info['login'].'&quot; отправил'.$sx.' в &quot;<b>заточение</b>&quot; сроком '.$srokt[$tm].'.';
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']."',6)");
$uer = 'Вы успешно посадили в тюрьму персонажа "'.$uu['login'].'", сроком '.$srok[$tm].'.';
}else{
$uer = 'Не удалось использовать данное заклятие';
}
}
}else{
$uer = 'Персонаж не найден в этом городе';
}
}
}else{
$uer = 'У Вас нет прав на использование данного заклятия';
}
?>
$uer = $rtxt;