Guten Nachmittag an alle Brotfische da draussen,
wie man vllt. sehen kann bin ich erst seit kurzem eurer Community beigetreten.
Nun erbitte ich euch folgendes Problem zu lösen.
Hierbei handelt es sich um einen eigentlich simplen /heal Befehl.
if(strcmp(strget(cmdtext,0), "/heal", true) == 0)
{
if(!IstSpielerAdmin(playerid, 1)) return SendClientMessage(playerid, RED, "SERVER: Du bist kein Admin!");
{
new ziel = strval(strget(cmdtext,1));
if(!IsPlayerConnected(ziel)) return SendClientMessage(playerid, RED, "SERVER: Dieser Spieler ist nicht mit dem Server verbunden!");
{
if(!strlen(strget(cmdtext,1))) return SendClientMessage(playerid, RED, "SERVER: Benutze: /heal ID");
{
new zielname[512];
new playername[512];
new msg[512];
new msg2[512];
new Float:health;
GetPlayerHealth(ziel,health);
if(health >= 100) return SendClientMessage(playerid, RED, "SERVER: Dieser Spieler muss nicht geheilt werden!"); //Der Fehler liegt denk ich mal hier
else
{
SetPlayerHealth(ziel, 100);
GetPlayerName(playerid, playername, sizeof(playername));
GetPlayerName(ziel, zielname, sizeof(zielname));
format(msg, sizeof(msg), "SERVER: Du hast %s geheilt!", zielname);
format(msg2, sizeof(msg2), "SERVER: %s hat dich geheilt!", playername);
SendClientMessage(playerid, RED, msg);
SendClientMessage(ziel, RED, msg2);
}
}
}
}
return 1;
}
Nun zum Problem: Falls das "Ziel" 100 HP oder mehr hat soll eine Fehlermeldung wie sie oben bereits steht ausgegeben werden.
Diese wird aber nicht ausgegeben, wenn das "Ziel" mehr als 100 HP hat; ganz im Gegenteil, das Ziel wird auf 100 HP zurückgesetzt bzw. "geheilt".
Wenn das "Ziel" genau 100 HP hat, wird diese jedoch ausgegeben und der Spieler nicht geheilt.
Ich hoffe ihr könnt mir da irgendwie weiterhelfen.
Danke,
Mit freundlichen Grüßen,
dekoration