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/sphinx/man/props/P_DISABLE_COMMANDS b/doc/sphinx/man/props/P_DISABLE_COMMANDS
new file mode 100644
index 0000000..e66910a
--- /dev/null
+++ b/doc/sphinx/man/props/P_DISABLE_COMMANDS
@@ -0,0 +1,100 @@
+
+P_DISABLE_COMMANDS
+******************
+
+
+NAME
+====
+
+ P_DISABLE_COMMANDS "p_lib_disablecommands"
+
+
+DEFINIERT IN
+============
+
+ /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()
+
+01.12.2012, Zesstra