forward AntiCheat(playerid); public AntiCheat(playerid) { new Float:HP; GetPlayerHealth(playerid, HP); if(HP > 99) //Anti Gyvybių cheat { SetPlayerHealth(playerid, 40); Saugojimas(playerid); ISZ(playerid, "{FF0000}[SERVER]: You have been kicked for HEALTH CHEAT"); new zin[150]; format(zin, sizeof(zin), "{FF0000}[SERVER]: %s was kicked for HEALTH CHEAT!", GetPlayerNameEx(playerid)); SendClientMessageToAll(-1, zin); } new Float:Arm; GetPlayerArmour(playerid, Arm); if(Arm > 99) //Anti Gyvybių cheat { SetPlayerArmour(playerid, 0); Saugojimas(playerid); ISZ(playerid, "{FF0000}[SERVER]: You have been kicked for armour cheat"); new zin[150]; format(zin, sizeof(zin), "{FF0000}[SERVER]: %s was kicked for ARMOUR CHEAT!", GetPlayerNameEx(playerid)); SendClientMessageToAll(-1, zin); } return 1; }
Basically start your anti-cheat function for after the player spawns.
|
stock Load(playerid) { new Float:Pos[3], // 0,1,2 - pos; fetch[16], Query[256]; format(Query, sizeof(Query), "SELECT * FROM `users` WHERE Name= '%s'", GetPlayerNameEx(playerid)); mysql_query(Query); mysql_store_result( ); mysql_retrieve_row( ); mysql_fetch_field_row( fetch, "X" ); Pos[0] = floatstr(fetch); mysql_fetch_field_row( fetch, "Y" ); Pos[1] = floatstr(fetch); mysql_fetch_field_row( fetch, "Z" ); Pos[2] = floatstr(fetch); SetPlayerPos( playerid, Pos[0], Pos[1], Pos[2] + 0.75); mysql_fetch_field_row( fetch, "Health" ); SetPlayerHealth(playerid, floatstr(fetch)); mysql_fetch_field_row( fetch, "Armour" ); SetPlayerArmour(playerid, floatstr(fetch)); SetTimerEx("AntiCheat", 1000, true, "i", playerid); }
use timers cuz timers are better than opu.
after that check your script that it doesn't set any %100 health. |
SetTimerEx("AntiCheat", 1000, true, "i", playerid);