
P_SYNTAX_HELP
*************


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 "syntaxhilfe <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()*
