Command Hilfe

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hey,
    ich habe ein Problem bei einem /Sethp Command. Aus irgend einem Grund wird mein Leben immer auf 0 Gesetzt
    und die Nachrichten kommen auch nicht bei den betroffenen Spielern an... :(
    Fehler werden keine Angezeigt.


    Hier der Command


    dcmd_sethp(playerid,params[])
    {
    new pid, Float: hp;
    if(sscanf(params,"us", pid, hp)) return SendClientMessage(playerid, Rot,"Verwendung: /Sethp [Name/ID] [Health] !");
    new string[128],String2[128];
    format(string,sizeof(string),"Du hast %s Leben auf %d gsetzt!", SpielerName(pid), hp);
    format(String2,sizeof(String2),"Dein Leben wurde von Administrator %s auf %d gesetzt!",SpielerName(playerid), hp);
    SendClientMessage(playerid, Rot, string);
    SendClientMessage(pid, Rot, String2);
    SetPlayerHealth(pid, hp);
    return 1;
    }

  • Wie ScripterForLife schon sagte, musst du eine Zahl, statt einen Text für die HP nehmen. Er empfiehlt dir Float (denke ich mal), damit du auch 99.854 HP anstelle von 99 vergeben kannst (Dann hätte ein Integer gereicht, meines Wissens nach).


    Und wie meinst du den Teil mit dem Text? Kommt gar nichts an, oder nur die falsche Meldung bei der falschen Person?

  • Hab ihn bisschen für dich verbessert und entbuggt


    dcmd_sethp(playerid,params[])
    {
    new pid, hp;
    if(sscanf(params,"ui", pid, hp)) return SendClientMessage(playerid, Rot,"Verwendung: /Sethp [Name/ID] [Health] !");
    if(pid==INVALID_PLAYER_ID)return SendClientMessage(playerid,Rot,"Der Spieler ist nicht online!");
    new string[128];
    format(string,sizeof(string),"Du hast %s Leben auf %d gsetzt!", SpielerName(pid), hp);
    SendClientMessage(playerid, Rot, string);
    format(string,sizeof(string),"Dein Leben wurde von Administrator %s auf %d gesetzt!",SpielerName(playerid), hp);
    SendClientMessage(pid, Rot, string);
    SetPlayerHealth(pid, hp);
    return 1;
    }

  • Tausend Dank, dass ist der erste CMD den ich auf der basis von DCMD gescriptet habe, deswegen hatte ich da noch Probleme. Mit der Nachricht meinte ich, dass einfach nur eine Ankam, ich habe beispielsweise mein eigenes Leben auf 20 gesetzt, doch beim mir kam nur folgendes an "Amazing Flash hat dein Leben auf 20 gesetzt"
    Nicht die zweite, aber das funktioniert dank euch jetzt auch.
    Danke MrPawn für die verbesserung. :)