blob: 0de361a233b9d7f0e4ecf7907b98248f235eeebe [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001
2FUNKTION:
3 int UnregisterEvent(string eid, object listener);
4
5DEFINIERT IN:
6 /p/daemon/eventd.c
7DEKLARIERT IN:
8 /sys/events.h
9
10ARGUMENTE:
11 string eid,
12 Die ID des Events, vom dem man sich abmelden will.
13 object listener,
14 Das Objekt, das als Lauscher ausgetragen werden soll.
15
16BESCHREIBUNG:
17 Das Objekt 'listener' wird als Lauscher dieses Events ausgetragen. Ab
18 diesem Moment wird es bei Events vom Typ 'eid' nicht mehr informiert.
19
20 Hat der Event 'eid' im Anschluss keine Lauscher mehr, wird er implizit
21 geloescht.
22
23RUeCKGABEWERT:
24 1 fuer Erfolg, <=0 fuer Misserfolg.
25 1 - Erfolg, 'listener' wurde eingetragen.
26 -1 - falsche Argumente uebergeben
27 -2 - 'listener' ist nicht fuer 'eid' registriert.
28
29BEMERKUNGEN:
30 Wenn sich ein Objekt vor Zerstoerung nicht abmeldet, wird es ggf. beim
31 naechsten Auftreten von 'eid' automatisch ausgetragen.
32 Falls Blueprints nach Neuladen nicht automatisch angemeldet sein sollen,
33 sollten sie sich im remove() explizit abmelden.
34
35BEISPIELE:
36 1. Ein Objekt moechte nicht mehr ueber Spielertode informiert werden:
37 EVENTD->UnregisterEvent(EVT_LIB_PLAYER_DEATH, this_object());
38
39 2. Ein Objekt moechte sich bei Zerstoerung abmelden:
40 varargs int remove(int silent) {
41 ...
42 EVENTD->UnregisterEvent("zesstra_vulkanausbruch",this_object());
43 }
44
45SIEHE AUCH:
46 events, eventd, UnregisterEvent(), RegisterEvent()
47
48----------------------------------------------------------------------------
49Last modified: 15.08.2007, Zesstra