Wie erstellt man ein Befehl mir mehrerren parametern ?

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
  • Allso meine Frage Wie erstellt man ein Befehl mir mehreren parametern ?
    wie jez zb. /dance [Tanzid] so soll es sein wie macht man das ?

  • Ja ich weiss wie das mit sscanf geht aber ich meine /dance id und bei der id gibt es 4 tänze jede zahl ein anderer tanz

  • Wenns jetzt nur um so einen einfachen Befehl geht reichts doch wenn man den string mit strval zu einem Integerwert konvertiert und dann mit switch & case guckt welche ID angegeben wurde. :D
    CMD:tanzen(playerid, params[])
    {
    new tanzid = strval(params);
    switch(tanzid)
    {
    case 1: //deine animation
    case 2: // blubb
    }
    return 1;
    }
    Das ist jetzt für zcmd :)

  • fehlt da nicht irgentwie noch was mit sscanf ? :D


    nein nicht wirklich das ist auch eine möglichkeit
    hier ein beispiel wie das mit sscanf ausehen kann

    ocmd:dance(playerid,params[])
    {
    new dancestyle;
    if(sscanf(params,"i",dancestyle))return SendClientMessage(playerid,COLOR_GRAD1,"Benutzung: /dance [1-4]");
    if(dancestyle<1||dancestyle>4)return SendClientMessage(playerid,COLOR_GRAD1,"Benutzung: /dance [1-4]");
    if(dancestyle == 1) SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DANCE1);
    else if(dancestyle == 2) SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DANCE1);
    else if(dancestyle == 3) SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DANCE3);
    else if(dancestyle == 4) SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DANCE4);
    return 1;
    }
    //edit
    hierzu kannst du auch d nehmen was für Zahlen steht das macht kein unterschied