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

