BanEx RU

From SA-MP Wiki

Jump to: navigation, search

BanEx

Описание:

Отличие этой функции от Ban в том, что можно указать причину бана. Функция сохраняет IP-адрес, время бана и причину в файл samp.ban, который находится в корневом каталоге вашего сервера.


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


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

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


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

public OnPlayerCommandText( playerid, cmdtext[] )
{
    if( strcmp( cmdtext, "/banme", true ) == 0 )
    {
        // Банит игрока, который воспользуется этой командой по причине ("Request")
        BanEx( playerid, "Request" );
        return 1;
    }
}

Например, если игрок с ником Mike (ip: 127.0.0.1) воспользовался командой /banme, то в samp.ban появится запись:

127.0.0.1 [15/01/09 | 13:05:23] Mike - Request

Image:32px-Circle-style-warning.png

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

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

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

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

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

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

  • Ban: Бан игрока.
  • Kick: Кикает (выкидывает) игрока с сервера.
Personal tools
In other languages