Античит на оружие и патроны
Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 12

Тема: Античит на оружие и патроны

  1. #1
    Профессионал Аватар для McLuhan
    Регистрация
    09.07.2010
    Адрес
    Украина. Харьков.
    Сообщений
    2,790
    Вес репутации
    1

    Античит на оружие и патроны

    Мой первый античит.
    Вроде непробиваемый, сколько не пробовали, сразу палил.

    PHP код:
    new plgun[MAX_PLAYERS][13], plammo[MAX_PLAYERS][13];

    public 
    OnPlayerConnect(playerid)
    {
        
    ResetWeaponAll(playerid);
        return 
    1;
    }

    public 
    OnPlayerUpdate(playerid)
    {
        new 
    dataguniddataammo;
        for(new 
    s!= 13s++)
        {
            
    GetPlayerWeaponData(playeridsdataguniddataammo);
            if(
    datagunid != && datagunid != 46 && datagunid != 40 && ((datagunid != plgun[playerid]) || (datagunid == plgun[playerid] && dataammo != plammo[playerid])))
            {
                
    // тут действие при выявлении чита, кик, мессага, прочее
                
    SendClientMessageToAll(-1"McLuhan USED WEAPON/AMMO CHEAT");
                
    Kick(playerid); // обязательно Kick, а не исправленный кик, потому что в исправленом есть задержка,
                // ..а нужно кикать сразу, чтобы игрок не успел провеизвести выстрел.
            
    }
        }
        return 
    1;
    }

    public 
    OnPlayerWeaponShot(playeridweaponidhittypehitidFloat:fXFloat:fYFloat:fZ)
    {
        new 
    gunslot getWeaponIdSlot(weaponid);
        if(
    plammo[playerid][gunslot] > 0plammo[playerid][gunslot]--;
        return 
    1;
    }

    stock ResetWeaponAll(playerid)
    {
        for(new 
    s!= 13s++)
        {
            
    plgun[playerid] = 0;
            
    plammo[playerid] = 0;
        }
        
    ResetPlayerWeapons(playerid);
        return 
    1;
    }

    stock ResetWeapon(playeridslotgunid)
    {
        
    ResetPlayerWeapons(playerid);
        
    plgun[playerid][slotgunid] = 0;
        
    plammo[playerid][slotgunid] = 0;
        for(new 
    s!= 13s++)
        {
            
    GiveWeapon(playeridplgun[playerid], plammo[playerid]);
        }
        return 
    1;
    }

    stock getWeaponIdSlot(weaponid)
    {
        switch(
    weaponid)
        {
            case 
    01: return 0;
            case 
    2..9: return 1;
            case 
    10..15: return 10;
            case 
    16..1839: return 8;
            case 
    22..24: return 2;
            case 
    25..27: return 3;
            case 
    282932: return 4;
            case 
    3031: return 5;
            case 
    3334: return 6;
            case 
    35..38: return 7;
            case 
    40: return 12;
            case 
    41..43: return 9;
            case 
    44..46: return 11;
        }
        return -
    1;
    }

    stock GiveWeapon(playeridgunidammo)
    {
        new 
    slotgunid getWeaponIdSlot(gunid);
        
    plgun[playerid][slotgunid] = gunid;
        
    plammo[playerid][slotgunid] = ammo;
        
    GivePlayerWeapon(playeridgunidammo);
        return 
    1;

    Последний раз редактировалось McLuhan; 04.05.2014 в 23:24.
    ВКонтакте: http://vk.com/e.kosovskij
    Портфолио: https://vk.com/scr.kosovskij

    Услуги опытного скриптера (разработка модов с нуля, написание сложных систем, текстдравы)

  2. #2
    Забаненный
    Регистрация
    11.12.2011
    Адрес
    Алтайский край
    Сообщений
    2,035
    Вес репутации
    0

    Re: Античит на оружие и патроны

    for(new s; s != 13; s++)
    {
    new datagunid, dataammo;
    GetPlayerWeaponData(playerid, s, datagunid, dataammo);
    if(datagunid != 0 && datagunid != 46 && datagunid != 40 && ((datagunid != plgun[playerid]) || (datagunid == plgun[playerid] && dataammo != plammo[playerid])))
    {
    может проще было бы в этом месте использовать обычный GetPlayerWeapon и GetPlayerAmmo без циклов?

  3. #3
    (¬‿¬) Аватар для g3o0or
    Регистрация
    26.09.2012
    Сообщений
    1,227
    Вес репутации
    1

    Re: Античит на оружие и патроны

    Пару советов:
    Для plgun заюзай char, в getWeaponIdSlot сразу возвращай значение вместо создания переменной, в ResetWeapon в кач-ве аргумента лучше сразу отправляй слот, new datagunid, dataammo; вынести за цикл.

  4. #4
    Профессионал Аватар для McLuhan
    Регистрация
    09.07.2010
    Адрес
    Украина. Харьков.
    Сообщений
    2,790
    Вес репутации
    1

    Re: Античит на оружие и патроны

    Цитата Сообщение от Seregamil Посмотреть сообщение
    может проще было бы в этом месте использовать обычный GetPlayerWeapon и GetPlayerAmmo без циклов?
    Тогда античит будет ловить читера только когда начитеренное оружие в его руках.
    ВКонтакте: http://vk.com/e.kosovskij
    Портфолио: https://vk.com/scr.kosovskij

    Услуги опытного скриптера (разработка модов с нуля, написание сложных систем, текстдравы)

  5. #5
    Профессионал Аватар для McLuhan
    Регистрация
    09.07.2010
    Адрес
    Украина. Харьков.
    Сообщений
    2,790
    Вес репутации
    1

    Re: Античит на оружие и патроны

    Цитата Сообщение от ge0or Посмотреть сообщение
    Пару советов:
    Для plgun заюзай char, в getWeaponIdSlot сразу возвращай значение вместо создания переменной, в ResetWeapon в кач-ве аргумента лучше сразу отправляй слот, new datagunid, dataammo; вынести за цикл.
    не понял
    сделал
    ВКонтакте: http://vk.com/e.kosovskij
    Портфолио: https://vk.com/scr.kosovskij

    Услуги опытного скриптера (разработка модов с нуля, написание сложных систем, текстдравы)

  6. #6
    Забаненный
    Регистрация
    11.12.2011
    Адрес
    Алтайский край
    Сообщений
    2,035
    Вес репутации
    0

    Re: Античит на оружие и патроны

    Цитата Сообщение от McLuhan Посмотреть сообщение
    Тогда античит будет ловить читера только когда начитеренное оружие в его руках.
    И? Всеравно в определённый момент он спалится.

  7. #7
    (¬‿¬) Аватар для g3o0or
    Регистрация
    26.09.2012
    Сообщений
    1,227
    Вес репутации
    1

    Re: Античит на оружие и патроны

    Цитата Сообщение от McLuhan Посмотреть сообщение
    не понял
    сделал
    http://ziggi.org/pawn-peremennye-i-massivy/

  8. #8
    Пользователь Аватар для glAze
    Регистрация
    30.03.2012
    Сообщений
    466
    Вес репутации
    1

    Re: Античит на оружие и патроны

    Забыл {s} у plgun и plammo
    if(datagunid != 0 && datagunid != 46 && datagunid != 40 && ((datagunid != plgun[playerid]) || (datagunid == plgun[playerid] && dataammo != plammo[playerid])))

    stock ResetWeaponAll(playerid)
    {
    for(new s; s != 13; s++)
    {
    plgun[playerid] = 0;
    plammo[playerid] = 0;
    }
    ResetPlayerWeapons(playerid);
    return 1;
    }
    Последний раз редактировалось glAze; 05.05.2014 в 19:42.

  9. #9
    Пользователь
    Регистрация
    02.06.2014
    Сообщений
    257
    Вес репутации
    1

    Re: Античит на оружие и патроны

    По пробовал значит я данный античит, и вот что я выяснил:

    при реконнекте оставлю чит вкл на оружие а потом когда зашёл уже в игру активирую НОЖ.
    тогда норм берётся.
    а если наоборот КИКАЕТ.

  10. #10
    Профессионал Аватар для ZiGGi
    Регистрация
    15.07.2010
    Адрес
    St. Petersburg
    Сообщений
    293
    Вес репутации
    1

    Re: Античит на оружие и патроны

    Использовать GetPlayerWeaponData для античита нельзя! Эта функция не всегда возвращает правильные данные, используйте GetPlayerWeapon.

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

Похожие темы

  1. Ответов: 0
    Последнее сообщение: 03.04.2014, 16:03
  2. Как правильно сохранять оружие и патроны игрока?
    от SpitFire в разделе Вопросы по скриптингу
    Ответов: 4
    Последнее сообщение: 27.08.2013, 16:40

Ваши права

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