blob: 9a372ba28ece4ee70f06a9ed9d778b60bbf3b460 [file] [log] [blame]
Zesstra953f9972017-02-18 15:37:36 +01001
2AddInsertHook()
3***************
4
5********************* OBSOLETE LFUN
6*********************************** * Diese Efun bitte nicht mehr
7benutzen, sondern stattdessen die * * Hooks (s. /doc/std/hooks).
8* *******************************************************************
9**** AddInsertHook()
10
11
12FUNKTION
13========
14
15 void AddInsertHook(object ob);
16
17
18DEFINIERT IN
19============
20
21 /std/player/restrictions.c
22
23
24ARGUMENTE
25=========
26
27 ob - Das Objekt, das informiert werden soll, wenn ein Objekt dem
28 Spielerinventar hinzugefuegt wurde.
29
30
31BESCHREIBUNG
32============
33
34 (Diese Funktionalitaet wurde ersetzt durch den allgemeinen Hook
35 H_HOOK_INSERT und ist nur noch aus Gruenden der Kompatibilitaet
36 vorhanden.)
37
38 Diese Funktion wird im Spielerobjekt aufgerufen, um das Objekt ob als
39 Hook-Listener anzumelden. Auf diese Weise eingetragene Listener
40 werden informiert, wenn ein Objekt ins Spielerinventar bewegt wurde.
41 Technisch wird die Bewegung ueber NotifyInsert() im Spielerobjekt
42 detektiert, und im Listener-Objekt wird die Funktion InsertNotify()
43 gerufen, die als Parameter das neu ins Spielerinventar bewegte Objekt
44 uebergeben bekommt.
45
46
47RUeCKGABEWERT
48=============
49
50 keiner
51
52
53BEMERKUNGEN
54===========
55
56 Das Listener-Objekt muss sich ebenfalls im Spielerinventar befinden,
57 ansonsten wird der eingetragene Hook wieder geloescht.
58
59
60BEISPIEL
61========
62
63 a) Objekt "ob" wird im Spieler als Listener angemeldet:
64 this_player()->AddInsertHook(ob);
65
66 b) Objekt "new" wird ins Spielerinventar bewegt, das Spielerobjekt
67 informiert "ob" darueber:
68 ob->InsertNotify(new);
69
70 c) Das Listener-Objekt "ob" reagiert darauf, z.B. indem es die Fackel
71 loescht, sofern sie vorher brannte:
72 void InsertNotify(object new) {
73 if ( objectp(new) && new->id("\nfackel") &&
74 new->QueryProp(P_LIGHTED) )
75 new->unlight();
76 return;
77 }
78
79
80SIEHE AUCH
81==========
82
83 NotifyInsert(), RemoveInsertHook(), QueryInsertHooks()
84
85Last modified: 14.04.2010, Arathorn