blob: be61558fcafff4975edc9749a91f59b83dc202e4 [file] [log] [blame]
AddSpecialInfo()
****************
FUNKTION
========
public varargs void AddSpecialInfo(string|string* keys, string functionname,
string indent, int|string silent, string|closure casebased);
ARGUMENTE
=========
string|string* frage
Schluesselwoerter, fuer die der NPC eine Antwort geben soll, wenn
man ihn danach fragt
string functionname
Name der Funktion, die gerufen werden soll, um den Informationstext
des NPCs zu ermitteln. Der gerufenen Funktion werden keine Argumente
uebergeben.
string indent (optional)
Text, der sich bei mehrzeiligen Meldungen wiederholen soll.
int|string silent (optional)
Ist silent gesetzt, so erfolgt Antwort nur an Fragenden.
string|closure casebased (optional)
Closure mit Returnwert string oder int.
Der Funktion werden keine Argumente uebergeben.
DEFINIERT IN
============
/std/npc/info.c
BESCHREIBUNG
============
Wenn ein Spieler ein NPC mittels "frage <monstername> nach <frage>" nach
einer Information mit dem Schluessel frage fragt, so wird die Methode
"function" gerufen. Die Rueckgabe wird als Meldung ausgegeben.
Fuer die Beschreibung der weiteren Parameter siehe man AddInfo(L).
AddSpecialInfo(keys, "function", ...) entspricht:
- AddInfo(keys, #'function, ...)
BEMERKUNGEN
===========
Da AddSpecialInfo() und AddInfo() auf die gleichen Daten zugreifen,
kann man Informationen, die mit AddSpecialInfo() gesetzt wurden, auch
mit RemoveInfo() entfernen. Es gibt kein RemoveSpecialInfo().
BEISPIELE
=========
// Das folgende Beispiel ist auch unter man AddInfo(L) zu finden.
### dynamisch ###
AddSpecialInfo(({"keks","kekse"}),
"query_kekse", // der Methodenname
"sagt: ");
// ist uebrigens das gleiche wie:
// static string query_kekse();
// ...
// AddInfo(({"keks","kekse"}),
// #'query_kekse, // ein Verweis auf die Methode
// "sagt: ");
...
static string query_kekse() {
if(present("keks"))
return("Ich hab noch welche. Aetsch!");
return("Menno. Keine mehr da!");
}
// "frage monster nach keks":
// - wenn es noch Kekse hat, hoeren alle:
// "Das Monster sagt: Ich hab noch welche. Aetsch!
// - sonst:
// "Das Monster sagt: "Menno. Keine mehr da!
SIEHE AUCH
==========
Verwandt:
AddInfo(), RemoveInfo()
Props:
P_PRE_INFO
Files:
/std/npc/info.c
Loggen:
P_LOG_INFO
Interna:
GetInfoArr() , do_frage()
24.09.2020, Arathorn