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

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

  1. #1
    Проверенный Аватар для e.kosovskij
    Регистрация
    09.07.2010
    Адрес
    Украина, Харьков
    Сообщений
    3,180
    Репутация: 308

    Звание: как роза среди колючек

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

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

    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;


  2. #2
    Истеричка
    Регистрация
    11.12.2011
    Возраст
    26
    Сообщений
    2,324
    Репутация: 323

    Звание: как роза среди колючек

    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
    unknown2154
    Бродяга

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

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

  4. #4
    Проверенный Аватар для e.kosovskij
    Регистрация
    09.07.2010
    Адрес
    Украина, Харьков
    Сообщений
    3,180
    Репутация: 308

    Звание: как роза среди колючек

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

    Цитата Сообщение от Seregamil Посмотреть сообщение
    может проще было бы в этом месте использовать обычный GetPlayerWeapon и GetPlayerAmmo без циклов?
    Тогда античит будет ловить читера только когда начитеренное оружие в его руках.

  5. #5
    Проверенный Аватар для e.kosovskij
    Регистрация
    09.07.2010
    Адрес
    Украина, Харьков
    Сообщений
    3,180
    Репутация: 308

    Звание: как роза среди колючек

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

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

  6. #6
    Истеричка
    Регистрация
    11.12.2011
    Возраст
    26
    Сообщений
    2,324
    Репутация: 323

    Звание: как роза среди колючек

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

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

  7. #7
    unknown2154
    Бродяга

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

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

  8. #8
    Активный пользователь Аватар для glAze
    Регистрация
    30.03.2012
    Сообщений
    464
    Репутация: 60

    Звание: скоро придёт к известности

    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;
    }

  9. #9
    Активный пользователь
    Регистрация
    02.06.2014
    Сообщений
    262
    Репутация: 19

    Звание: на пути к лучшему

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

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

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

  10. #10
    Почетный пользователь LC Аватар для ziggi
    Регистрация
    15.07.2010
    Адрес
    St. Petersburg
    Возраст
    30
    Сообщений
    370
    Репутация: 151

    Звание: - весьма и весьма положительная личность

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

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

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

Похожие темы

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

Ваши права

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