blob: 9a372ba28ece4ee70f06a9ed9d778b60bbf3b460 [file] [log] [blame]
Zesstra953f9972017-02-18 15:37:36 +01001
MG Mud User88f12472016-06-24 23:31:02 +02002AddInsertHook()
Zesstra953f9972017-02-18 15:37:36 +01003***************
MG Mud User88f12472016-06-24 23:31:02 +02004
Zesstra953f9972017-02-18 15:37:36 +01005********************* OBSOLETE LFUN
6*********************************** * Diese Efun bitte nicht mehr
7benutzen, sondern stattdessen die * * Hooks (s. /doc/std/hooks).
8* *******************************************************************
9**** AddInsertHook()
MG Mud User88f12472016-06-24 23:31:02 +020010
MG Mud User88f12472016-06-24 23:31:02 +020011
Zesstra953f9972017-02-18 15:37:36 +010012FUNKTION
13========
MG Mud User88f12472016-06-24 23:31:02 +020014
Zesstra953f9972017-02-18 15:37:36 +010015 void AddInsertHook(object ob);
MG Mud User88f12472016-06-24 23:31:02 +020016
MG Mud User88f12472016-06-24 23:31:02 +020017
Zesstra953f9972017-02-18 15:37:36 +010018DEFINIERT IN
19============
MG Mud User88f12472016-06-24 23:31:02 +020020
Zesstra953f9972017-02-18 15:37:36 +010021 /std/player/restrictions.c
MG Mud User88f12472016-06-24 23:31:02 +020022
MG Mud User88f12472016-06-24 23:31:02 +020023
Zesstra953f9972017-02-18 15:37:36 +010024ARGUMENTE
25=========
MG Mud User88f12472016-06-24 23:31:02 +020026
Zesstra953f9972017-02-18 15:37:36 +010027 ob - Das Objekt, das informiert werden soll, wenn ein Objekt dem
28 Spielerinventar hinzugefuegt wurde.
MG Mud User88f12472016-06-24 23:31:02 +020029
MG Mud User88f12472016-06-24 23:31:02 +020030
Zesstra953f9972017-02-18 15:37:36 +010031BESCHREIBUNG
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
MG Mud User88f12472016-06-24 23:31:02 +020085Last modified: 14.04.2010, Arathorn