Set Armour Problem

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
  • ocmd:setarmor(playerid,params[]){
    new hp,pID;
    new string[128],string2[128];
    if(PlayerInfo[playerid][pAdminLevel]< 2)return SendClientMessage(playerid,COLOR_GREY,"Dir ist es nicht erlaubt den Befehl zu benutzen");
    if(sscanf(params,"ui",pID,hp))return SendClientMessage(playerid,COLOR_GREY,"Benutzung: /setarmor [ID / Teil des Namens] [ Armour ]");
    SetPlayerArmour(pID,hp);
    format(string,sizeof(string),"%s %s hat deine HP auf %d gesetzt",AdminRang[PlayerInfo[playerid][pAdminLevel]],PlayerName(playerid));
    format(string2,sizeof(string2),"Du hast Spieler %s HP auf %d gesetzt",PlayerName(pID));
    SendClientMessage(playerid,COLOR_BLUE,string);
    SendClientMessage(pID,COLOR_BLUE,string2);
    return 1;
    }


    das setzen der Armour / HP Funktioniert nur der Spieler soll die Message angezeigt bekommen was leider nicht der fall ist das sieht leider so aus...




    Mit Freundlichen Grüßen ,
    Toastiie1337



    /edit mir ist aufgefallen das ich den " %i " nutzen muss weil , integer oder wie dat heisst


  • ocmd:setarmor(playerid,params[])
    {
    new float:hp,pID;
    new string[128],string2[128];

    if(PlayerInfo[playerid][pAdminLevel]< 2) return SendClientMessage(playerid,COLOR_GREY,"Dir ist es nicht erlaubt den Befehl zu benutzen");
    if(sscanf(params,"uf",pID,hp)) return SendClientMessage(playerid,COLOR_GREY,"Benutzung: /setarmor [ID / Teil des Namens] [ Armour ]");

    SetPlayerArmour(pID,hp);

    format(string,sizeof(string),"%s %s hat deine HP auf %.2f gesetzt",AdminRang[PlayerInfo[playerid][pAdminLevel]],PlayerName(playerid),hp);
    format(string2,sizeof(string2),"Du hast Spieler %s HP auf %.2f gesetzt",PlayerName(pID), hp);
    SendClientMessage(playerid,COLOR_BLUE,string);
    SendClientMessage(pID,COLOR_BLUE,string2);

    return 1;
    }


    Bedanke dich bitte, wenn du den Beitrag als hilfreich empfandest!



  • Ich Danke für deine Schnellst möglichste Antwort allerdings Funktioniert der Code nicht:


    SetPlayerArmour(pID,hp);


    hab getestet getestet aber bekomme den gleichen Error:


    warning 213: tag mismatch

  • Guten Tag,
    schreib es so:
    ocmd:setarmor(playerid,params[])
    {
    new Float:hp,pID;
    new string[128];

    if(PlayerInfo[playerid][pAdminLevel]< 2) return SendClientMessage(playerid,COLOR_GREY,"Dir ist es nicht erlaubt den Befehl zu benutzen");
    if(sscanf(params,"uf",pID,hp)) return SendClientMessage(playerid,COLOR_GREY,"Benutzung: /setarmor [ID / Teil des Namens] [ Armour ]");

    SetPlayerArmour(pID,hp);

    format(string,sizeof(string),"%s %s hat deine HP auf %.2f gesetzt",AdminRang[PlayerInfo[playerid][pAdminLevel]],PlayerName(playerid),hp);
    SendClientMessage(playerid,COLOR_BLUE,string);
    format(string,sizeof(string),"Du hast Spieler %s HP auf %.2f gesetzt",PlayerName(pID), hp);
    SendClientMessage(pID,COLOR_BLUE,string);

    return 1;
    }


    "Float:hp" das Float muss groß geschrieben werden.


    Dazu nutzen wir hier nur einen String, und nicht 2 wie es in deiner Variante war


    MfG

  • Beitrag von Angeloflove ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • Vielen Dank PermanenT und Ja du hast Rechte Copy und Paste ist schon was tolles allerdings lernt man durch sowat nicht ^^
    um nicht extra ein Thread aufzumachen Frage ich hier mal an alle ob einer mir helfen könne bei einem Befehl /skinauswahl allerdings solle man die ID des Skins hinter schreiben :/
    wäre Klasse wenn mir einer helfen könne

  • Guten Tag,
    das Funktioniert genau so wie der "/Setarmour" Befehl.


    Die If-Abfrage muss etwas anders aussehen
    if(sscanf(params,"ui",pID,SkinID)) return SendClientMessage(playerid,COLOR_GREY,"Benutzung: /Skinauswahl [playerid/Name] [SkinID]");
    und du musst mit
    SetPlayerSkin(pID,SkinID);
    arbeiten.


    Wenn es kein Admin Befehl werden soll, musst du die If-Abfrage so machen
    if(sscanf(params,"i",SkinID)) return SendClientMessage(playerid,COLOR_GREY,"Benutzung: /Skinauswahl [SkinID]");
    und den Skin so
    SetPlayerSkin(playerid,SkinID);


    Mit freundlichen Grüßen
    PermanenT