Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.

Реклама


**Как получить V.I.P** (Перейти)
Чтобы заказать рекламу на Pro-Pawn.Ru, обращайтесь в Skype.
Баннерная реклама 200руб/мес, Текстовая 100руб/мес.
Показано с 1 по 7 из 7
  1. #1
    Аватар для Londlem
    Модератор

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

    на 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()); // Перехватываем время последнего нажатия этой клавиши 
    Вот и всё, удачного скриптинга!


    Автор: Londlem

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

    Копирование данной статьи без разрешения автора запрещено!
    Последний раз редактировалось Londlem; 22.09.2015 в 16:45.

  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,438
    Репутация:
    261 ±
    +C есть куда лучше этого....
    Например вот это:

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

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

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

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

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

    Steve Pavlina

  5. #4
    Аватар для Londlem
    Модератор

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

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

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

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

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

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

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

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

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

  10. 2 пользователя(ей) сказали cпасибо:
    #enotya (03.08.2017)Unreal (22.09.2015)
 

 

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

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

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

Ваши права

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