SAMP/Ban
Материал из Wikipedia Pi
Ban
Описание:
Забанить игрока, который в данный момент находится на сервере. Они больше не смогут подключиться к серверу. Блокировка будет основана на IP-адресе и будет сохранена в файле samp.ban в корневом каталоге сервера. BanEx можно использовать для объяснения причин запрета.
Параметры:
(playerid)
playerid | ID игрока, которого нужно забанить. |
Возвращаемые значения:
Эта функция не возвращает никаких конкретных значений.
Баг SA-MP |
Начиная с SA-MP 0.3x, любые действия, предпринятые непосредственно перед Ban() (например, отправка сообщения с помощью SendClientMessage), не будут применены к игроку. Для отсрочки бана необходимо использовать таймер с задержкой в 200-1000 миллисекунд. |
Подсказка |
Запреты IP могут быть добавлены/удалены с помощью rcon-команд banip и unbanip. |
Пример использования:
public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmdtext, "/banme", true) == 0)
{
// Забанить игрока, который набирает эту команду.
Ban(playerid);
return 1;
}
}
// Чтобы отобразить сообщение (например, причину) для игрока перед закрытием соединения
// вы должны использовать таймер для создания задержки. Эта задержка должна составлять всего несколько миллисекунд,
// но в этом примере на всякий случай используется полная секунда.
public OnPlayerCommandText(playerid, cmdtext[])
{
if(!strcmp(cmdtext, "/banme", true))
{
// Забанивает игрока, который вводит эту команду
// Сначала отправим сообщение
SendClientMessage(playerid, 0xFF0000FF, "Вы себя забанили!");
// Баним
SetTimerEx("DelayedBan", 200, false, "d", playerid);
return 1;
}
return 0;
}
forward DelayedBan(playerid);
public DelayedBan(playerid) return Ban(playerid);
Связанные функции
Следующие функции также могут быть полезны, поскольку они так или иначе связаны с рассматриваемой функцией.
BanEx - забанить игрока по индивидуальной причине.
Kick - кикнуть игрока с сервера.
BlockIpAddress: заблокирует IP-адрес.
UnBlockIpAddress: разблокирует IP-адрес.