Pelmen
Новичок
Искал хороший античит на оружие, и не нашел. Решил выложить свой.
Приступим.
Добавим масивы:
В OnGameModeInit
В OnPlayerConnect
В OnPlayerSpawn
В OnPlayerEnterVehicle
Перейдем к макросам.
В конец мода вставляем:
Поменяйте все GivePlayerWeapon на GiveWeapon (кроме GivePlayerWeapon в макросе выше).
Поменяйте все ResetPlayerWeapons на ResetWeapons (кроме ResetPlayerWeapons в макросе выше).
Теперь сама проверка игроков на нелегальное оружие.
В конец мода:
Спасибо за внимание.
Если есть какие либо баги в античите, то, пишите.
В версии 2.0 будет добавлена проверка на патроны (против размножалок).
Приступим.
Добавим масивы:
PHP:
new PlayerWeapon[MAX_PLAYERS][47];
PHP:
forward GetWeapon();
PHP:
SetTimer("GetWeapon",1000,1); //таймер будет запускать проверку раз в 1 секунду
PHP:
ResetWeapons(playerid); //забирет все оружие у игрока и обнулит значения для античита при подключении к серверу
PHP:
ResetWeapons(playerid); //забирет все оружие у игрока и обнулит значения для античита при спавне игрока
PHP:
switch (GetVehicleModel(vehicleid))
{
case 417,425,447,460,469,476,487,488,497,511,512,513,519,520,548,553,563,577,592,593: //id моделей всех летательных средств
{
PlayerWeapon[playerid][46]=1; //меняем значение парашюта для античита, что бы не кикнуло при посадке в летательное средство
GiveWeapon(playerid,46,0); //выдаем парашют игроку при попытке сесть в летательное средство
}
}
В конец мода вставляем:
PHP:
stock GiveWeapon(playerid,weaponid,ammo) //макрос выдачи оружия
{
PlayerWeapon[playerid][weaponid]=1; //меняем значение выданного оружия на true для античита
GivePlayerWeapon(playerid,weaponid,ammo); //выдаем оружие игроку
return 1;
}
PHP:
stock ResetWeapons(playerid) //макрос отбора всего оружия у игрока и обнуления всех значений для античита
{
for(new i=1; i<47; i++)
{
PlayerWeapon[playerid][i]=0; //обнуление всех значений античита
}
ResetPlayerWeapons(playerid); //забираем все оружие у игрока
}
Теперь сама проверка игроков на нелегальное оружие.
В конец мода:
PHP:
public GetWeapon()
{
for(new i=0; i<MAX_PLAYERS; i++)
{
for(new g=1; g<47; g++)
{
new weapons,ammo;
GetPlayerWeaponData(i,g,weapons,ammo); //узнаем какое оружие есть у игрока
if(weapons!=0&&PlayerWeapon[i][weapons]==0) //проверяем есть ли у него нелегальное оружие
{
SendClientMessage(i,-1,"Вы кикнуты по подозрению в читах!");
Kick(i); //если у него имеется нелегальное оружие, то, кикаем его
}
}
}
}
Если есть какие либо баги в античите, то, пишите.
В версии 2.0 будет добавлена проверка на патроны (против размножалок).
Последнее редактирование:
