Ban RU

From SA-MP Wiki

Revision as of 09:11, 27 August 2019; view current revision
←Older revision | Newer revision→
Jump to: navigation, search

Ban

Описание:

Функция банит игрока на вашем сервере по IP-адресу. Забаненный игрок больше не сможет снова присоединиться к серверу. Сохраняет IP-адрес и время бана в файл samp.ban, который находится в корневом каталоге вашего сервера. BanEx позволяет указать причину бана. Баны по IP могут быть добавлены/удалены используя RCON-команды banip и unbanip (SendRconCommand).


Параметры:
(playerid)
playeridID игрока, которого вы хотите забанить.


Возвращаемые значения:

  • 1: Функция успешно выполнена.
  • 0: Функции не удалось выполниться. Игрок не подключен.


Пример использования:

public OnPlayerCommandText(playerid, cmdtext[])
{
    if(strcmp(cmdtext, "/banme", true) == 0)
    {
        // Банит игрока, который воспользуется этой командой
        Ban(playerid);
        return 1;
    }
}
Image:32px-Circle-style-warning.png

Важное
Примечание

Начиная с SA-MP 0.3x, любые действия, предпринятые перед использованием функции Ban() (такие как отправка сообщения, используя SendClientMessage) не выполнятся для игрока. Должен быть использован таймер для задержки бана.

Следующий фрагмент кода делает возможным отправку сообщения игроку перед тем, как он будет забанен:

// Для того, чтобы отобразить сообщение (например, причину) для игрока до того, как соединение будет закрыто
// вы должны использовать таймер, чтобы создать задержку. Эта задержка должна быть в несколько миллисекунд,
// но этот пример использует целую секунду для полной уверенности.
 
forward DelayedBan(playerid);
public DelayedBan(playerid)
{
    Ban(playerid);
}
 
public OnPlayerCommandText(playerid, cmdtext[])
{
    if(strcmp(cmdtext, "/banme", true) == 0)
    {
        // Банит игрока, который воспользуется этой командой
 
        // Первым делом, отправим ему сообщение.
        SendClientMessage(playerid, 0xFF0000FF, "Вы были забанены!");
 
        // На самом деле баним игрока только через секунду по таймеру.
        SetTimerEx("DelayedBan", 1000, false, "d", playerid);
        return 1;
    }
    return 0;
}

Связанные функции

Следующие функции могут быть полезны, т.к. они так или иначе связаны с текущей функцией.

  • BanEx: Бан игрока с указанием причины.
  • Kick: Кикает (выкидывает) игрока с сервера.
Personal tools