31.08.2017, 08:36
Hello Guys, I am trying to do anti cheat teleport but the problem is how can i get distance between to point if the second point is to far the first point it will send a message like This Player Maybe Tele Hack
enum PlayerData
{
Float:PlayerX,
Float:PlayerY,
Float:PlayerZ
};
new PlayerInfo[MAX_PLAYERS][PlayerData];
forward SetPlayerPosEx(playerid, Float:X,Float:Y,Float:Z);
public SetPlayerPosEx(playerid, Float:X,Float:Y,Float:Z)
{
SetPVarInt(playerid, "Sided", 1);
PlayerInfo[playerid][PlayerX] = X;
PlayerInfo[playerid][PlayerY] = Y;
PlayerInfo[playerid][PlayerZ] = Z;
SetPlayerPos(playerid, X,Y,Z);
return 1;
}
Public OnPlayerUpdate(playerid)
{
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
If(x != PlayerInfo[playerid][PlayerX] && GetPvarInt(playerid, "Sided") == 1)
{
Kick(playerid);
SendClientMessage(playerid, 0xFFFFFFFF, "You caught teleporting. Kicking...");
}
return 1;
}
Public OnPlayerSpawn(playerid)
{
SetPVarInt(playerid, "Sided", 1);
return 1;
}
Public OnPlayerDisconnect(playerid)
{
DeletePVarInt(playerid, "Sided");
Return 1;
}