Гайд [Урок] Пишем античит на оружие

Статус
В этой теме нельзя размещать новые ответы.

kaZax

samp.work
Автор темы
Проверенный
150
23
Пишем античит на оружие.
Сначала создаем массив для всех игрокок и на все оружие.
PHP:
new Weapons[MAX_PLAYERS][47];
Теперь обнуляем массив игрока
В паблик OnPlayerConnect
PHP:
for(new i=0;i<47;i++) Weapons[playerid][i]=0;//обнуление
Теперь защиту от ложных срабатываний, например когда садимся в авто:
В паблик OnPlayerStateChange
PHP:
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;
            }
        }
Теперь саму проверку:
В паблик OnPlayerUpdate
PHP:
new weap = GetPlayerWeapon(playerid);
        if(weap != 0 && !Weapons[playerid][weap] && weap != 40)
        {
                //Действие например кик
                Kick(playerid);
        }
Теперь сток через которое мы даем оружие
PHP:
stock GiveWeapon(player,weapid,ammo)
{
Weapons[player][weapid]= 1;
GivePlayerWeapon(player,weapid,ammo);
return ;
}

Теперь нужно заменить все GivePlayerWeapon на GiveWeapon
Через дефайн не будет работать проверено.
Например код:
PHP:
#define GivePlayerWeapon GiveWeapon
Не работает. Заменять все надо в ручную.
 
  • Нравится
Реакции: xlolx

D3structoR

Известный
71
92
Ложные срабатывания на некотором оружии таких как камера винтовка с оптикой и тд
 
Статус
В этой теме нельзя размещать новые ответы.