blob: efc30675dda19c105b9b1c5e423b9b7b4fb74c78 [file] [log] [blame]
AddSpecialInfo()
****************
FUNKTION
========
varargs void AddSpecialInfo( frage, meldung
[, indent [, [silent [, casebased] ] ] );
ARGUMENTE
=========
string/string* frage
Schluesseltext(e) auf die Informationen gegeben werden sollen.
string/closure function
Methodenname im NPC/Closure
string indent
Text, der sich bei mehrzeiligen Meldungen wiederholen soll.
int/string silent
Ist silent gesetzt, so erfolgt Antwort nur an Fragenden.
string/closure casebased
Funktionsname oder Closure mit Returnwert string oder int.
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
==========
AddInfo(L), RemoveInfo(L)
7.Apr 2004 Gloinson