U_AC_MONEY.INC BY UNTONYST
Обновил из-за утери того инклуда :с
Это простенький античит на деньги. Я решил сделать его более юзабильным и поэтому не стал прятать в функции-перехватчики функции для проверки игрока. Я подумал, что вы сами можете решать где вам надо проверить игрока на использование этого чита.
Работа с инклудом:
- Чтобы подключить его и начать им пользоваться, просто подключите его в самом начале вашего мода.
PHP код:
#include <u_ac_money>
- При ложных срабатываниях, связанные с проблемами с сетью, высоким пингом или чем-нибудь еще, перед подключением инклуда добавим
PHP код:
#define AC_MONEY_IGNORE_TIME 1000
#include <u_ac_money>
Работа с функциями инклуда:
- Функция CheckPlayerOnMoney.
Опциональный параметр:
PHP код:
CheckPlayerOnMoney(playerid, call=0)
Если вызывать функция с дополнительным вторым параметром, то вместе с функцией вызовется колбэк OnMoneyCheatDetected, если вы его используете, в котором вы можете указать свое наказание. Кроме того, у игрока будет восстановлен счет вне зависимости от используете вы колбэк или нет. А если не указывать, то вызвано ничего не будет, кроме возвращаемых значений.
Возвращаемый значения:
- 0: Игрок не использовал читы. Результат отрицательный.
- 1: Игрок использовал читы. Результат положительный.
- Колбэк OnMoneyCheatDetected:
PHP код:
public OnMoneyCheatDetected(playerid, cheat_money, money)
{
}
Функция не возвращает никакого конкретного значения.
Аргументы:
- cheat_money: Сколько игрок начитерил денег.
- money: Сколько у игрока по настоящему денег.
Использование:
PHP код:
#include <zcmd>
#include <sscanf2>
CMD:checkplayer(playerid, params[])
{
new targetid;
if(sscanf(params, "u", targetid))
return SendClientMessage(playerid, -1,
!"Введите /checkplayer [игрок]"
);
if(CheckPlayerOnMoney(targetid) == 1)
{
static const fmt_str[] =
"У игрока %s (id %i) была обнаружено использование чита на деньги.";
new str[sizeof fmt_str + (-2+MAX_PLAYER_NAME) + (-2+4)];
GetPlayerName(targetid, str, MAX_PLAYER_NAME);
format(str, sizeof str, fmt_str, str, targetid);
return SendClientMessage(playerid, -1, str);
}
return SendClientMessage(playerid, -1,
!"Использование чита на деньги не обнаружено."
);
}
Скачать: