Ban
Материал из Pro-Pawn Wiki
Версия от 01:14, 8 августа 2018; VVWVV (обсуждение | вклад) (Новая страница: «{{Description | Закрывает соединение между сервером и клиентом (игроком) и блокирует его IP-адре…»)
Описание:
Закрывает соединение между сервером и клиентом (игроком) и блокирует его IP-адрес.
Параметры:
(playerid) |
playerid | ID игрока, которого нужно заблокировать. |
Возвращаемое значение:
Всегда возвращает
1
.
Если незадолго до закрытия соединения с игроком были совершены какие-либо действия (например, отправка сообщений с помощью SendClientMessage()
), эффект от этих действий не будет виден на стороне игрока. Для обхода этой проблемы можно создать таймер с задержкой в 200-1000 миллисекунд и из него вызывать функцию Ban()
, либо использовать уже готовое решение, например, dc_kickfix.inc или u_kickfix.inc.
Пример использования:
CMD:ban(playerid, params[])
{
if (0 == IsPlayerAdmin(playerid))
return SendClientMessage(playerid, -1, !"Вы не администратор сервера!");
extract params -> new player:targetid; else // sscanf2
return SendClientMessage(playerid, -1, !"Использование: /kick [ID игрока/часть ника]");
if (targetid == INVALID_PLAYER_ID)
return SendClientMessage(playerid, -1, !"Игрок не найден.");
SendClientMessage(targetid, -1, !"Вы были заблокированы администратором.");
SetTimerEx(!"@_DelayedBan", 800, false, !"d", playerid);
return SendClientMessage(playerid, -1, !"Игрок был заблокирован.");
}
@_DelayedBan(playerid);
@_DelayedBan(playerid)
return Ban(playerid);
{
if (0 == IsPlayerAdmin(playerid))
return SendClientMessage(playerid, -1, !"Вы не администратор сервера!");
extract params -> new player:targetid; else // sscanf2
return SendClientMessage(playerid, -1, !"Использование: /kick [ID игрока/часть ника]");
if (targetid == INVALID_PLAYER_ID)
return SendClientMessage(playerid, -1, !"Игрок не найден.");
SendClientMessage(targetid, -1, !"Вы были заблокированы администратором.");
SetTimerEx(!"@_DelayedBan", 800, false, !"d", playerid);
return SendClientMessage(playerid, -1, !"Игрок был заблокирован.");
}
@_DelayedBan(playerid);
@_DelayedBan(playerid)
return Ban(playerid);