Доступ к готовым решениям

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info
  • Новые темы в этом разделе публикуются автоматически при добавлении файла в менеджер ресурсов.
    Ручное создание новых тем невозможно.

Include fix_K2BEx.inc | Мой вариант фикса

Untonyst

Умник
FIX_K2BEX.INC

Описание:
Этот инклуд исправляет "обновления" со времен SA-MP 0.3x, которые повлияли на работу функций Kick(), Ban() и BanEx(), путем вызова через функцию-перехватчик таймера с указанным вами временем или временем по умолчанию.​

Работа с инклудом:
  • Само собой, чтобы воспользоваться хрустящими плюшками инклуда, достаточно подключить его. Перед подключением, вы можете установить время (в миллисекундах) через сколько будет вызвана функция. Если не указывать этот момент перед подключением инклуда, будет использоваться значение по умолчанию - 200 миллисекунд.

    PHP:
    #define DEFAULT_TIME_K2BEX (500)
    #include <fix_k2bex>
  • Чтобы увеличить количество символов для места причины бана игрока (BanEx), опять же, перед подключение инклуда устанавливаем свое значение.

    PHP:
    #define MAX_REASON_TEXT (128)
    #include <fix_k2bex>
    Указание значения для MAX_REASON_TEXT, как и для DEFAULT_TIME_K2BEX, является не обязательным. По умолчанию, MAX_REASON_TEXT имеет значение 20. Это значит, что причина бана игрока может быть 20 символов.
  • Чтобы отключить игрока моментально от сервера, используйте CallKick(), CallBan() и CallBanEx(). Названия говорят сами за себя ;)

Пример использования:
PHP:
#include <fix_k2bex>  

COMMAND:kick(playerid, params[])
{
	new cmd_p_kick_id;
	if (sscanf(params, "us[55]", cmd_p_kick_id, params))
		return SendClientMessage(playerid, -1, "Введите / kick <ID/часть ника> <причина>");
	new fmt_str[144];
	format(fmt_str, sizeof(fmt_str), "Администрация кикнула вас. Причина: %s", params);
	SendClientMessage(cmd_p_kick_id, -1, fmt_str);
	Kick(cmd_p_kick_id);
	new cmd_player_name[MAX_PLAYER_NAME];
	GetPlayerName(cmd_p_kick_id, cmd_player_name, sizeof(cmd_player_name));
	format(fmt_str, sizeof(fmt_str), "Администрация кикнула игрока %s. Причина: %s", cmd_player_name, params);
	SendClientMessageToAll(-1, fmt_str);
	return 1;
}
Особая благодарность Kalcor за оригинальные обновления и Daniel_Cortez за написание статьи по исправлению бага в функции GetPVarString.

Автор: Untonyst

И глаголит Untonystъ истину простую своей рукой и четырьмя персатми, набирающие текст на иноземной неведанной доске всем, чтобы ты, узревшие тему очами зоркими своими, не спрятал свою гордыню и не украл честный труд Untonystъ. Но разрешает он словом своим в личной переписке, что разрешит он скопировать труд Untonystъ на всеобщее обозрение, если тот укажет настоящего автора этой летописи и желательно ссылку на летопись указать, если возможности позволяют. И истина эта проста, да не все с ней справляются.
 
Последнее редактирование:
Сверху Снизу