Hallo
Ich habe vor etwas längere zeit ein anticheat geschrieben und jetz ist mir ein problem aufgefallen..
ich habe grade ein restaurant gescriptet und wen ich dort schnell sachen hintereinander nehme steigt mein health drapide (spricht immer 3 health mehr),
dan werde ich als Health Hack gekickt.
aber ich verstehe nciht warum -.-
Im anticheat :
GetPlayerHealth(playerid,AntiCheat[playerid][newHealth]);
if(AntiCheat[playerid][newHealth] != AntiCheat[playerid][oldHealth])
{
if(AntiCheat[playerid][newHealth] > AntiCheat[playerid][oldHealth])
{
new kicker[200];
format(kicker,sizeof(kicker),"*** %s wurde vom server gekickt. (Grund:* Health Hack)",PlayerName(playerid));
SendClientMessageToAll(RED,kicker);
SetHealth(playerid,AntiCheat[playerid][oldHealth]);
Kicked(playerid,kicker);
}
else
{
AntiCheat[playerid][oldHealth] = AntiCheat[playerid][newHealth];
}
}
die funktion:
stock SetHealth(playerid,Float:summe)
{
new Float:health;
GetPlayerHealth(playerid,health);
if(summe >= 100&&health == 100)return 1;
if(summe >= 100)summe = 100;
AntiCheat[playerid][oldHealth] = summe;
AntiCheat[playerid][newHealth] = summe;
SetPlayerHealth(playerid,summe);
return 1;
}
Kann mir jemand sagen was falsch ist ? =s
greetz das Vitamin
Edit: aus geband gekickt gemacht
Edit2: hab mir mal die variablen printen lassen oldHealth und newHelth sind beide gleich
Edit 3: nen bild hinzugefügt