Hilfe mit sscanf und ocmd Befehl

In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums
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
  • Hallo,
    bei mehreren Befehlen dieser Art, also haben die gleiche Struktur funktioniert die Ausführung nicht.
    Wenn ich den Befehl mit den richtigen Rechten eingebe kommt nur:
    "Benutzen: /freischalten [Spielername/ID]"


    ocmd:freischalten(playerid,params[])
    {
    new pID, string[128], string2[128];
    if(GetPVarInt(playerid,"Adminlevel")>=2 || IsPlayerLeader(playerid,1) && GetPVarInt(playerid,"Rang")>=26)
    {
    if(sscanf(params,"ui",pID))return SendClientMessage(playerid,ROT,"Benutzen: /freischalten [Spielername/ID]");
    SetPVarInt(pID,"Fraktion",1);
    format(string,sizeof(string),"AdmCmd: Superadmin %s hat dich freigeschaltet!",SpielerName(playerid));
    SendClientMessage(pID,ROT,string);
    format(string2,sizeof(string2),"AdmCmd: Du hast Spieler %s freigeschaltet!",SpielerName(pID));
    SendClientMessage(playerid,ROT,string2);
    SpawnPlayer(pID);
    SpielerSpeichern(pID);
    }
    return 1;
    }



    Danke schonmal

  • Das liegt daran:

    if(sscanf(params,"ui",pID))return SendClientMessage(playerid,ROT,"Benutzen: /freischalten [Spielername/ID]");

    Du hast hier 2 parameter angegeben. nämlich "u" und "i" . Jedoch hast du nur einen Parameter deklariert... undzwar "u" .. du könntest das Problem ganz schnell lösen, indem du das "i" entfernst.. so z.B



    if(sscanf(params,"u",pID))return SendClientMessage(playerid,ROT,"Benutzen: /freischalten [Spielername/ID]");