blob: 735983ff022889f3f78e3f8b8106ecf6bd9344f3 [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001AddSpecialInfo()
2FUNKTION:
3 varargs void AddSpecialInfo( frage, meldung
4 [, indent [, [silent [, casebased] ] ] );
5
6ARGUMENTE:
7 string/string* frage
8 Schluesseltext(e) auf die Informationen gegeben werden sollen.
9 string/closure function
10 Methodenname im NPC/Closure
11 string indent
12 Text, der sich bei mehrzeiligen Meldungen wiederholen soll.
13 int/string silent
14 Ist silent gesetzt, so erfolgt Antwort nur an Fragenden.
15 string/closure casebased
16 Funktionsname oder Closure mit Returnwert string oder int.
17
18DEFINIERT IN:
19 /std/npc/info.c
20
21BESCHREIBUNG:
22 Wenn ein Spieler ein NPC mittels "frage <monstername> nach <frage>" nach
23 einer Information mit dem Schluessel frage fragt, so wird die Methode
24 "function" gerufen. Die Rueckgabe wird als Meldung ausgegeben.
25
26 Fuer die Beschreibung der weiteren Parameter siehe man AddInfo(L).
27
28 AddSpecialInfo(keys, "function", ...) entspricht:
29 - AddInfo(keys, #'function, ...)
30
31BEMERKUNGEN:
32 Da AddSpecialInfo() und AddInfo() auf die gleichen Daten zugreifen,
33 kann man Informationen, die mit AddSpecialInfo() gesetzt wurden, auch
34 mit RemoveInfo() entfernen. Es gibt kein RemoveSpecialInfo().
35
36BEISPIELE:
37 // Das folgende Beispiel ist auch unter man AddInfo(L) zu finden.
38 ### dynamisch ###
39 AddSpecialInfo(({"keks","kekse"}),
40 "query_kekse", // der Methodenname
41 "sagt: ");
42 // ist uebrigens das gleiche wie:
43 // static string query_kekse();
44 // ...
45 // AddInfo(({"keks","kekse"}),
46 // #'query_kekse, // ein Verweis auf die Methode
47 // "sagt: ");
48 ...
49 static string query_kekse() {
50 if(present("keks"))
51 return("Ich hab noch welche. Aetsch!");
52 return("Menno. Keine mehr da!");
53 }
54
55 // "frage monster nach keks":
56 // - wenn es noch Kekse hat, hoeren alle:
57 // "Das Monster sagt: Ich hab noch welche. Aetsch!
58 // - sonst:
59 // "Das Monster sagt: "Menno. Keine mehr da!
60
61SIEHE AUCH:
62 AddInfo(L), RemoveInfo(L)
63
647.Apr 2004 Gloinson