Version 2.0 des Sequencers von Don Rumata 2.7.93

Manchmal soll ein NPC (Monster) eine Serie von Taetigkeiten
hintereinander weg ausgefuerht werden. Dieses kann man
mit diesem Mudul relativ einfach realisieren.

Folgende Ereignisse koennen eine Sequenz ausloesen:

	TellEvent: Es wird etwas in dem Raum, in dem der npc sich
		befindet, gesagt.
	GiveEvent: Es wird dem npc etwas gegeben.

Weitere Ereignisse koennen durch den Befehl Load() selber
programmiert werden.

Wie sieht ein Programm aus?

	Ein Programm ist eine Liste von Befehlen.
	Jeder Befehl ist eine Liste, bestehend aus einem Kommando
	und einer Zahl.
	Das Kommendo wird aehnlich der Befehle, die ein Spieler ein-
	gibt ausgefuehrt.
	Vorsicht: NPCs koennen nur einen Teil der Befehle, die ein
	Spieler kann, dafuer aber immer 'echo' und 'emote'.
	Die Zahl gibt die Anzahl der Sekunden an, in der der naechste
	Befehl ausgefuehrt wird.

Folgende Funktionen sind im Modul implementiert:

	Vorbereiten von Funktionen, die eine Sequenz ausloesen:

	RegisterTell( funktion, programm )
		Wenn dem npc etwas gesagt wird, so wird die gesagte Meldung
		an die Funktion uebergeben. Gibt die Funktionen nicht 0
		zurueck, wird das Programm gestartet.
		
	RegisterGive( funktion, programm )
		Wird dem npc etwas gegeben, so wird das Objekt an die
		Funktion uebergeben. Gibt die Funktion nicht 0 zurueck, so
		wird das Programm gestartet.

	Load( programm )
		Starte das angegebene Programm.

Anederungen an bestehenden Std-Funktionen:

	give_notify() gibt eine 1 zurueck, wenn das Objekt akzeptiert
		wurde. (Es muss - falls gewuenscht - dann von Hand zuruech-
		gegeben werden. (give_obj(ob,this_player())) in dieser
		Funktion.

	Mittels add_action() kann man im create() des NPCs eigene
	Verben fuer den NPC einfuehren.

Es kann immer nur eine Funktion (egal ob via Tell, Give oder Load) angemeldet
sein. Es kann immer nur ein Programm gleichzeitig laufen.

Ideen und Bugreports an Rumata
