Servus,
Ich überarbeite gerade ein bischen mein Script und mir ist zufälligerweise aufgefallen das bei meinem sethp Befehl immer interessante zahlen dabei herauskommen wenn ich die hp über 255 setze.Mit der 255er max Stringlänge kann es ja nichts zu tun haben zumal sie bei SAMP ja bei 128 liegt und bei der Zahl 255 sind es 3 wenn ich mich nicht verzählt habe Aber warum ist 255 die Grenze bei den HP ohne das irgendwelche minuszahlen entstehen ? Wenn ich zb. 500 eingebe wird in der sethp variable zwar 500 gespeichert und übergeben(laut textmessage welche ja die sethp variable ausliest und formatiert) aber im health textdraw wird dann irgendein mist angezeigt und und sekunden später sterbe ich obwohl selbst die gta interne lebenanzeige voll ist. Weiß jemand woran das liegt ?
if(!strcmp(strget(cmdtext, 0), "/sethp"))
{
if(pInfo[playerid][staff] == ADMIN)
{
if(strlen(strget(cmdtext, 1)) && strlen(strget(cmdtext, 2)))
{
tId[playerid] = strval(strget(cmdtext, 1));
GetPlayerName(tId[playerid],tName[playerid],MAX_PLAYER_NAME);
if(IsPlayerConnected(tId[playerid]))
{
new Float:sethp = strval(strget(cmdtext, 2));
format(pMsg[playerid], MAX_STRING_LENGHT, "Du hast die Lebenspunkte von %s auf %d gesetzt",tName[playerid],floatround(sethp));
SendClientMessage(playerid,COLOR_HELLGRUEN, pMsg[playerid]);
format(tMsg[playerid], MAX_STRING_LENGHT, "%s hat deine Lebenspunkte auf %d gesetzt",pName[playerid],floatround(sethp));
SendClientMessage(tId[playerid],COLOR_HELLGRUEN, tMsg[playerid]);
SetPlayerHealth(tId[playerid], sethp);
}
else return SendClientMessage(playerid,COLOR_ROT, "Dieser Spieler existiert nicht !");
}
else return SendClientMessage(playerid,COLOR_ROT, "Benutze /sethp [playerid] [health] !");
}
else return SendClientMessage(playerid,COLOR_ROT, "Du bist kein Administrator !");
}
MfG
Anubis