BanEx RU
From SA-MP Wiki
BanEx
Описание:
Отличие этой функции от Ban в том, что можно указать причину бана. Функция сохраняет IP-адрес, время бана и причину в файл samp.ban, который находится в корневом каталоге вашего сервера.
(playerid,reason)
playerid | ID игрока, которого вы хотите забанить. |
reason | Причина бана. |
Возвращаемые значения:
Данная функция не возвращает какого-либо конкретного значения.
Пример использования:
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
Важное | Начиная с 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: Кикает (выкидывает) игрока с сервера.