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/TestIgnore.rst b/doc/sphinx/lfun/TestIgnore.rst
new file mode 100644
index 0000000..7c77dbb
--- /dev/null
+++ b/doc/sphinx/lfun/TestIgnore.rst
@@ -0,0 +1,88 @@
+TestIgnore()
+============
+
+FUNKTION
+--------
+::
+
+ public int TestIgnore(string|string* arg)
+
+DEFINIERT IN
+------------
+::
+
+ /std/player/comm.c
+
+ARGUMENTE
+---------
+::
+
+ arg
+ String oder Array von Strings, die getestet werden sollen,
+ Format jeweils: [spieler].aktion[.qualifizierer]
+
+RUeCKGABEWERT
+-------------
+::
+
+ 0, wenn arg nicht ignoriert wird
+ MSG_IGNORED, wenn (min. ein Element von) arg ignoriert wird
+
+BESCHREIBUNG
+------------
+::
+
+ Es wird geprueft, ob der Spieler irgendeinen Eintrag auf seiner Liste
+ hat, der dazu fuehrt, dass <arg> ignoriert wird. Hierbei kommen je nach
+ den Angaben in <arg> folgende Regeln zum Tragen:
+ 1) spieler
+ Wird der Spieler ignoriert?
+ 2) .aktion
+ Ignoriert der Spieler .aktion, d.h. die Aktion komplett (OHNE
+ Qualifizierer)?
+ 3) spieler.aktion
+ Ignoriert der Spieler spieler, .aktion oder spieler.aktion?
+ 4) spieler.aktion.qualifizierer
+ Ignoriert der Spieler spieler, .aktion, spieler.aktion oder
+ spieler.aktion.qualifizierer?
+ 5) .aktion.qualifizierer
+ Ignoriert der Spieler .aktion oder .aktion.qualifizierer?
+
+ Da TestIgnore() damit durchaus etwas aufwendiger sein kann, sollte
+ man dies nicht unnoetig oft aufrufen. (Braucht man das Ergebnis z.B.
+ kurz spaeter nochmal, koennte man das Ergebnis speichern.) Wird der
+ Qualifizierer nicht gebraucht, sollte man ihn weglassen.
+
+BEISPIEL
+--------
+::
+
+ if (!this_player()->TestIgnore("andy"))
+ tell_object(this_player(), "Andy teilt Dir mit: Hallo!\n");
+
+ // Beispiel fuer eine Ignore-Check fuer Aktion (kratzen) fuer einen
+ // Spieler (this_player()) an einem anderen Spieler (target)
+ if (!target->TestIgnore( ({getuid(this_player()) + ".kratze",
+ getuid(this_player()) + ".kratz"}) ))
+ {
+ tell_object(target, this_player()->Name()+" kratzt dich.\n");
+ tell_object(this_player(), "Du kratzt "+target->Name()+".\n");
+ }
+ else
+ tell_object(this_player(), target->Name()+" ignoriert dich.\n");
+
+ // allumfassender Ignorier-Check in einer Gilde (Klerus) auf
+ // eine Aktion (kurieren) fuer einen bestimmten Spieler (den caster)
+ // an einem zu kurierenden Spieler (target)
+ if (target->TestIgnore(getuid(caster)+".kuriere.klerus"))
+ tell_object(caster, break_string(
+ target->Name()+" ignoriert deinen Versuch.", 78));
+
+SIEHE AUCH
+----------
+::
+
+ P_IGNORE, AddIgnore, RemoveIgnore, TestIgnoreSimple, /std/player/comm.c
+
+26.04.2014 Zesstra
+