blob: e037d1fab8bfc2899ddaba365d7131d79b0920cb [file] [log] [blame]
Zesstra18626972017-01-31 10:38:27 +01001show_notify()
2=============
3
Bugfixd3835772020-05-27 10:32:05 +02004show_notify()
Zesstra18626972017-01-31 10:38:27 +01005
6FUNKTION
7--------
8::
9
10 void show_notify(object obj)
11
12DEFINIERT IN
13------------
14::
15
Zesstrad04b7952021-02-04 21:32:02 +010016 beliebigen Objekten
Zesstra18626972017-01-31 10:38:27 +010017
18ARGUMENTE
19---------
20::
21
22 obj - dem Lebewesen gezeigtes Objekt
23
24RUeCKGABEWERT
25-------------
26::
27
28 keiner
29
30BESCHREIBUNG
31------------
32::
33
34 Diese Funktion wird automatisch immer dann aufgerufen, wenn einem
35 Lebewesen (welches kein Spielercharakter ist) ein Objekt gezeigt wird.
Zesstrad04b7952021-02-04 21:32:02 +010036 Will das Lebewesen auf so etwas reagieren, ist das Implementieren dieser
37 Funktion der einfachste Weg.
38
Zesstra18626972017-01-31 10:38:27 +010039 Dies funktioniert nur dann, wenn der Standardbefehl der Spielershell
40 verwendet wird ("zeige <name> <gegenstand>"). Selbstgebautes "zeige"
41 funktioniert nicht.
42
43BEISPIEL
44--------
45::
46
47 Oftmals will man in Quests erreichen, dass einem NPC ein bestimmtes
48 Item als Beweis der Erfuellung einer bestimmten Aufgabe vorgezeigt
49 wird. Folgendermassen kann dies realisiert werden:
50
51 void quest_ok(object obj) { ...
52 // z.B. Vernichtung des Questobjektes und Questtexte
53 // Questbelohnung und Questanerkennung, etc.
54 }
55
56 void show_notify(object obj) {
57 if(obj->id("\nquestitem")) // Ist das das geforderte Questobjekt?
58 quest_ok(obj);
59 }
60
61BEMERKUNGEN
62-----------
63::
64
65 Da es nur um das Vorzeigen von Gegenstaenden geht, die nicht den
66 Besitzer wechseln, sind Mechanismen wie P_REJECT in diesem Fall
67 nicht erforderlich.
68
69SIEHE AUCH
70----------
71::
72
73 give_notify(), /std/npc/put_and_get.c, /std/living/put_and_get.c
74
Zesstrad04b7952021-02-04 21:32:02 +01007504.02.2020 Zesstra
Zesstra18626972017-01-31 10:38:27 +010076