AddSpecialInfo()

FUNKTION

public varargs void AddSpecialInfo(string|string* keys, string functionname,
string indent, int|string silent, string|closure casebased);

DEFINIERT IN

/std/npc/info.c

ARGUMENTE

string|string* frage
Schluesselphrase(n), 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 wird die vom Spieler gefragte Schluesselphrase 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 wird die vom Spieler gefragte Schluesselphrase uebergeben.

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(string key);
// ...
// AddInfo(({"keks","kekse"}),
//         #'query_kekse,          // ein Verweis auf die Methode
//         "sagt: ");
...
static string query_kekse(string key) {
 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()

09.08.2021, Zesstra