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