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