blob: 3c164fd3b222ea5d21b2e0715ce121342227c429 [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
Arathorn49ecb072021-09-06 16:35:13 +02009 public varargs void AddSpecialInfo(string|string* keys, string
10 functionname,
11 string indent, int|string silent, string|closure casebased);
MG Mud User88f12472016-06-24 23:31:02 +020012
MG Mud User88f12472016-06-24 23:31:02 +020013
Zesstra953f9972017-02-18 15:37:36 +010014DEFINIERT IN
15============
MG Mud User88f12472016-06-24 23:31:02 +020016
Zesstra953f9972017-02-18 15:37:36 +010017 /std/npc/info.c
18
19
Arathorn49ecb072021-09-06 16:35:13 +020020ARGUMENTE
21=========
22
23 string|string* frage
24 Schluesselphrase(n), fuer die der NPC eine Antwort geben soll,
25 wenn man ihn danach fragt
26
27 string functionname
28 Name der Funktion, die gerufen werden soll, um den
29 Informationstext des NPCs zu ermitteln. Der gerufenen Funktion
30 wird die vom Spieler gefragte Schluesselphrase uebergeben.
31
32 string indent (optional)
33 Text, der sich bei mehrzeiligen Meldungen wiederholen soll.
34
35 int|string silent (optional)
36 Ist silent gesetzt, so erfolgt Antwort nur an Fragenden.
37
38 string|closure casebased (optional)
39 Closure mit Returnwert string oder int. Der Funktion wird die
40 vom Spieler gefragte Schluesselphrase uebergeben.
41
42
Zesstra953f9972017-02-18 15:37:36 +010043BESCHREIBUNG
44============
45
Arathorn49ecb072021-09-06 16:35:13 +020046 Wenn ein Spieler ein NPC mittels "frage <monstername> nach <frage>"
47 nach einer Information mit dem Schluessel frage fragt, so wird die
48 Methode "function" gerufen. Die Rueckgabe wird als Meldung
49 ausgegeben.
Zesstra953f9972017-02-18 15:37:36 +010050
51 Fuer die Beschreibung der weiteren Parameter siehe man AddInfo(L).
52
Arathorn49ecb072021-09-06 16:35:13 +020053 "AddSpecialInfo(keys, "function", ...)" entspricht "AddInfo(keys,
54 #'function, ...)".
Zesstra953f9972017-02-18 15:37:36 +010055
56
57BEMERKUNGEN
58===========
59
60 Da AddSpecialInfo() und AddInfo() auf die gleichen Daten zugreifen,
Arathorn49ecb072021-09-06 16:35:13 +020061 kann man Informationen, die mit AddSpecialInfo() gesetzt wurden,
62 auch mit RemoveInfo() entfernen. Es gibt kein RemoveSpecialInfo().
Zesstra953f9972017-02-18 15:37:36 +010063
64
65BEISPIELE
66=========
67
68 // Das folgende Beispiel ist auch unter man AddInfo(L) zu finden.
69 ### dynamisch ###
70 AddSpecialInfo(({"keks","kekse"}),
71 "query_kekse", // der Methodenname
72 "sagt: ");
73 // ist uebrigens das gleiche wie:
Arathorn49ecb072021-09-06 16:35:13 +020074 // static string query_kekse(string key);
Zesstra953f9972017-02-18 15:37:36 +010075 // ...
76 // AddInfo(({"keks","kekse"}),
77 // #'query_kekse, // ein Verweis auf die Methode
78 // "sagt: ");
79 ...
Arathorn49ecb072021-09-06 16:35:13 +020080 static string query_kekse(string key) {
Zesstra953f9972017-02-18 15:37:36 +010081 if(present("keks"))
82 return("Ich hab noch welche. Aetsch!");
83 return("Menno. Keine mehr da!");
84 }
85
86 // "frage monster nach keks":
87 // - wenn es noch Kekse hat, hoeren alle:
88 // "Das Monster sagt: Ich hab noch welche. Aetsch!
89 // - sonst:
90 // "Das Monster sagt: "Menno. Keine mehr da!
91
92
93SIEHE AUCH
94==========
95
Arathorn41004de2020-10-18 22:03:28 +020096 Verwandt:
97 AddInfo(), RemoveInfo()
MG Mud User88f12472016-06-24 23:31:02 +020098
Arathorn41004de2020-10-18 22:03:28 +020099 Props:
100 P_PRE_INFO
101
102 Files:
103 /std/npc/info.c
104
105 Loggen:
106 P_LOG_INFO
107
108 Interna:
109 GetInfoArr() , do_frage()
110
Arathorn49ecb072021-09-06 16:35:13 +020011109.08.2021, Zesstra