Wie mache ich einen /set Befehl mit unterschiedlichen variablen?

Aus gegebenem Anlass: Sichert eure Backupcodes wenn ihr die Zwei-Faktor-Authentifizierung aktiviert habt!

Infos dazu findet ihr nochmal hier

  • Moin leute ich mal wieder,

    habe eine Frage wie gehe ich vor wenn ich seinen /set [money/koks/meth] [menge] [PLAYERID/NAME] befehl scripten möchte:


    mein Code bis jetzt allerdings weis ich nicht wie ich jetzt auslese ob er money koks oder meth eingegeben hat .


    Code
    1. ocmd:set(playerid,params[])
    2. {
    3. new pID,menge,item[128],name[MAX_PLAYER_NAME];
    4. if(sscanf(params,"siu",item,menge,pID)) return SendClientMessage(playerid,COLOR_RED,"Benutze /set [money/koks/meth] [menge] [PLAYERID/NAME]!");
    5. GetPlayerName(pID,name,sizeof(name));
    6. return 1;
    7. }

  • Code
    1. new pID, StartCode[24], Wert;
    2. if(sscanf(params, "us[24]i",pID,StartCode, Wert))
    Code
    1. if(strcmp(StartCode, "level", true) == 0)
    2. {
    3. fscm(strMsg,pID,-1,"Der Level wurde von Admin {00A5FF}%s{F7F7F7} auf {00A5FF}%d{F7F7F7} geändert.", GetName(playerid),Wert);
    4. fscm(strMsg,playerid,-1,"Du hast von {00A5FF}%s{F7F7F7} das Level auf {00A5FF}%d{F7F7F7} gesetzt.", GetName(pID),Wert);
    5. SpielerInfo[pID][pLevel] = Wert;
    6. return true;
    7. }

    Z.b lg

  • Funktioniert soweit allerding spuckt die console nun diese warnings aus


    Code
    1. sscanf warning: Strings without a length are deprecated, please add a destination size.

    so sieht nun der befehl aus

  • Funktioniert soweit allerding spuckt die console nun diese warnings aus


    Code
    1. sscanf warning: Strings without a length are deprecated, please add a destination size.

    so sieht nun der befehl aus

    Benutzt sscanf Plugin oder den alten stock von sscanf ? wenn ja dann auf plugin umschreiben