Kick
Материал из Pro-Pawn Wiki
Версия от 01:06, 8 августа 2018; VVWVV (обсуждение | вклад)
Описание:
Закрывает соединение между сервером и клиентом (игроком).
Параметры:
(playerid) |
playerid | ID игрока, для которого нужно закрыть соединение. |
Возвращаемое значение:
Всегда возвращает
1
.
Если незадолго до закрытия соединения с игроком были совершены какие-либо действия (например, отправка сообщений с помощью SendClientMessage()
), эффект от этих действий не будет виден на стороне игрока. Для обхода этой проблемы можно создать таймер с задержкой в 200-1000 миллисекунд и из него вызывать функцию Kick()
, либо использовать уже готовое решение, например, dc_kickfix.inc или u_kickfix.inc.
Пример использования:
CMD:kick(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(!"@_DelayedKick", 800, false, "d", playerid);
return SendClientMessage(playerid, -1, string);
}
@_DelayedKick(playerid);
@_DelayedKick(playerid)
return Kick(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(!"@_DelayedKick", 800, false, "d", playerid);
return SendClientMessage(playerid, -1, string);
}
@_DelayedKick(playerid);
@_DelayedKick(playerid)
return Kick(playerid);