Syntaxhilfe fuer Objekte eingebaut
Objekte koennen mit der Property P_SYNTAX_HELP explizite
Hilfen zur Syntax ihrer Kommandos anbieten.
Change-Id: Ib27a77b020d53fca411d83f0e02d85476ca62341
diff --git a/doc/props/P_SYNTAX_HELP b/doc/props/P_SYNTAX_HELP
new file mode 100644
index 0000000..13344f1
--- /dev/null
+++ b/doc/props/P_SYNTAX_HELP
@@ -0,0 +1,44 @@
+NAME:
+ P_SYNTAX_HELP "lib_p_syntax_help"
+
+DEFINIERT IN:
+ /sys/thing/commands.h
+
+BESCHREIBUNG:
+ In dieser Property kann man fuer Spieler eine ausfuehrliche Syntaxhilfe zu
+ den Kommandos eines Objektes ablegen. Diese wird angezeigt, wenn der
+ Spieler das Kommando "synxtaxhilfe <objekt>" eingibt.
+ Die Property kann verschiedene Datenstrukturen enthalten:
+
+ 1) ein String
+ Der String wird angezeigt, hierbei ggf. umgebrochen, vorhandene
+ Zeilenumbrueche werden beibehalten.
+
+ 2) ein Array: ({hilfetext, bedingungen})
+
+ <hilfetext>:
+ * ein string:
+ Der String wird angezeigt, hierbei ggf. umgebrochen, vorhandene
+ Zeilenumbrueche werden beibehalten.
+ * eine lfun-closure:
+ Diese erhaelt beim Aufruf das betreffende Objekt als Argument.
+ Wenn diese dann einen String zurueckliefert, wird dieser dem Spieler
+ angezeigt. Hierbei wird ggf. umgebrochen, vorhandene Zeilenumbrueche
+ werden beibehalten.
+
+ <bedingungen>, welche erfuellt sein muessen, damit dem Spieler die Hilfe
+ angezeigt wird. Die Bedingungen sind entweder:
+ * ein Mapping fuer check_restriction()
+ * eine lfun-closure
+ Diese erhaelt beim Aufruf das betreffende Objekt als Argument und darf
+ eine 0 fuer 'erlaubt', 1 fuer 'nicht erlaubt (mit Standardtext)' oder
+ einen string fuer 'nicht erlaubt mit individuellem Text' sein.
+
+BEMERKUNGEN:
+ Hat ein Objekt keine Syntaxhilfe, wird das Kommando "syntaxhilfe" aus dem
+ Objekt wieder entfernt (d.h. die Property muss gesetzt sein, bevor der
+ erste Spieler das Kommando eingibt).
+
+SIEHE AUCH:
+ AddCmd
+