dc_kickfix.inc (Kick/Ban/BanEx)
Этот инклуд планировался к выпуску около года назад, но тогда я подумал, что кто-нибудь наверняка уже сделал что-то подобное, но с большим количеством фич. Как оказалось, нет, и было бы грех просто так выбрасывать старую работу.
Описание:
Как уже понятно из названия, этот инклуд исправляет досадную "фичу", связанную с тем, что функции Kick, Ban и BanEx начисто обрывают связь с игроком, из-за чего ему нельзя показать сообщение с причиной бана или сделать что-нибудь ещё.
Преимущества реализации:- Прозрачная замена функций Kick, Ban и BanEx.
От вас требуется лишь подключить инклуд, больше ничего изменять в моде не нужно.
- Настраиваемое время задержки.
По умолчанию при вызове Kick/Ban/BanEx производится задержка в 0.5 секунды (500 мс), но эту задержку можно изменить, выставив своё время перед подключением инклуда.
Пример:
PHP код:
#define DC_KICKFIX_INTERVAL 1000
#include "../include/dc_kickfix.inc"
- Сохранена возможность доступа к оригинальным функциям.
Для этого зарезервированы имена ImmediateKick, ImmediateBan и ImmediateBanEx, с помощью которых можно вызвать оригинальные функции SA-MP, без задержки.
Это может быть полезно для отражения атак на сервер, когда необходимо как можно быстрее избавиться от атакующего.
Пример использования:
PHP код:
CMD:kick(playerid, params[])
{
if(0 == IsPlayerAdmin(playerid))
return 1;
new targetid;
if(sscanf(params, "uS[126]", targetid, params))
return SendClientMessage(playerid, -1, !"Использование: /kick [ID/часть ника] {причина}");
new string[144], adm_name[MAX_PLAYER_NAME + 1];
GetPlayerName(playerid, adm_name, sizeof(adm_name);
GetPlayerName(targetid, string, sizeof(string);
format(
string, sizeof(string),
"Администратор %s кикнул игрока %s, причина: %s",
string, params
);
for(new i = GetMaxPlayers(); i-- != 0; )
if(IsPlayerAdmin(i))
SendClientMessage(i, -1, string);
format(
string, sizeof(string),
"Вы были кикнуты администратором %s, причина: %s",
adm_name, params
);
SendClientMessage(targetid, -1, string);
return Kick(targetid);
}
Скачать: https://www.dropbox.com/s/c54p003f2a...dc_kickfix.inc
Автор: Daniel_Cortez
Специально для
Pro-Pawn.ru
Копирование данной статьи на других ресурсах без разрешения автора запрещено!