Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 1 из 3 1 2 3 ПоследняяПоследняя
Показано с 1 по 10 из 28
  1. #1
    Аватар для Dima_Tushin
    Пользователь

    Статус
    Оффлайн
    Регистрация
    21.04.2013
    Адрес
    Россия
    Сообщений
    154
    Репутация:
    1 ±

    Античит на серфинг

    Здравствуйте пользователи pro-pawn решил поделиться античитом
    Серфинг - это чит который позволяет передвигаться с бешеной скорость принципе как AirBreak только сквозь стены не пробегает.

    Сам код.

    Ищем таймер с повторение в 1 секунду
    PHP код:
            if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
            {
                if(
    GetPlayerSpeed(playerid) > 100//Проверяем скорость
                
    && !IsPlayerApplyAnimation(playerid"FALL_FALL")//Проверка на анимацию
                
    && !IsPlayerApplyAnimation(playerid"FALL_SKYDIVE_ACCEL")//Проверка на анимацию
                
    && !IsPlayerApplyAnimation(playerid"PARA_OPEN")//Проверка на анимацию
                
    && !IsPlayerApplyAnimation(playerid"FALL_SKYDIVE") && PlayerInfo[playerid][pAdmin] < 1)//Проверка на анимацию и Администратора
                
    {
                    if(
    GetPVarInt(playerid"FloodTime") > gettime()) return 1;
                    new 
    string[90];
                    static const 
    admins[] = "<<Warning>> Игрок %s[%d]: Возможно чит на серфинг";
                    
    format(stringsizeof(string), adminsPlayerInfo[playerid][pName], playerid);
                    
    SendAdminMessage(COLOR_ADMINstring);
                    
    SetPVarInt(playerid"FloodTime"gettime()+60);
                }
            } 
    в конец мода
    PHP код:
    stock GetPlayerSpeed(playerid)//Функция с помощью которой мы получаем скорость Игрока
    {
        new 
    Float:Coord[4];
        
    GetPlayerVelocity(playeridCoord[0], Coord[1], Coord[2]);
        
    Coord[3] = floatsqroot(floatpower(floatabs(Coord[0]), 2.0) + floatpower(floatabs(Coord[1]), 2.0) + floatpower(floatabs(Coord[2]), 2.0)) * 213.3;
        return 
    floatround(Coord[3]);
    }

    stock IsPlayerApplyAnimation(playeridanimation[])//Функция с помощью которой мы получаем анимацию Игрока
    {
        if(!
    GetPlayerAnimationIndex(playerid)) return false;
        else
        {
            new 
    animlib[32], animname[32];
            
    GetAnimationName(GetPlayerAnimationIndex(playerid), animlibsizeof(animlib), animnamesizeof(animname));
            if(!
    strcmp(animnameanimationtrue)) return 1;
        }
        return 
    false;

    Жду критики по поводу Анти чита или же если найдете ошибку ложное срабатывание пишите исправим вместе.
    Разрабатываю свой собственный мод State RolePlay Mysql R38

  2. #2
    Аватар для vovandolg
    Пользователь

    Статус
    Оффлайн
    Регистрация
    17.11.2015
    Адрес
    Stavropol
    Сообщений
    1,369
    Репутация:
    113 ±
    Ну чтож пусть будет так:
    1) Зачем узнавать имя анимации когда можно тупо по ID её проверить
    2) Зачем нужна фулловая функция для проверки скорости, можно просто через VectorSize(там хз что быстрее floatcmp или floatround)
    3) Ну а теперь вспомним как работаёт сёрфинг и посмотрим что ты проверяешь там.

    Сёрфинг ускоряет бег, ходьбу(зажатый Alt).
    Ты проверяешь анимации которые по сути могут ложно сработать при десантировании
    (можно чекнуть на то что парашют висит или нет, но и тут будут свои обходы),
    а надо проверять что игрок юзает ходьбу или бег ну и скорость к каждому критерию естесна.

    Вот кстате подарок тебе
    PHP код:
    case 1160..1163,1224,1226,1228,1231,1249,1276,1278,1280
    это часть switch Anim's ID бегов и ходьбы всех видов походок(CJ есть или нету я не помню, для рп когда то собирал)
    [Anticheat]___Invisible Fly Hack
    [Anticheat]____Weapon/Ammo Hack
    [Function]______ResetPlayerWeaponSlot
    [Function]_______FIX_SetPlayerAmmo
    [ServerMod]______TDM | Zombie Apokalypse

  3. #3
    Аватар для Dima_Tushin
    Пользователь

    Статус
    Оффлайн
    Регистрация
    21.04.2013
    Адрес
    Россия
    Сообщений
    154
    Репутация:
    1 ±
    Сёрфинг ускоряет бег, ходьбу(зажатый Alt). что то не ускаряет у меня не чего я просто делаю шаг и он сам на скорости летит можно так сказать и не чего зажимать не надо)

    - При десантировании Ложных не нашел я проверял и учел этот момент)
    - 1) Зачем узнавать имя анимации когда можно тупо по ID её проверить - кому как удобно)
    Разрабатываю свой собственный мод State RolePlay Mysql R38

  4. #4
    Аватар для vovandolg
    Пользователь

    Статус
    Оффлайн
    Регистрация
    17.11.2015
    Адрес
    Stavropol
    Сообщений
    1,369
    Репутация:
    113 ±
    Цитата Сообщение от Dima_Tushin Посмотреть сообщение
    Сёрфинг ускоряет бег, ходьбу(зажатый Alt). что то не ускаряет у меня не чего я просто делаю шаг и он сам на скорости летит можно так сказать и не чего зажимать не надо)

    - При десантировании Ложных не нашел я проверял и учел этот момент)
    - 1) Зачем узнавать имя анимации когда можно тупо по ID её проверить - кому как удобно)
    Смотри сам, ты видать только начал таким заниматься, как будут обходить такой античит бери мой пост и разжёвывай, ещё забыл добавить при моём коде понадобится проверка на то что ты сёрфингуешь на авто или объекте так как шагать можно и на двигающихся авто/объектах и тогда ложняки будут.
    [Anticheat]___Invisible Fly Hack
    [Anticheat]____Weapon/Ammo Hack
    [Function]______ResetPlayerWeaponSlot
    [Function]_______FIX_SetPlayerAmmo
    [ServerMod]______TDM | Zombie Apokalypse

  5. #5
    Аватар для Nexius_Tailer
    Пользователь

    Статус
    Оффлайн
    Регистрация
    04.01.2015
    Адрес
    Гомель, Беларусь
    Сообщений
    547
    Репутация:
    158 ±
    Цитата Сообщение от vovandolg Посмотреть сообщение
    Вот кстате подарок тебе
    PHP код:
    case 1160..1163,1224,1226,1228,1231,1249,1276,1278,1280
    это часть switch Anim's ID бегов и ходьбы всех видов походок(CJ есть или нету я не помню, для рп когда то собирал)
    А толку? Я включу анимку приседания, танца ..., чего угодно, и смысл такой защиты будет нулевым, так что методом от противного как раз таки гораздо лучше, но всё равно вариант не самый удачный (т.к. можно вполне отсылать и анимку падения с парашютом, при этом нисколько не падая).

    Цитата Сообщение от Dima_Tushin Посмотреть сообщение
    - 1) Зачем узнавать имя анимации когда можно тупо по ID её проверить - кому как удобно)
    Не как удобно, а как быстрее. А быстрее было бы именно с простой проверкой на ид

    - - - Добавлено - - -

    И что-то мне подсказывает, что анимки падения учтены не все
    Не хотите постоянно проверять обновления моих скриптов?
    Подключите его последним, после всех остальных
    Nexius's Update Checker

  6. #6
    Аватар для vovandolg
    Пользователь

    Статус
    Оффлайн
    Регистрация
    17.11.2015
    Адрес
    Stavropol
    Сообщений
    1,369
    Репутация:
    113 ±
    Цитата Сообщение от Nexius_Tailer Посмотреть сообщение
    А толку? Я включу анимку приседания, танца ..., чего угодно, и смысл такой защиты будет нулевым, так что методом от противного как раз таки гораздо лучше, но всё равно вариант не самый удачный (т.к. можно вполне отсылать и анимку падения с парашютом, при этом нисколько не падая).


    Не как удобно, а как быстрее. А быстрее было бы именно с простой проверкой на ид
    Ну если клео ложный ID анимации не умеет посылать так как собейт(я по крайней мере не видел),
    то тогда другие анимации будут лишь обузой для такого чита, получится тупо аир,
    а так это для быстрого плавного передвижения с прицеливанием,
    может быть анимку и найдут какую то, но самый распространённый варик прикроет.
    [Anticheat]___Invisible Fly Hack
    [Anticheat]____Weapon/Ammo Hack
    [Function]______ResetPlayerWeaponSlot
    [Function]_______FIX_SetPlayerAmmo
    [ServerMod]______TDM | Zombie Apokalypse

  7. #7
    Аватар для Alpano
    Пользователь

    Статус
    Оффлайн
    Регистрация
    06.02.2017
    Сообщений
    123
    Репутация:
    16 ±
    Я что-то недогоняю.
    Зачем проверять анимки, если это заведомо ненадежный способ выявления читеров.
    Почему не катит просто проверять в таймере на 500 мс скорость игрока?
    Но не тупо проверять, и сразу кикать а действовать по такому принципу:

    Создаем переменную для каждого игрока.
    Если игрок летит как еб..й ежик соник, прибавляем еденицу к нашей перменной.
    Нежели он ведет себя адекватно, но наша переменная отлична от нуля, то убавляем.

    И смотрим, если наше значение > 2, то уже принимать меры.

    Да, быстродействие не такое шустрое, но такой способ практически исключает ложные. И стоит проверить, сидит ли игрок на крыше машины.

    П.С. я не умник, я бы и сам проверил, но читами этой категории не распологаю, а качать с нета это качать кота в мешке.
    MyProject:
    DriftEmpire©

    Ленивые всё делают быстро, чтобы поскорее избавиться от работы.
    И делают качественно, чтобы потом не переделывать.

  8. #8
    Аватар для Nexius_Tailer
    Пользователь

    Статус
    Оффлайн
    Регистрация
    04.01.2015
    Адрес
    Гомель, Беларусь
    Сообщений
    547
    Репутация:
    158 ±
    Цитата Сообщение от vovandolg Посмотреть сообщение
    Ну если клео ложный ID анимации не умеет посылать так как собейт(я по крайней мере не видел),
    то тогда другие анимации будут лишь обузой для такого чита, получится тупо аир,
    а так это для быстрого плавного передвижения с прицеливанием,
    может быть анимку и найдут какую то, но самый распространённый варик прикроет.
    Аир так не работает Он наоборот детектится через маленькую скорость при большой смене позиций. Как флайхак скорее возможно, но всё равно - подобрать можно абсолютно любую анимку, отличную от тех что в проверке (если брать твой вариант), а в варианте из первого поста как раз прокатит летать с анимкой падения или парашютиста, что кстати умеют не самые новые флайхаки. В общем, закрывать используемые на данный момент читы самым банальным образом не всегда вариант, так как труда обойти это не составит.

    Цитата Сообщение от Alpano Посмотреть сообщение
    Создаем переменную для каждого игрока.
    Если игрок летит как еб..й ежик соник, прибавляем еденицу к нашей перменной.
    Нежели он ведет себя адекватно, но наша переменная отлична от нуля, то убавляем.

    И смотрим, если наше значение > 2, то уже принимать меры.
    Вообще можно заморочиться и замерить приблизительную скорость для большинства анимок (как в анти-сх делали свою максимальную скорость для каждой модели авто), и уже от этого потом отталкиваться. Но работать это всё равно будет только если игрок прибавит в беге как "еб..й ежик соник", а словить ускорение на чуть-чуть не позволит хотя-бы та же зависимость скорости игрока от его FPS.
    Не хотите постоянно проверять обновления моих скриптов?
    Подключите его последним, после всех остальных
    Nexius's Update Checker

  9. #9
    Аватар для Alpano
    Пользователь

    Статус
    Оффлайн
    Регистрация
    06.02.2017
    Сообщений
    123
    Репутация:
    16 ±
    Мы сейчас про чит на AirBrk или "серфинг" ?!
    Я так понял это принципиально разные читы.
    MyProject:
    DriftEmpire©

    Ленивые всё делают быстро, чтобы поскорее избавиться от работы.
    И делают качественно, чтобы потом не переделывать.

  10. #10
    Аватар для Nexius_Tailer
    Пользователь

    Статус
    Оффлайн
    Регистрация
    04.01.2015
    Адрес
    Гомель, Беларусь
    Сообщений
    547
    Репутация:
    158 ±
    Тема, очевидно, про сёрфинг, и речь также о нём. Сёрфинг по сути тот же спидхак пешком, и ловить эффективней его можно задав свою максимальную скорость для разных групп анимаций, как сказал ранее
    Не хотите постоянно проверять обновления моих скриптов?
    Подключите его последним, после всех остальных
    Nexius's Update Checker

 

 
Страница 1 из 3 1 2 3 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •