blob: be61558fcafff4975edc9749a91f59b83dc202e4 [file] [log] [blame]
Zesstra953f9972017-02-18 15:37:36 +01001
MG Mud User88f12472016-06-24 23:31:02 +02002AddSpecialInfo()
Zesstra953f9972017-02-18 15:37:36 +01003****************
MG Mud User88f12472016-06-24 23:31:02 +02004
MG Mud User88f12472016-06-24 23:31:02 +02005
Zesstra953f9972017-02-18 15:37:36 +01006FUNKTION
7========
MG Mud User88f12472016-06-24 23:31:02 +02008
Arathorn41004de2020-10-18 22:03:28 +02009 public varargs void AddSpecialInfo(string|string* keys, string functionname,
10 string indent, int|string silent, string|closure casebased);
MG Mud User88f12472016-06-24 23:31:02 +020011
MG Mud User88f12472016-06-24 23:31:02 +020012
Zesstra953f9972017-02-18 15:37:36 +010013ARGUMENTE
14=========
MG Mud User88f12472016-06-24 23:31:02 +020015
Arathorn41004de2020-10-18 22:03:28 +020016 string|string* frage
17 Schluesselwoerter, fuer die der NPC eine Antwort geben soll, wenn
18 man ihn danach fragt
19
20 string functionname
21 Name der Funktion, die gerufen werden soll, um den Informationstext
22 des NPCs zu ermitteln. Der gerufenen Funktion werden keine Argumente
23 uebergeben.
24
25 string indent (optional)
26 Text, der sich bei mehrzeiligen Meldungen wiederholen soll.
27
28 int|string silent (optional)
29 Ist silent gesetzt, so erfolgt Antwort nur an Fragenden.
30
31 string|closure casebased (optional)
32 Closure mit Returnwert string oder int.
33 Der Funktion werden keine Argumente uebergeben.
MG Mud User88f12472016-06-24 23:31:02 +020034
MG Mud User88f12472016-06-24 23:31:02 +020035
Zesstra953f9972017-02-18 15:37:36 +010036DEFINIERT IN
37============
MG Mud User88f12472016-06-24 23:31:02 +020038
Zesstra953f9972017-02-18 15:37:36 +010039 /std/npc/info.c
40
41
42BESCHREIBUNG
43============
44
45 Wenn ein Spieler ein NPC mittels "frage <monstername> nach <frage>" nach
46 einer Information mit dem Schluessel frage fragt, so wird die Methode
47 "function" gerufen. Die Rueckgabe wird als Meldung ausgegeben.
48
49 Fuer die Beschreibung der weiteren Parameter siehe man AddInfo(L).
50
51 AddSpecialInfo(keys, "function", ...) entspricht:
52 - AddInfo(keys, #'function, ...)
53
54
55BEMERKUNGEN
56===========
57
58 Da AddSpecialInfo() und AddInfo() auf die gleichen Daten zugreifen,
59 kann man Informationen, die mit AddSpecialInfo() gesetzt wurden, auch
60 mit RemoveInfo() entfernen. Es gibt kein RemoveSpecialInfo().
61
62
63BEISPIELE
64=========
65
66 // Das folgende Beispiel ist auch unter man AddInfo(L) zu finden.
67 ### dynamisch ###
68 AddSpecialInfo(({"keks","kekse"}),
69 "query_kekse", // der Methodenname
70 "sagt: ");
71 // ist uebrigens das gleiche wie:
72 // static string query_kekse();
73 // ...
74 // AddInfo(({"keks","kekse"}),
75 // #'query_kekse, // ein Verweis auf die Methode
76 // "sagt: ");
77 ...
78 static string query_kekse() {
79 if(present("keks"))
80 return("Ich hab noch welche. Aetsch!");
81 return("Menno. Keine mehr da!");
82 }
83
84 // "frage monster nach keks":
85 // - wenn es noch Kekse hat, hoeren alle:
86 // "Das Monster sagt: Ich hab noch welche. Aetsch!
87 // - sonst:
88 // "Das Monster sagt: "Menno. Keine mehr da!
89
90
91SIEHE AUCH
92==========
93
Arathorn41004de2020-10-18 22:03:28 +020094 Verwandt:
95 AddInfo(), RemoveInfo()
MG Mud User88f12472016-06-24 23:31:02 +020096
Arathorn41004de2020-10-18 22:03:28 +020097 Props:
98 P_PRE_INFO
99
100 Files:
101 /std/npc/info.c
102
103 Loggen:
104 P_LOG_INFO
105
106 Interna:
107 GetInfoArr() , do_frage()
108
10924.09.2020, Arathorn