blob: 2ade5b4285b2dbc73c2e4286848af78ec0920b36 [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001AddSpecialInfo()
Zesstra953f9972017-02-18 15:37:36 +01002****************
MG Mud User88f12472016-06-24 23:31:02 +02003
MG Mud User88f12472016-06-24 23:31:02 +02004
Zesstra953f9972017-02-18 15:37:36 +01005FUNKTION
6========
MG Mud User88f12472016-06-24 23:31:02 +02007
Arathorn49ecb072021-09-06 16:35:13 +02008 public varargs void AddSpecialInfo(string|string* keys, string
9 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 +010013DEFINIERT IN
14============
MG Mud User88f12472016-06-24 23:31:02 +020015
Zesstra953f9972017-02-18 15:37:36 +010016 /std/npc/info.c
17
18
Arathorn49ecb072021-09-06 16:35:13 +020019ARGUMENTE
20=========
21
22 string|string* frage
23 Schluesselphrase(n), fuer die der NPC eine Antwort geben soll,
24 wenn man ihn danach fragt
25
26 string functionname
27 Name der Funktion, die gerufen werden soll, um den
28 Informationstext des NPCs zu ermitteln. Der gerufenen Funktion
29 wird die vom Spieler gefragte Schluesselphrase uebergeben.
30
31 string indent (optional)
32 Text, der sich bei mehrzeiligen Meldungen wiederholen soll.
33
34 int|string silent (optional)
35 Ist silent gesetzt, so erfolgt Antwort nur an Fragenden.
36
37 string|closure casebased (optional)
38 Closure mit Returnwert string oder int. Der Funktion wird die
39 vom Spieler gefragte Schluesselphrase uebergeben.
40
41
Zesstra953f9972017-02-18 15:37:36 +010042BESCHREIBUNG
43============
44
Arathorn49ecb072021-09-06 16:35:13 +020045 Wenn ein Spieler ein NPC mittels "frage <monstername> nach <frage>"
46 nach einer Information mit dem Schluessel frage fragt, so wird die
47 Methode "function" gerufen. Die Rueckgabe wird als Meldung
48 ausgegeben.
Zesstra953f9972017-02-18 15:37:36 +010049
50 Fuer die Beschreibung der weiteren Parameter siehe man AddInfo(L).
51
Arathorn49ecb072021-09-06 16:35:13 +020052 "AddSpecialInfo(keys, "function", ...)" entspricht "AddInfo(keys,
53 #'function, ...)".
Zesstra953f9972017-02-18 15:37:36 +010054
55
56BEMERKUNGEN
57===========
58
59 Da AddSpecialInfo() und AddInfo() auf die gleichen Daten zugreifen,
Arathorn49ecb072021-09-06 16:35:13 +020060 kann man Informationen, die mit AddSpecialInfo() gesetzt wurden,
61 auch mit RemoveInfo() entfernen. Es gibt kein RemoveSpecialInfo().
Zesstra953f9972017-02-18 15:37:36 +010062
63
64BEISPIELE
65=========
66
67 // Das folgende Beispiel ist auch unter man AddInfo(L) zu finden.
68 ### dynamisch ###
69 AddSpecialInfo(({"keks","kekse"}),
70 "query_kekse", // der Methodenname
71 "sagt: ");
72 // ist uebrigens das gleiche wie:
Arathorn49ecb072021-09-06 16:35:13 +020073 // static string query_kekse(string key);
Zesstra953f9972017-02-18 15:37:36 +010074 // ...
75 // AddInfo(({"keks","kekse"}),
76 // #'query_kekse, // ein Verweis auf die Methode
77 // "sagt: ");
78 ...
Arathorn49ecb072021-09-06 16:35:13 +020079 static string query_kekse(string key) {
Zesstra953f9972017-02-18 15:37:36 +010080 if(present("keks"))
81 return("Ich hab noch welche. Aetsch!");
82 return("Menno. Keine mehr da!");
83 }
84
85 // "frage monster nach keks":
86 // - wenn es noch Kekse hat, hoeren alle:
87 // "Das Monster sagt: Ich hab noch welche. Aetsch!
88 // - sonst:
89 // "Das Monster sagt: "Menno. Keine mehr da!
90
91
92SIEHE AUCH
93==========
94
Arathorn41004de2020-10-18 22:03:28 +020095 Verwandt:
96 AddInfo(), RemoveInfo()
MG Mud User88f12472016-06-24 23:31:02 +020097
Arathorn41004de2020-10-18 22:03:28 +020098 Props:
99 P_PRE_INFO
100
101 Files:
102 /std/npc/info.c
103
104 Loggen:
105 P_LOG_INFO
106
107 Interna:
108 GetInfoArr() , do_frage()
109
Arathorn49ecb072021-09-06 16:35:13 +020011009.08.2021, Zesstra