blob: efc30675dda19c105b9b1c5e423b9b7b4fb74c78 [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
Zesstra953f9972017-02-18 15:37:36 +01009 varargs void AddSpecialInfo( frage, meldung
10 [, indent [, [silent [, 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
Zesstra953f9972017-02-18 15:37:36 +010016 string/string* frage
17 Schluesseltext(e) auf die Informationen gegeben werden sollen.
18 string/closure function
19 Methodenname im NPC/Closure
20 string indent
21 Text, der sich bei mehrzeiligen Meldungen wiederholen soll.
22 int/string silent
23 Ist silent gesetzt, so erfolgt Antwort nur an Fragenden.
24 string/closure casebased
25 Funktionsname oder Closure mit Returnwert string oder int.
MG Mud User88f12472016-06-24 23:31:02 +020026
MG Mud User88f12472016-06-24 23:31:02 +020027
Zesstra953f9972017-02-18 15:37:36 +010028DEFINIERT IN
29============
MG Mud User88f12472016-06-24 23:31:02 +020030
Zesstra953f9972017-02-18 15:37:36 +010031 /std/npc/info.c
32
33
34BESCHREIBUNG
35============
36
37 Wenn ein Spieler ein NPC mittels "frage <monstername> nach <frage>" nach
38 einer Information mit dem Schluessel frage fragt, so wird die Methode
39 "function" gerufen. Die Rueckgabe wird als Meldung ausgegeben.
40
41 Fuer die Beschreibung der weiteren Parameter siehe man AddInfo(L).
42
43 AddSpecialInfo(keys, "function", ...) entspricht:
44 - AddInfo(keys, #'function, ...)
45
46
47BEMERKUNGEN
48===========
49
50 Da AddSpecialInfo() und AddInfo() auf die gleichen Daten zugreifen,
51 kann man Informationen, die mit AddSpecialInfo() gesetzt wurden, auch
52 mit RemoveInfo() entfernen. Es gibt kein RemoveSpecialInfo().
53
54
55BEISPIELE
56=========
57
58 // Das folgende Beispiel ist auch unter man AddInfo(L) zu finden.
59 ### dynamisch ###
60 AddSpecialInfo(({"keks","kekse"}),
61 "query_kekse", // der Methodenname
62 "sagt: ");
63 // ist uebrigens das gleiche wie:
64 // static string query_kekse();
65 // ...
66 // AddInfo(({"keks","kekse"}),
67 // #'query_kekse, // ein Verweis auf die Methode
68 // "sagt: ");
69 ...
70 static string query_kekse() {
71 if(present("keks"))
72 return("Ich hab noch welche. Aetsch!");
73 return("Menno. Keine mehr da!");
74 }
75
76 // "frage monster nach keks":
77 // - wenn es noch Kekse hat, hoeren alle:
78 // "Das Monster sagt: Ich hab noch welche. Aetsch!
79 // - sonst:
80 // "Das Monster sagt: "Menno. Keine mehr da!
81
82
83SIEHE AUCH
84==========
85
86 AddInfo(L), RemoveInfo(L)
MG Mud User88f12472016-06-24 23:31:02 +020087
887.Apr 2004 Gloinson