Hey, ich habe gerade ein Bug bemerkt von GetPlayerHealth/GetPlayerArmour.
Unswa Folgendes ich habe 100 Hp und setzte meine Hp auf 50 dann gibt GetPlayerHealth 100 aus ( wie es vor dem ändern war ) und wenn ich dann mein Leben dann auf 75 setzte kommt 50.
Irgendwie hängt die Funktion nach genauso auch bei GetPlayerArmour.
Ist das ein bekanntes Problem und gibt es dafür eine Lösung außer das Health und die Armour in einer Varraible Speichern.
Hier mein Code
Code
ocmd:sethp(playerid, params[])
{
if(pInfo[playerid][pAdmin] < 5) return NO_ADMIN;
new string[128], pID, Float:hp;
if(!Adminduty[playerid])
{
format(string, sizeof(string), "[SERVER]{FFFFFF} Du bist nicht als %s im Dienst!", GetAdminRang(playerid));
SendClientMessage(playerid, COLOR_RED, string);
return 1;
}
if(sscanf(params, "uf", pID, hp)) return SendClientMessage(playerid, COLOR_RED, "Benutze:{D6D6D6} /sethp [Playerid/Name] [HP]");
if(!pInfo[pID][pLoggedIn]) return SendClientMessage(playerid, COLOR_RED, "Der Spieler ist nicht Online.");
if(pInfo[pID][pAdmin] > pInfo[playerid][pAdmin]) return SendClientMessage(playerid, COLOR_RED, "Du kannst kein Höheren Admin Slappen.");
SetPlayerHealth(pID, hp);
new Float:health;
GetPlayerHealth(pID, health);
printf("SetPlayerHealth %f", health);
format(string, sizeof(string), "Du hast das Leben von %s auf %0.2f Gesetzt.", SpielerName(pID), hp);
SendClientMessage(playerid, COLOR_RED, string);
format(string, sizeof(string), "%s %s hat dein Leben auf %0.2f Gesetzt.", GetAdminRang(playerid), SpielerName(playerid), hp);
SendClientMessage(pID, COLOR_RED, string);
return 1;
}
Alles anzeigen