Automatisch erzeugte Manpages.
Damit nicht jeder sphinx auf dem Rechner haben muss,
behalten wir bis auf weiteres die aus den .rst
erzeugten Manpoages auch im Repo.
Change-Id: Id556c0d11cf5f79659d8350952ce1c014d81ea44
diff --git a/doc/props/P_DISABLE_COMMANDS b/doc/props/P_DISABLE_COMMANDS
index f0318e0..e66910a 100644
--- a/doc/props/P_DISABLE_COMMANDS
+++ b/doc/props/P_DISABLE_COMMANDS
@@ -1,74 +1,100 @@
+
P_DISABLE_COMMANDS
+******************
-NAME:
- P_DISABLE_COMMANDS "p_lib_disablecommands"
-DEFINIERT IN:
- /sys/player/command.h
+NAME
+====
-BESCHREIBUNG:
- Mit dieser Prop kann man verhindern, dass Kommandos eines Spielers
- verarbeitet werden. Dies ist z.B. in Sequenzen nuetzlich, wo der Spieler
- rein passiv konsumieren soll.
- In diese Property muss ein Array mit 2 oder 3 Elementen geschrieben
- werden:
- 1) Endzeitpunkt in Sekunden seit 1.1.1970 (int)
- 2) Meldung (String oder Closure)
- 3) (optional) Array von trotzdem erlaubten Verben (string*)
- (nur ausgewertet, wenn die Meldung ein String ist)
-
- Ist die Meldung ein String, wird dieser einfach bei jedem Kommando so wie
- er ist an den Spieler ausgegeben und das Kommando abgebrochen.
- Ist die Meldung eine Closure wird diese bei jedem Kommando aufgerufen und
- das Kommando abgebrochen, wenn sie einen Rueckgabewert != 0 zurueckgibt.
- In diesem Fall ist die gerufene Funktion dafuer verantwortlich, geeignete
- Meldungen an den Spieler auszugeben!
- Der Funktion wird der vom Spieler eingebene Befehl (string) als erstes
- Argument uebergeben. Zu diesem Zeitpunkt wurde alle Aliase schon
- ausgewertet. Die Funktion kann den Kommandogeber via this_player()
- ermitteln.
- Fuer weitere Informationen steht auch command_stack() zur Verfuegung,
- allerdings ist dort die Alias-Ersetzung nicht beruecksichtigt.
+ P_DISABLE_COMMANDS "p_lib_disablecommands"
- Die Ausnahmeliste wird nur fuer simple Strings als Meldung ausgewertet,
- wird eine Closure verwendet, kann diese besser selber die Ausnahmen
- bestimmen.
-
- Fragt man diese Prop ab, erhaelt man ein Array mit 4 Elementen: setzendes
- Objekt (object), Ablaufzeit (int), Meldung (String oder Closure) und
- Liste von Ausnahmen (string*).
-BEMERKUNGEN:
- 1. Die Prop wird fuer Magier mit eingeschaltetem P_WANTS_TO_LEARN
- ignoriert.
- 2. Wenn das Objekt zerstoert wird, was die Prop gesetzt hat, wird der
- Eintrag unwirksam.
- 3. Wenn diese Prop gesetzt und nicht abgelaufen ist, kann nur das gleiche
- Objekt sie mit neuen Daten ueberschreiben. Alle anderen Objekte koennen
- die Prop nur loeschen. Dies soll verhindern, dass Magier unabsichtlich
- einfach anderer Leute Eintraege ueberschreiben. Dementsprechend: Lasst
- die Finger davon, wenn die schon gesetzt ist. ;-)
- 4. Diese Prop darf _ausschliesslich_ mit SetProp() und QueryProp() benutzt
- werden, Set() und Query() funktionieren _nicht_.
- 5. Es gibt einige Verben, die NIE blockiert werden. Zur Zeit sind dies
- "mrufe", "mschau", "bug", "idee", "typo" und "detail".
- 6. Bitte nicht missbrauchen, speziell nicht dazu, die Kommandos von
- Spieler zu ueberwachen/mitzuschreiben. Das Setzen dieser Prop wird
- geloggt.
+DEFINIERT IN
+============
-BEISPIEL:
+ /sys/player/command.h
+
+
+BESCHREIBUNG
+============
+
+ Mit dieser Prop kann man verhindern, dass Kommandos eines Spielers
+ verarbeitet werden. Dies ist z.B. in Sequenzen nuetzlich, wo der Spieler
+ rein passiv konsumieren soll.
+ In diese Property muss ein Array mit 2 oder 3 Elementen geschrieben
+ werden:
+ 1) Endzeitpunkt in Sekunden seit 1.1.1970 (int)
+ 2) Meldung (String oder Closure)
+ 3) (optional) Array von trotzdem erlaubten Verben (string*)
+ (nur ausgewertet, wenn die Meldung ein String ist)
+
+
+
+ Ist die Meldung ein String, wird dieser einfach bei jedem Kommando so wie
+ er ist an den Spieler ausgegeben und das Kommando abgebrochen.
+ Ist die Meldung eine Closure wird diese bei jedem Kommando aufgerufen und
+ das Kommando abgebrochen, wenn sie einen Rueckgabewert != 0 zurueckgibt.
+ In diesem Fall ist die gerufene Funktion dafuer verantwortlich, geeignete
+ Meldungen an den Spieler auszugeben!
+ Der Funktion wird der vom Spieler eingebene Befehl (string) als erstes
+ Argument uebergeben. Zu diesem Zeitpunkt wurde alle Aliase schon
+ ausgewertet. Die Funktion kann den Kommandogeber via this_player()
+ ermitteln.
+ Fuer weitere Informationen steht auch command_stack() zur Verfuegung,
+ allerdings ist dort die Alias-Ersetzung nicht beruecksichtigt.
+
+ Die Ausnahmeliste wird nur fuer simple Strings als Meldung ausgewertet,
+ wird eine Closure verwendet, kann diese besser selber die Ausnahmen
+ bestimmen.
+
+
+
+ Fragt man diese Prop ab, erhaelt man ein Array mit 4 Elementen: setzendes
+ Objekt (object), Ablaufzeit (int), Meldung (String oder Closure) und
+ Liste von Ausnahmen (string*).
+
+
+BEMERKUNGEN
+===========
+
+ 1. Die Prop wird fuer Magier mit eingeschaltetem P_WANTS_TO_LEARN
+ ignoriert.
+ 2. Wenn das Objekt zerstoert wird, was die Prop gesetzt hat, wird der
+ Eintrag unwirksam.
+ 3. Wenn diese Prop gesetzt und nicht abgelaufen ist, kann nur das gleiche
+ Objekt sie mit neuen Daten ueberschreiben. Alle anderen Objekte koennen
+ die Prop nur loeschen. Dies soll verhindern, dass Magier unabsichtlich
+ einfach anderer Leute Eintraege ueberschreiben. Dementsprechend: Lasst
+ die Finger davon, wenn die schon gesetzt ist. ;-)
+ 4. Diese Prop darf _ausschliesslich_ mit SetProp() und QueryProp() benutzt
+ werden, Set() und Query() funktionieren _nicht_.
+ 5. Es gibt einige Verben, die NIE blockiert werden. Zur Zeit sind dies
+ "mrufe", "mschau", "bug", "idee", "typo" und "detail".
+ 6. Bitte nicht missbrauchen, speziell nicht dazu, die Kommandos von
+ Spieler zu ueberwachen/mitzuschreiben. Das Setzen dieser Prop wird
+ geloggt.
+
+
+BEISPIEL
+========
+
In einem Raum startet eine Sequenz, in der der Spieler nichts machen soll:
if (!pl->QueryProp(P_DISABLE_COMMANDS))
pl->SetProp(P_DISABLE_COMMANDS,
({ time() + 120, "Du bist tief in Deinem Traum gefangen!\n" }) );
else // ... Fehlerbehandlung, falls Prop schon gesetzt ...
-
+
+
+
Soll die Prop aus irgendeinem Grund (vorzeitig) geloescht werden:
pl->SetProp(P_DISABLE_COMMANDS, 0);
-SIEHE AUCH:
- command(), query_command(), command_stack(), modify_command(),
- this_player()
+
+SIEHE AUCH
+==========
+
+ command(), query_command(), command_stack(), modify_command(),
+ this_player()
01.12.2012, Zesstra