Lpc Manpages

AddCmd()

FUNKTION:
     varargs void AddCmd(mixed cmd, mixed func, int flag);

DEFINIERT IN:
     /std/thing/commands.c

ARGUMENTE:
     cmd
          String oder Array von Strings mit dem/den Namen des Kommandos.
     func
          String mit dem Namen der aufzurufenden Funktion oder eine closure,
          die ausgefuehrt werden soll.

          Die Funktion erhaelt als Argument vom Typ 'string' die restliche
          Eingabezeile *in geparster Form*

          Ungeparste Argumente gibt es ueber '_unparsed_args()', das erste 
          Wort des Kommandos ueber 'query_verb()'. 

     flag
          Falls ungleich Null, wird func bei allen Kommandos aufgerufen, die
          mit cmd beginnen. Die Verwendung wird *nicht* empfohlen.

BESCHREIBUNG:
     Dem Objekt wird ein neues Kommando hinzugefuegt. Dieses steht sofort
     nach dem AddCmd()-Aufruf zur Verfuegung.

BEMERKUNGEN:
     Die Befehle koennen sowohl von Spielern (mittels direkter Eingabe) als
     auch von NPCs (mittels command()) aufgerufen werden.

     Bei Spielern werden die Befehlsargumente vorher noch bearbeitet, um
     eine "natuerlichere" Syntax zu erlauben.
     
BEISPIELE:

     AddCmd("test", "testfunc");
     AddCmd("teste", "testfunc");

     Das Objekt versteht jetzt die Befehle test und teste. Zur Ausfuehrung
     dieser Befehle wird die Funktion testfunc() aufgerufen.

     AddCmd( ({ "test", "teste" }), "testfunc" );

     Dieses Beispiel hat die gleiche Wirkung wie das vorhergehende; man
     spart allerdings eine Zeile Quelltext und die Ausfuehrungszeit des
     zweiten AddCmd().

     AddCmd("test", "testfunc", 1);

     Bei allen Kommandos, die mit "test" beginnen, wird testfunc()
     aufgerufen, also bei test oder teste, aber auch bei testament. Hier
     muss dann die testfunc() eventuell schauen, ob wirklich ein gueltiges
     Kommando eingegeben wurde.

SIEHE AUCH:
     RemoveCmd(), _unparsed_args(), add_action(), command(), query_verb()