Перейти к содержанию
Авторизация  
ByMeR_OK

Анти NOP SetPlayerPos

Рекомендуемые сообщения

ByMeR_OK

Это решение поможет ещё чуть сильнее усложнить жизнь читерам, а именно палить NOP SetPlayerPos.

 

Куда нибудь в конец мода копируем:

forward AntiNOPSetPlayerPos(playerid, Float:x, Float:y, Float:z);
public AntiNOPSetPlayerPos(playerid, Float:x, Float:y, Float:z)
{
    new string[128];
    if(!IsPlayerInRangeOfPoint(playerid, 3.0, x, y, z))
    {
        format(string, sizeof(string), "%s[%d] кикнут. Причина: NOP SetPlayerPos", PlayerName(playerid), playerid);
        return SendClientMessageToAll(0xFF0000AA, string);
    }
    return 1;
}
Ну и сама функция (Заменить все SetPlayerPos у себя в моде, на SetPlayerPosAC):

stock SetPlayerPosAC(playerid, Float:x, Float:y, Float:z)
{
    SetPlayerPos(playerid, x, y, z);
    SetTimerEx("AntiNOPSetPlayerPos", 500, false, "ifff", playerid, x, y, z); // Где 500, это время в миллисекундах когда будет производиться проверка на нахождение игрока.
    // Если у вас кикает всех подряд, увеличивайте это время
    return 1;
}
Если у кого нету функции PlayerName:

stock PlayerName(playerid)
{
    new Name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, Name, sizeof(Name));
    return Name;
}
Автор: eFFect

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.