Problem mit ocmd-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
  • Heyho,


    also irgendwie komme ich mit dem Params bei ocmd nicht zurecht.


    Hier mal ein Beispielcode:


    ocmd:test(playerid,params[])
    {
    new pID;
    if(sscanf(params,"u",pID)) return SendClientMessage(playerid,0xFFA96CFF,"Benutzung /test [Name/Id]");
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid,0xFFA96CFF,"Der gewählte Spieler ist nicht online.");
    Kick(pID);
    return 1;
    }


    Das Problem ist das man bei dem Befehl immer den ganzen Namen, den Anfang des Namens oder nur die Id eingeben muss. Ich möchte es aber so haben, das man nur einen Teil des Namens eingeben muss.
    D.h.:


    Name des Spielers mit dem was passieren soll: Mustermann
    Ich gebe ein: /test mann oder /test sterma
    Spieler Mustermann wird gekickt.


    Wenn ich aktuell /test mann eingebe steht dort: Der gewählte Spieler ist nicht online.


    Ich hoffe ihr könnt mir helfen :)

    Einmal editiert, zuletzt von |»Timmeyable«| () aus folgendem Grund: Geändert

  • Dann müsste ich aber alle meine OCMD-Befehle ändern bzw. löschen :/
    Gibt es da keine andere Lösung?

  • ocmd:test(playerid,params[])
    {
    new pID[30];
    if(sscanf(params,"u",pID)) return SendClientMessage(playerid,0xFFA96CFF,"Benutzung /test [Name/Id]");
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid,0xFFA96CFF,"Der gewählte Spieler ist nicht online.");
    Kick(pID);
    return 1;
    }


    Habs mal so gehabt bekomme aber Errors. Noch eine Idee?