Вот сидел смотрел и думал как сделать действительно мощный античит и тут я додумался наконец то что всё оч.просто
Данный античит ловит моментально AirBreak,Телепорт,Аир в машине и тп в машине,так же оч.хорошо вылавливает Fly Hack от мишани + моментально ловит каршот и Аир на заднем сидение машины Анти каршот на водительское буду делать позже а сейчас код
в pInfo
Float:AntiFly[3],
TimeFly,
==========================================================================================
в секундный таймер
new Float:pos[3];
GetPlayerPos(i,pos[0],pos[1],pos[2]);
if(pos[0] != 0 && pos[1] != 0 && pos[2] != 0)
{
if(gettime() > PlayerInfo[i][TimeFly])
{
new dist = floatround(GetPlayerDistanceFromPoint(i,PlayerInfo[i][AntiFly][0],PlayerInfo[i][AntiFly][1],PlayerInfo[i][AntiFly][2]));
if(GetPlayerState(i) != 2 && GetPlayerState(i) == 3 && dist > 4)
{
KickEx(i,COLOR_LIGHTRED,"Текст");
return 1;
}
if(dist > 150)
{
KickEx(i,COLOR_LIGHTRED,"Текст");
return 1;
}
else
{
if(dist > 14 && GPspeed(i) <= 0 && GVspeed(carid) <= 0)
{
KickEx(i,COLOR_LIGHTRED,"Текст");
return 1;
}
else GetPlayerPos(i,PlayerInfo[i][AntiFly][0],PlayerInfo[i][AntiFly][1],PlayerInfo[i][AntiFly][2]);
}
}
}
========================================================================================
в OnPlayerConnect в начало колбека
GetPlayerPos(playerid,PlayerInfo[playerid][AntiFly][0],PlayerInfo[playerid][AntiFly][1],PlayerInfo[playerid][AntiFly][2]);
========================================================================================
в OnPlayerExitVehicle в начало колбека
GetPlayerPos(playerid,PlayerInfo[playerid][AntiFly][0],PlayerInfo[playerid][AntiFly][1],PlayerInfo[playerid][AntiFly][2]);
========================================================================================
в OnPlayerUpdate мне пришлось его использовать потому что при падение с большой высоты сек.таймер отстаёт и при приземление может быть ложный
new anim = GetPlayerAnimationIndex(playerid);
if(PlayerInfo[playerid][PlayerInAFK] > 0 || anim == 1130) GetPlayerPos(playerid,PlayerInfo[playerid][AntiFly][0],PlayerInfo[playerid][AntiFly][1],PlayerInfo[playerid][AntiFly][2]);
========================================================================================
В конец мода
stock SetPlayerPosEx(playerid,Float:X,Float:Y,Float:Z)
{
TIMEfly(playerid,2);
pPlayer[playerid][AntiFly][0] = X;
pPlayer[playerid][AntiFly][1] = Y;
pPlayer[playerid][AntiFly][2] = Z;
SetPlayerPos(playerid,X,Y,Z);
SetCameraBehindPlayer(playerid);
return 1;
}
#define SetPlayerPos SetPlayerPosEx
stock TIMEfly(playerid,extra)
{
pPlayer[playerid][TimeFly]=gettime()+extra;
return 1;
}
stock GVspeed(vehicleid)
{
new Float:ST[3];
GetVehicleVelocity(vehicleid, ST[0], ST[1], ST[2]);
return floatround(floatsqroot(ST[0]*ST[0] + ST[1]*ST[1] + ST[2]*ST[2])*100.3);
}
stock GPspeed(playerid)
{
new Float:pos[4];
GetPlayerVelocity(playerid,pos[0],pos[1],pos[2]);
pos[3] = floatsqroot(floatpower(floatabs(pos[0]), 2.0) + floatpower(floatabs(pos[1]), 2.0) + floatpower(floatabs(pos[2]), 2.0))*213.3;
return floatround(pos[3]);
} stock SetPlayerPosEx(playerid,Float:X,Float:Y,Float:Z)
{
TIMEfly(playerid,2);
pPlayer[playerid][AntiFly][0] = X;
pPlayer[playerid][AntiFly][1] = Y;
pPlayer[playerid][AntiFly][2] = Z;
SetPlayerPos(playerid,X,Y,Z);
SetCameraBehindPlayer(playerid);
return 1;
}
#define SetPlayerPos SetPlayerPosEx
stock TIMEfly(playerid,extra)
{
pPlayer[playerid][TimeFly]=gettime()+extra;
return 1;
}
stock GVspeed(vehicleid)
{
new Float:ST[3];
GetVehicleVelocity(vehicleid, ST[0], ST[1], ST[2]);
return floatround(floatsqroot(ST[0]*ST[0] + ST[1]*ST[1] + ST[2]*ST[2])*100.3);
}
stock GPspeed(playerid)
{
new Float:pos[4];
GetPlayerVelocity(playerid,pos[0],pos[1],pos[2]);
pos[3] = floatsqroot(floatpower(floatabs(pos[0]), 2.0) + floatpower(floatabs(pos[1]), 2.0) + floatpower(floatabs(pos[2]), 2.0))*213.3;
return floatround(pos[3]);
}
========================================================================================
AddPlayerClas убераем вобще из мода
Проверку на AFK ставим свою