blob: 099e5920b50b0c2270231017e110bcc0ff2a2758 [file] [log] [blame]
Zesstra953f9972017-02-18 15:37:36 +01001
2P_PRE_INFO
3**********
4
5
6NAME
7====
8
9 P_PRE_INFO "npc_pre_info"
10
11
12DEFINIERT IN
13============
14
15 /sys/npc.h
16
17
18BESCHREIBUNG
19============
20
21 Ist die Property in einem NPC definiert, so wird ihr Ergebnis
22 ausgewertet, bevor eine Frage an das Infosystem uebergeben wird.
23
24
25
26 Moegliche Werte:
27 - numerischer Wert ungleich 0
28 => der NPC gibt _keinerlei_ Antwort, die Frage fuehrt sozusagen
29 ins Leere
30
31 - Stringwert
32 => wird als Rueckgabe an den Fragenden ausgegeben, umstehende
33 Personen bekommen den Text:
34 "XY ist nicht gewillt, Spieler YZ zu antworten".
35 Der Fragende selbst bekommt bei angegebenem Stringwert:
36 "XY " + Stringwert.
37
38 - Closure
39 => die Antwort bzw. Reaktion des NPCs obliegt ganz der
40 angegebenen Closure. Diese muss dabei einen String oder
41 Ganzzahlen-Wert zurueckgeben
42
43
44BEISPIEL
45========
46
47 Ein NPC der manchmal herumrennt, um z.B. eine Aufgabe zu verrichten,
48 koennte so lange Chats abschalten, z.B.
49
50 SetProp(P_CHAT_CHANCE,0); // NPC latscht los
51
52
53
54 Und eine Weile spaeter:
55
56
57
58 SetProp(P_CHAT_CHANCE,5); // NPC ruht wieder, quasselt rum
59
60
61
62 Waehrend des Herumlaufens, also wenn er nicht automatisch schwatzt,
63 soll er auch keinerlei Fragen beantworten:
64
65
66
67 Set(P_PRE_INFO, function mixed () {
68 return (QueryProp(P_CHAT_CHANCE) ? 0 :
69 "hat gerade keine Zeit fuer Dich.");
70 }, F_QUERY_METHOD);
71
72
73HINWEISE
74========
75
76 Bitte beachten, dass der interne Name der Property "npc_pre_info"
77 ist und somit nur das Ueberschreiben von _query_npc_pre_info()
78 funktioniert.
79
80
81SIEHE AUCH
82==========
83
84 AddInfo(), /std/npc/info.c
85
86Last modified: 01.03.2016 by Arathorn