Lpc Manpages

/std/chair -- Ein Standardobjekt fuer Sitzgelegenheiten
-------------------------------------------------------

/std/chair ist ein Standardobjekt fuer (tragbare) Sitzgelegenheiten.
Es verwendet ein Shadow-Objekt, um die Raumbeschreibung entsprechend
anzupassen, sodass keine Aenderungen am Raum-Objekt oder am Spieler
noetig sind. Es ist direkt von /std/thing abgeleitet, sodass es sich
weitgehend wie ein gewoehnliches Objekt verwenden laesst.

Neben den ueblichen Properties, wie P_LONG, P_SHORT, P_NAME,
P_NOGET, P_NODROP, etc. wertet es die folgenden Spezial-Properties aus:

P_CHAIR_LIMIT -      Die maximale Anzahl von Spielern, die gleichzeitig
                     darauf sitzen koennen.
P_CHAIR_ENTER_MSGS - Array von Meldungen, die an den Spieler, die Spieler
                     auf dem Stuhl und die Spieler im Raum ausgegeben
                     werden, wenn sich jemand auf den Stuhl setzt.
P_CHAIR_LEAVE_MSGS - Array von Meldungen, die an den Spieler, die Spieler
                     auf dem Stuhl und die Spieler im Raum ausgegeben
                     werden, wenn jemand vom Stuhl aufsteht.
P_CHAIR_USERS -      Ein Array der Spieler, die gerade auf dem chair-Objekt
                     sitzen. Sollte nicht von aussen geaendert werden.
P_CHAIR_OBJECTS -    In dieser Property speichert das Shadow-Objekt, welche
                     chair-Objekt es bedient. Es koennen ja mehrere chair-
                     Objekte in einem Raum sein, und das Shadow-Objekt muss
                     eine Liste davon fuehren. INTERNE PROPERTY! Bitte NICHT
                     aendern!
P_CHAIR_SITTING -    Diese Property wird IM SPIELER gesetzt! Hier wird das
                     Stuhlobjekt abgelegt, auf dem der Spieler gerade sitzt.

Ein Beispiel findet sich in
    /doc/beispiele/stuehle

Normalerweise sollte ausser den Standard-Properties nur P_CHAIR_LIMIT
und P_CHAIR_ENTER(LEAVE)_MSGS im create() des erbenden Objekts gesetzt
werden. Die anderen Properties werden vollstaendig intern verwaltet.

Das Objekt stellt die folgenden Kommandos zur Verfuegung:

sitz/sitze/setz/setze auf <id>:
  Spieler setzt sich auf das chair-Objekt mit der ID <id>, wenn er nicht
  bereits sitzt (auch auf anderen chair-Objekten im Raum), und wenn noch
  Platz auf dem chair-Objekt ist (P_CHAIR_LIMIT).

steh/stehe auf:
  Spieler steht auf, wenn er sitzt.

Wenn ein Spieler sitzt, wird das Verlassen des Raums via Exits
unterbunden. Ausserdem sind die folgenden Kommandos tabu:

"huepf", "knicks", "kriech", "rotfl", "tanz", "verneig", "waelz",
"teleport"

Das chair-Objekt stellt ausserdem sicher, dass man es nur dann mitnehmen
kann, wenn niemand mehr darauf sitzt (und natuerlich nur, wenn P_NOGET
nicht gesetzt ist und das Gewicht nicht zu hoch ist).

Als Magier sollte man sich nicht darueber wundern, als Objektbezeichnung
eines Raums
  [SHADOW von ...]
zu sehen. Das chair-Objekt erzeugt ein Shadow-Objekt des Raums, wenn
mindestens ein Spieler darauf sitzt.

        Have the appropriate amount of fun,
        Marcel@AnderLand