Manpages als reStructuredText erstellt
Unsere Manpages wurden mit einem LPC-Tool in
reStructuredText konvertiert und liegen jetzt
in diesem Verzeichnis als Quelldaten.
Aus diesen reStructuredText sollen dann per
Script die ASCII-Manpages und per Sphinx HTML u.a.
erzeugt werden.
Change-Id: I75d659a7b3f9863aecb11dbeb0037e6cae227c36
diff --git a/doc/sphinx/lfun/TriggerEvent.rst b/doc/sphinx/lfun/TriggerEvent.rst
new file mode 100644
index 0000000..2e8e09e
--- /dev/null
+++ b/doc/sphinx/lfun/TriggerEvent.rst
@@ -0,0 +1,88 @@
+TriggerEvent()
+==============
+
+FUNKTION
+--------
+::
+
+ varargs int TriggerEvent(string eid, mixed data);
+
+DEFINIERT IN
+------------
+::
+
+ /p/daemon/eventd.c
+
+DEKLARIERT IN
+-------------
+::
+
+ /sys/events.h
+
+ARGUMENTE
+---------
+::
+
+ string eid,
+ Die ID des Events, der ausgeloest werden soll.
+ Da dieser String fuer alle Events jeweils eindeutig sein muss,
+ empfiehlt es sich, fuer eigene Events z.B. als Praefix den eigenen
+ Magiernamen zu nehmen, z.B. "zesstra_vulkanausbruch".
+ ACHTUNG: IDs, die mit 'evt_lib_' beginnen, sind AUSSCHLIESSLICH der
+ Mudlib vorbehalten!
+
+ mixed data,
+ Daten, die jeder Lauscher uebergeben bekommt. Kann ein beliebiger
+ Datentyp sein. Ggf. ein Mapping oder Array benutzen.
+
+BESCHREIBUNG
+------------
+::
+
+ Der Event mit der ID 'eid' wird ausgeloest. Mit kurzer Verzoegerung
+ (meist 0-2s) werden alle fuer 'eid' registrierten Lauscher durch Aufruf
+ einer Funktion in ihnen informiert:
+ listener->fun(eid, triggerob, data);
+ 'triggerob' ist hierbei das Objekt, welche TriggerEvent() gerufen hat,
+ 'data' das, was das triggernde Objekte als Daten weiterverteilen moechte.
+ Die einzelnen fun() in den lauschenden Objekten muessen wissen, was sie
+ mit 'data' anfangen sollen. ;-)
+
+RUeCKGABEWERT
+-------------
+::
+
+ 1 fuer Erfolg, <=0 fuer Misserfolg.
+ 1 - Erfolg, Event 'eid' wurde ausgeloest.
+ -1 - falsche Argumente wurden uebergeben
+ -2 - nicht-oeffentlicher Event und das triggernde Objekt wurde nicht
+ fuer diesen Event freigegeben (momentan gibt es noch keine
+ nicht-oeffentlichen Events)
+ -3 - Event 'eid' existiert nicht, d.h. es gibt keine Lauscher.
+ -4 - Es gibt zuviele nicht verarbeitete Events.
+
+BEMERKUNGEN
+-----------
+::
+
+BEISPIELE
+---------
+::
+
+ 1. Ein Waechter wird angegriffen:
+ EVENTD->TriggerEvent("xand_holzfaellerlager_angriff",
+ (["angreifer": enemy,
+ "ort": environment(this_object()) ]) );
+ Alle anderen angemeldeten Waechter der Lagers werden nun informiert
+ und koennen ihrerseits reagieren (dem ersten Waechter zuhilfe kommen
+ oder auch die Lagertore schliessen).
+
+SIEHE AUCH
+----------
+::
+
+ events, eventd, UnregisterEvent(), RegisterEvent()
+
+
+Last modified: 15.08.2007, Zesstra
+