PUBLIC: SetPlayerHealthEx(playerid, Float:health)
{
new Float:tmp_health = health,Float:newhp;
if (tmp_health < 0.0) tmp_health = 0.0;
else if (tmp_health > 100.0) tmp_health = 100.0;
AntiCheatInfo[playerid][acHealth] = tmp_health;
SetPlayerHealth(playerid, tmp_health);
GetPlayerHealth(playerid, newhp);
printf("GetPlayerHealth: %.01f\nAntiCheatHealth: %.01f\nHealth: %.01f", newhp, AntiCheatInfo[playerid][acHealth], tmp_health);
return 1;
}
GetPlayerHealth: 99.0
AntiCheatHealth: 98.0
Health: 98.0
PUBLIC: PlayerHealthLoss()
{
new Float:oldhealth, Float:amount;
foreach(Player, x)
{
if(PlayerInfo[x][pStatus] == 1)
{
GetPlayerHealth(x, oldhealth);
amount = floatsub(oldhealth, 1.0);
SetPlayerHealthEx(x, amount);
}
}
return 1;
}
PUBLIC: SetPlayerHealthEx(playerid,Float:health)
{
new Float:newhp;
if(health < 0.0)health = 0.0;
else if(health > 100.0)health = 100.0;
AntiCheatInfo[playerid][acHealth] = health;
printf("AntiCheatHealth: %.01f",AntiCheatInfo[playerid][acHealth]);
SetPlayerHealth(playerid,health);
GetPlayerHealth(playerid,newhp);
printf("GetPlayerHealth: %.01f\nAntiCheatHealth: %.01f\nHealth: %.01f", newhp, AntiCheatInfo[playerid][acHealth], tmp_health);
return 1;
}
PHP код:
|
[14:21:45] AntiCheatHealth: 99.0
[14:21:45] GetPlayerHealth: 100.0
AntiCheatHealth: 99.0
Health: 99.0
GetPlayerHealth(i, health);
if(health > AntiCheatInfo[i][acHealth])
{
format(string, sizeof(string), "AdmCmd: %s has been kicked by AdmBot, reason: using cheats (health hack)",PlayerInfo[i][pUsername]);
KickWithMessage(i, COLOR_LIGHTRED, string);
printf("GetPlayerHealth: %.01f\nAntiCheatHealth: %.01f", health, AntiCheatInfo[i][acHealth]);
}
[15:17:16] GetPlayerHealth: 100.0
AntiCheatHealth: 99.0