Перейти к содержанию
Авторизация  
ByMeR_OK

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

Рекомендуемые сообщения

ByMeR_OK

Сейчас я расскажу как создать эффективный анти-чит на оружие.

Начнем.

Для начало добавим массивчики.

new Weapons[MAX_PLAYERS][47];
Теперь в OnPlayerConnect

for(new i=0;i<47;i++) Weapons[playerid][i]=0;//обнуление
Дальше в OnPlayerStateChange добавляем следующие чтоб анти-чит не сработал при посадке например в самолет.

if(newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER)
    {
             new model = GetVehicleModel(GetPlayerVehicleID(playerid));
             switch(model)
             {
                 case 592,577,511,512,520,593,553,476,519,460,513,548,425,417,487,488,497,563,447,469: Weapons[playerid][46]= 1;
                 case 457: Weapons[playerid][2]= 1;
                 case 596,597,598,599: Weapons[playerid][25]= 1;
             }
    }
Теперь проверка можете поставить ее под таймер ну или как вам удобно.

new weap = GetPlayerWeapon(playerid);
    if(weap != 0 && !Weapons[playerid][weap] && weap != 40)
    {
        //Действие например кик
        Kick(playerid);
    }
Теперь макрос выдачи оружия.

stock GiveWeapon(player,weapid,ammo);
{
Weapons[player][weapid]= 1;
GivePlayerWeapon(player,weapid,ammo);
return ;
}
Теперь нужно заменить все GivePlayerWeapon на GiveWeapon

можете делать вручную а можете поставить макрос.

#define GivePlayerWeapon GiveWeapon
Все урок окончен.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.