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;
}
bool: basseins(playerid);
stock bool: basseins(playerid)
{
if(IsPlayerInRangeOfPoint(playerid,100,193.69999694824,-1232.5999755859,76.599998474121)) return true;
if(IsPlayerInRangeOfPoint(playerid,20,1089.9260,-665.9568,111.4500)) return true;
if(IsPlayerInRangeOfPoint(playerid,1200,-893.29998779297,2387.8999023438,40)) return true;
if(IsPlayerInRangeOfPoint(playerid,200,-1291.4000244141,2122.1000976563,40)) return true;
if(IsPlayerInRangeOfPoint(playerid,30,1953.6931,-1194.0907,17.4500)) return true;
if(IsPlayerInRangeOfPoint(playerid,30,2318.3306,-1415.2393,21.6150)) return true;
if(IsPlayerInRangeOfPoint(playerid,30,1286.5262,-804.5318,86.1230)) return true;
if(IsPlayerInRangeOfPoint(playerid,100,2582.8059,2384.6702,15.8500)) 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)
{
GetPlayerHealth(i, vida);
GetAnimationName(GetPlayerAnimationIndex(i), animlib, sizeof(animlib), animname, sizeof(animname));
GetPlayerPos(i,posz,posz,posz);
if(vida > 0){
if(posz >= 10 && strcmp(animlib, "SWIM", true) == 0 && animki(animname) == true)
{
if(basseins(i) == false && GetPlayerSurfingVehicleID(i) == INVALID_VEHICLE_ID && GetPVarInt(i,"Death") != 1)
{
ClearAnimations(i);
SetPVarInt(i,"Fly",GetPVarInt(i,"Fly")+1);
if(GetPVarInt(i,"Fly")>3)
{
Kick(i);
continue;
}
}
}
else if(GetPVarInt(i,"Fly")) SetPVarInt(i,"Fly",GetPVarInt(i,"Fly")-1);
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))
{
new Float:Velocity[3];
GetPlayerVelocity(i, Velocity[0], Velocity[1], Velocity[2]);
if(Velocity[2] > -0.2){
SetPVarInt(i,"Flye",GetPVarInt(i,"Flye")+1);
if(GetPVarInt(i,"Flye")>2){
Kick(i);
continue;
}
}
}
else if(GetPVarInt(i,"Flye"))SetPVarInt(i,"Flye",GetPVarInt(i,"Flye")-1);
}
}
}
}