public OnPlayerUpdate(playerid)
{
new Float:hp;
hp = GetPlayerHealth(playerid, hp);
if(hp > 150 )
{
new string[128];
format(string,sizeof(string), "[Urban Gaming] %s has been kicked for the following Hack. (Healh Hacks)");
SendClientMessageToAll(COLOR_BRIGHTRED, string);
Kick(playerid);
}
new Float:arm;
hp = GetPlayerArmour(playerid, arm);
if(arm > 150 )
{
new string[128];
format(string,sizeof(string), "[Urban Gaming] %s has been kicked for the following Hack. (Armour Hacks)");
SendClientMessageToAll(COLOR_BRIGHTRED, string);
Kick(playerid);
}
return 1;
}
new AntiCheatTimer; enum _ACInfo { Float:Health, Float:Armour, Money, } new ACInfo[MAX_PLAYERS][_ACInfo]; #define GivePlayerMoney GivePlayerMoneyEx #define SetPlayerHealth SetPlayerHealthEx #define SetPlayerArmour SetPlayerArmourEx public OnGameModeInit() { AntiCheatTimer = SetTimer("AntiCheat",1000,true); } public OnGameModeExit() { KillTimer(AntiCheatTimer); } forward AntiCheat(); public AntiCheat() { new Float:HP,Float:AP,_Money=GetPlayerMoney(playerid); GetPlayerHealth(playerid,HP); GetPlayerArmour(playerid,AP); if(HP > ACInfo[playerid][Health]) { //Gained health, he used cheats } else { ACInfo[playerid][Health] = HP; //If he lost health, set anti-cheat info health to current health } if(AP > ACInfo[playerid][Armour]) { //Gained armour, he used cheats } else { ACInfo[playerid][Health] = HP; //If he lost armour, set anti-cheat info armour to current armour } if(_Money > ACInfo[playerid][Money]) { //Gained health, he used hacks } else { ACInfo[playerid][Money] = _Money; //If he lost money, set anti-cheat info money to current money } return 1; } stock SetPlayerHealthEx(playerid, Float:HP) { SetPlayerHealth(playerid, HP); ACInfo[playerid][Health] = HP; return 1; } stock SetPlayerArmourEx(playerid, Float:AP) { SetPlayerArmour(playerid, AP); ACInfo[playerid][Armour] = AP; return 1; } stock GivePlayerMoneyEx(playerid, money) { GivePlayerMoney(playerid, money); ACInfo[playerid][Money] += money; return 1; }
public OnPlayerUpdate(playerid)
{
new Float:hp;
hp = GetPlayerHealth(playerid, hp);
if(hp > 150 )
{
new string[128];
format(string,sizeof(string), "[Urban Gaming] %s has been kicked for the following Hack. (Healh Hacks)");
SendClientMessageToAll(COLOR_BRIGHTRED, string);
Kick(playerid);
}
new Float:arm;
arm = GetPlayerArmour(playerid, arm);
if(arm > 150 )
{
new string[128];
format(string,sizeof(string), "[Urban Gaming] %s has been kicked for the following Hack. (Armour Hacks)");
SendClientMessageToAll(COLOR_BRIGHTRED, string);
Kick(playerid);
}
return 1;
}
OnPlayerUpdate calls everything that happens.
Try using something like this Credits to Coole210 Code:
new AntiCheatTimer; enum _ACInfo { Float:Health, Float:Armour, Money, } new ACInfo[MAX_PLAYERS][_ACInfo]; #define GivePlayerMoney GivePlayerMoneyEx #define SetPlayerHealth SetPlayerHealthEx #define SetPlayerArmour SetPlayerArmourEx public OnGameModeInit() { AntiCheatTimer = SetTimer("AntiCheat",1000,true); } public OnGameModeExit() { KillTimer(AntiCheatTimer); } forward AntiCheat(); public AntiCheat() { new Float:HP,Float:AP,_Money=GetPlayerMoney(playerid); GetPlayerHealth(playerid,HP); GetPlayerArmour(playerid,AP); if(HP > ACInfo[playerid][Health]) { //Gained health, he used cheats } else { ACInfo[playerid][Health] = HP; //If he lost health, set anti-cheat info health to current health } if(AP > ACInfo[playerid][Armour]) { //Gained armour, he used cheats } else { ACInfo[playerid][Health] = HP; //If he lost armour, set anti-cheat info armour to current armour } if(_Money > ACInfo[playerid][Money]) { //Gained health, he used hacks } else { ACInfo[playerid][Money] = _Money; //If he lost money, set anti-cheat info money to current money } return 1; } stock SetPlayerHealthEx(playerid, Float:HP) { SetPlayerHealth(playerid, HP); ACInfo[playerid][Health] = HP; return 1; } stock SetPlayerArmourEx(playerid, Float:AP) { SetPlayerArmour(playerid, AP); ACInfo[playerid][Armour] = AP; return 1; } stock GivePlayerMoneyEx(playerid, money) { GivePlayerMoney(playerid, money); ACInfo[playerid][Money] += money; return 1; } |
hp = GetPlayerHealth(playerid, hp);
GetPlayerHealth(playerid, hp);