SAMP/BanEx

Материал из Pawno Info Wikipedia

BanEx


Описание:

Забанить игрока по причине.


Параметры:

(playerid, reason[])


playeridID игрока, которого нужно забанить.
reasonПричина бана.


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

Эта функция не возвращает никаких конкретных значений.


Wiki note.png

Примечание

При бане в файл samp.ban добавляется строка вида:
 127.0.0.1 [15/01/09 | 13:05:23] Name - Request


Wiki bug.png

Баг SA-MP

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


Wiki tip.png

Подсказка

Запреты IP могут быть добавлены/удалены с помощью rcon-команд banip и unbanip.


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

public OnPlayerCommandText(playerid, cmdtext[])
{
	if(!strcmp(cmdtext, "/banme", true))
	{
		// Забанивает игрока, выполнившего эту команду, и включает причину ("Request") 
		BanEx(playerid, "Request");
		return 1;
	}
}

// Чтобы отобразить сообщение (например, причину) для игрока перед закрытием соединения
// вы должны использовать таймер, чтобы создать задержку. Эта задержка должна составлять всего несколько миллисекунд,
// но в этом примере на всякий случай используется полная секунда.

public OnPlayerCommandText(playerid, cmdtext[])
{
	if(!strcmp(cmdtext, "/banme", true))
	{
		// Забанить игрока, выполнившего эту команду.
		BanExWithMessage(playerid, 0xFF0000FF, "You have been banned!", "Request");
		return 1;
	}
	return 0;
}

stock BanExWithMessage(playerid, color, message[], reason[])
{
	//reason - Причина бана, которая будет использоваться для BanEx.
	SendClientMessage(playerid, color, message);
	SetTimerEx("BanExPublic", 200, false, "ds", playerid, reason);
}
forward BanExPublic(playerid, reason[]);
public BanExPublic(playerid, reason[]) return BanEx(playerid, reason);


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

Следующие функции также могут быть полезны, поскольку они так или иначе связаны с рассматриваемой функцией.
  • Kick - кикнуть игрока с сервера.
  • Ban - забанить игрока на сервере.
  • BlockIpAddress - заблокировать IP-адрес игрока.
  • UnBlockIpAddress - разблокировать IP-адрес игрока.