Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 7 из 7
  1. #1
    Аватар для L0ndl3m
    Пользователь

    Статус
    Оффлайн
    Регистрация
    19.10.2013
    Адрес
    Ярославль
    Сообщений
    1,366
    Репутация:
    774 ±

    на Auto +C & Rapid Fire

    Всем привет. Если вы ещё не поняли, что такое Auto +C и/или Rapid Fire, то для начала стоит просмотреть два видео:
     Auto +C

     Rapid Fire


    Создадим глобальный массив (т.е. ко всем new), для подсчёта количества выстрелов за последнее время:
    PHP код:
    new player_shot_count[MAX_PLAYERS char]; 
    Данный код добавляем в OnPlayerWeaponShot (здесь и проверяются все выстрелы, сделанные игроком):
    PHP код:
    switch(weaponid)
    {
        case 
    23242534 :
        {
            new 
    server_tick GetTickCount();
            if(
    server_tick GetPVarInt(playerid"player_last_shot_tick") < 300 // Последний выстрел игрока из оружия
            
    && server_tick GetPVarInt(playerid"player_last_c_key") > 1000 // Последнее нажатие клавиши 'С'
            
    && ++player_shot_count{playerid} > // Количество выстрелов за некоторое время
            
    && !IsPlayerInAnyVehicle(playerid)) // Игрок не находится в транспорте ( выстрелы с оружия "Desert Eagle" достаточно быстрые, если игрок стреляет с пассажирского места из транспорта )
            
    {
                new 
    str[75];
                
    GetPlayerName(playeridstrsizeof(str));
                
    format(str75"[AntiCheat] %s (%i) вероятно использует Auto +C / Rapid Fire."strplayerid);
                
    player_shot_count{playerid} = 0;
                for (new 
    GetPlayerPoolSize() + 1i-- != 0;)
                    if(
    IsPlayerConnected(i) && IsPlayerAdmin(i))
                        
    SendClientMessage(i, -1str);
            }
            
    SetPVarInt(playerid"player_last_shot_tick"server_tick); // Перехватываем время, последнего выстрела игрока из оружия
        
    }

    Теперь добавляем самое главное в античит, это проверка, нажал ли игрок на клавишу 'C', после того как производил выстрел. Если игрок не нажимает на данную клавишу за определённое количество времени, то он попадается.

    Этот код добавляем в OnPlayerKeyStateChange:
    PHP код:
    if((newkeys 2) != 0// Если нажата хотя бы 1 клавиша, и/или это клавиша: 'C'
        
    SetPVarInt(playerid"player_last_c_key"GetTickCount()); // Перехватываем время последнего нажатия этой клавиши 
    Вот и всё, удачного скриптинга!


    Автор: L0ndl3m

    Специально для: Pro-Pawn.Ru

    Копирование данной статьи без разрешения автора запрещено!
    Последний раз редактировалось L0ndl3m; 17.01.2020 в 15:11.

  2. 4 пользователя(ей) сказали cпасибо:
    #enotya (03.08.2017) #Vito (12.02.2015) Nurick (11.10.2014) Processing (22.01.2016)
  3. #2
    Аватар для $continue$
    Пользователь

    Статус
    Оффлайн
    Регистрация
    02.08.2014
    Адрес
    г. Киров (aka Вятка)
    Сообщений
    1,487
    Репутация:
    276 ±
    +C есть куда лучше этого....
    Например вот это:

    Ложно сообщение будет, не?

  4. #3
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от Bublik_Public Посмотреть сообщение
    +C есть куда лучше этого....
    Например вот это:

    Ложно сообщение будет, не?
    Какие ложные срабатывания? +С позволяет стрелять быстрее, чем задуманно игрой и античит именно на этом построен
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

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

    Статус
    Оффлайн
    Регистрация
    19.10.2013
    Адрес
    Ярославль
    Сообщений
    1,366
    Репутация:
    774 ±
    Цитата Сообщение от Bublik_Public Посмотреть сообщение
    +C есть куда лучше этого....
    Например вот это:
     Видео

    Ложно сообщение будет, не?
    Что-то я здесь не заметил Auto +C, обычный Turbo +C, не более.

    Перечитайте ещё раз первый пост, античит расчитан не на сам баг игрового движка, а на CLEO чит.

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

    Статус
    Оффлайн
    Регистрация
    21.04.2013
    Адрес
    Россия
    Сообщений
    154
    Репутация:
    1 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Какие ложные срабатывания? +С позволяет стрелять быстрее, чем задуманно игрой и античит именно на этом построен
    дай скайп пжл буду спрашивать если будут вопросы думаю ты мне поможешь!

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

    Статус
    Оффлайн
    Регистрация
    24.09.2014
    Сообщений
    133
    Репутация:
    4 ±
    PHP код:
    OnPlayerWeaponShot(playeridweaponidhittypehitidFloat:fXFloat:fYFloat:fZ
    можно ли использовать вместо switch(GetPlayerWeapon(playerid)) weaponid?

  8. 3 пользователя(ей) сказали cпасибо:
    #enotya (03.08.2017) Daniel_Cortez (22.09.2015) L0ndl3m (22.09.2015)
  9. #7
    Аватар для L0ndl3m
    Пользователь

    Статус
    Оффлайн
    Регистрация
    19.10.2013
    Адрес
    Ярославль
    Сообщений
    1,366
    Репутация:
    774 ±
    Можно, я действительно не додумался до этого. Спасибо за заметку.

  10. Пользователь сказал cпасибо:
    #enotya (03.08.2017)
 

 

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

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

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

Ваши права

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