blob: d9b17a369060c33dd2229e1278a3f78675864d20 [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001Version 2.0 des Sequencers von Don Rumata 2.7.93
2
3Manchmal soll ein NPC (Monster) eine Serie von Taetigkeiten
4hintereinander weg ausgefuerht werden. Dieses kann man
5mit diesem Mudul relativ einfach realisieren.
6
7Folgende Ereignisse koennen eine Sequenz ausloesen:
8
9 TellEvent: Es wird etwas in dem Raum, in dem der npc sich
10 befindet, gesagt.
11 GiveEvent: Es wird dem npc etwas gegeben.
12
13Weitere Ereignisse koennen durch den Befehl Load() selber
14programmiert werden.
15
16Wie sieht ein Programm aus?
17
18 Ein Programm ist eine Liste von Befehlen.
19 Jeder Befehl ist eine Liste, bestehend aus einem Kommando
20 und einer Zahl.
21 Das Kommendo wird aehnlich der Befehle, die ein Spieler ein-
22 gibt ausgefuehrt.
23 Vorsicht: NPCs koennen nur einen Teil der Befehle, die ein
24 Spieler kann, dafuer aber immer 'echo' und 'emote'.
25 Die Zahl gibt die Anzahl der Sekunden an, in der der naechste
26 Befehl ausgefuehrt wird.
27
28Folgende Funktionen sind im Modul implementiert:
29
30 Vorbereiten von Funktionen, die eine Sequenz ausloesen:
31
32 RegisterTell( funktion, programm )
33 Wenn dem npc etwas gesagt wird, so wird die gesagte Meldung
34 an die Funktion uebergeben. Gibt die Funktionen nicht 0
35 zurueck, wird das Programm gestartet.
36
37 RegisterGive( funktion, programm )
38 Wird dem npc etwas gegeben, so wird das Objekt an die
39 Funktion uebergeben. Gibt die Funktion nicht 0 zurueck, so
40 wird das Programm gestartet.
41
42 Load( programm )
43 Starte das angegebene Programm.
44
45Anederungen an bestehenden Std-Funktionen:
46
47 give_notify() gibt eine 1 zurueck, wenn das Objekt akzeptiert
48 wurde. (Es muss - falls gewuenscht - dann von Hand zuruech-
49 gegeben werden. (give_obj(ob,this_player())) in dieser
50 Funktion.
51
52 Mittels add_action() kann man im create() des NPCs eigene
53 Verben fuer den NPC einfuehren.
54
55Es kann immer nur eine Funktion (egal ob via Tell, Give oder Load) angemeldet
56sein. Es kann immer nur ein Programm gleichzeitig laufen.
57
58Ideen und Bugreports an Rumata