В этом античите предусмотрены 2 чита на полет: FlyHack (sobeit) и Cleo SuperMan
В шапку:
В OnGameModeInit:PHP код:
new antysheat;
В конец мода:PHP код:
antysheat= SetTimer("AntySheat", 1000, 1);// Антчит на полет
v1.1
by Alpano.PHP код:
bool: animki(animname[]);
stock bool: animki(animname[])
{
if(strcmp(animname, "SWIM_crawl", true) == 0) return true;
if(strcmp(animname, "SWIM_BREAST", true) == 0) return true;
if(strcmp(animname, "SWIM_TREAD", true) == 0) return true;
return false;
}
forward AntySheat();
public AntySheat()
{
for (new i; i < GetMaxPlayers(); i++){
if(!IsPlayerConnected(i))continue;
new animlib[30],
animname[30],
Float:posz,
Float:vida,
if(!IsPlayerInAnyVehicle(i) && GetPlayerState(i) != 9){
new Float:coord[3],
Float:vida;
GetPlayerHealth(i, vida);
if(vida){
GetPlayerVelocity( i, coord[ 0 ], coord[ 1 ], coord[ 2 ] );
new Float:rtn = floatsqroot(floatabs(floatpower(coord[ 0 ] + coord[ 1 ] + coord[ 2 ],2))),
speed = floatround(rtn * 100 * 1.61),
animlib[30],
animname[30];
GetAnimationName(GetPlayerAnimationIndex(i), animlib, sizeof(animlib), animname, sizeof(animname));
if(strcmp(animlib, "SWIM", true) == 0 && animki(animname) == true){
if(speed > 40){
SetPVarInt(i,"Fly",GetPVarInt(i,"Fly")+1);
if(GetPVarInt(i,"Fly")>2){
Kick(i);
continue;
}
}
}
else if((strcmp(animlib, "PED", true) == 0 || strcmp(animlib, "PARACHUTE", true) == 0) && (strcmp(animname, "FALL_SKYDIVE", true) == 0
|| strcmp(animname, "FALL_SKYDIVE_ACCEL", true) == 0)){
if(coord[ 2 ] > 0){
SetPVarInt(i,"Fly",GetPVarInt(i,"Fly")+1);
if(GetPVarInt(i,"Fly")>2){
Kick(i);
continue;
}
}
}
else if(GetPVarInt(i,"Fly")) SetPVarInt(i,"Fly",GetPVarInt(i,"Fly")-1);
}
}
}
}
Критика и советы по оптимизации приветствуются!