| 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 |