Befehle über OnPlayerCommandText / mit mehreren 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
  • Guten Tag, liebe SA-MP Community!
    Da ich immer ständig mit OCMD und Sscanf arbeite und diese mir ein bisschen zu unübersichtlich fallen, wollte ich euch um etwas bitten.
    Ich möchte über OnPlayerCommandText, wo man sich eigentlich die Befehle (z.b. /car, /help) erstellen kann, ein paar Befehle erstellen, die mit mehreren Parametern sind.
    Mit mehreren Parametern meine ich z.B., dass wenn man /kick eingibt, dass man auch noch den Spieler selbst also die ID des Spielers, und den Grund, warum man ihn gekickt hat.
    Das mit /kick war nur ein Beispiel!
    Ich hoffe, dass einer von euch oder mehrere von euch mir helfen können.
    Danke schonmal im Vorraus!


    Mit freundlichen Grüßen,
    FreshKing


  • Meinst du sowas?


    dcmd_kick(playerid,params[])
    {
    new pID;
    new Grund[128];
    new aname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, aname, sizeof(aname));
    if(sscanf(params,"us",pID,Grund))return SendClientMessage(playerid,COLOR_WHITE,"Benutzung: /kick [playerid][Grund]");
    if(SInfo[playerid][pAdmin] >= 1)
    {
    new string[128];
    GetPlayerName(pID, pname, sizeof(pname));
    SendClientMessage(playerid,COLOR_RED,"Du hast den Spieler gekickt!");
    format(string,sizeof(string),"[JunkBuster] Admin %s hat Spieler %s gekickt! Grund: %s",aname,pname,Grund);
    SendClientMessageToAll(COLOR_RED,string);
    Kick(pID);
    }
    return 1;
    }


    Wenn nein, dann versteh ich deine Frage nicht...

  • Was stört dich denn an Commandprozessoren? Die sind meist viel schneller als strcmp und übersichtlich sind sie auch, wenn du sie untereinander schreibst.


    Stimme dir zu, wenn du ocmd, dcmd, rcmd, zcmd richtig sortierst sieht das viel besser aus wie bei strcmp, außerdem ist strcmp viel langsamer als ocmd usw.


  • Stimme dir zu, wenn du ocmd, dcmd, rcmd, zcmd richtig sortierst sieht das viel besser aus wie bei strcmp, außerdem ist strcmp viel langsamer als ocmd usw.


    *hust*
    Ne, nicht wirklich. Strcmp ist für viel schneller, wenn es nur um eine paar Befehle geht. Nur wenn man so richtig
    viele hat, zB 100-200 Befehle, dann kann es etwas schlecht werden mit der Geschwindigkeit, aber sonst ist strcmp schneller bzw. schnell.
    Jedenfalls ist es nicht langsamstes.