blob: 703d397da04237d948f5665b8d454d99b95c2f8c [file] [log] [blame]
Zesstra18626972017-01-31 10:38:27 +01001P_PRE_INFO
2==========
3
4NAME
5----
6::
7
8 P_PRE_INFO "npc_pre_info"
9
10DEFINIERT IN
11------------
12::
13
14 /sys/npc.h
15
16BESCHREIBUNG
17------------
18::
19
20 Ist die Property in einem NPC definiert, so wird ihr Ergebnis
21 ausgewertet, bevor eine Frage an das Infosystem uebergeben wird.
22
Zesstra18626972017-01-31 10:38:27 +010023 Moegliche Werte:
Arathorn78eab1b2019-11-26 19:24:18 +010024 - numerischer Wert > 0
25 => der NPC gibt keinerlei Antwort, die Frage fuehrt sozusagen
Zesstra18626972017-01-31 10:38:27 +010026 ins Leere
27
28 - Stringwert
29 => wird als Rueckgabe an den Fragenden ausgegeben, umstehende
30 Personen bekommen den Text:
31 "XY ist nicht gewillt, Spieler YZ zu antworten".
32 Der Fragende selbst bekommt bei angegebenem Stringwert:
33 "XY " + Stringwert.
34
Arathorn78eab1b2019-11-26 19:24:18 +010035 - Wenn eine als Querymethode gesetzte Closure einen String oder
36 einen Integer > 0 zurueckgibt, sind die Auswirkungen identisch
37 zu den beiden oben beschriebenen Faellen. Siehe auch Beispiel
38 unten.
39
Zesstra18626972017-01-31 10:38:27 +010040
41BEISPIEL
42--------
43::
44
45 Ein NPC der manchmal herumrennt, um z.B. eine Aufgabe zu verrichten,
46 koennte so lange Chats abschalten, z.B.
47
48 SetProp(P_CHAT_CHANCE,0); // NPC latscht los
49
Zesstra18626972017-01-31 10:38:27 +010050 Und eine Weile spaeter:
51
Zesstra18626972017-01-31 10:38:27 +010052 SetProp(P_CHAT_CHANCE,5); // NPC ruht wieder, quasselt rum
53
Zesstra18626972017-01-31 10:38:27 +010054 Waehrend des Herumlaufens, also wenn er nicht automatisch schwatzt,
55 soll er auch keinerlei Fragen beantworten:
56
Arathorn78eab1b2019-11-26 19:24:18 +010057 Set(P_PRE_INFO, function string () {
Zesstra18626972017-01-31 10:38:27 +010058 return (QueryProp(P_CHAT_CHANCE) ? 0 :
59 "hat gerade keine Zeit fuer Dich.");
60 }, F_QUERY_METHOD);
61
62HINWEISE
63--------
64::
65
66 Bitte beachten, dass der interne Name der Property "npc_pre_info"
67 ist und somit nur das Ueberschreiben von _query_npc_pre_info()
68 funktioniert.
69
70SIEHE AUCH
71----------
72::
73
74 AddInfo(), /std/npc/info.c
75
76
Arathorn78eab1b2019-11-26 19:24:18 +010077Last modified: 2019-Okt-16 by Arathorn
Zesstra18626972017-01-31 10:38:27 +010078