Dokumentation zu: room(STD)

HR Image


STANDARDOBJEKT FUER RAEUME:
        07.05.1996 (Yantro)
        05.12.2001 (Holger)

BENUTZUNG:
        inherit "room";
        #include <properties.h>

BESCHREIBUNG:
        Ein Raum ist ein Objekt, dass von Spielern oder anderen Lebewesen
        betreten werden kann. Er hat Lang- und Kurzbeschrreibungen von
        innen und aussen (zum Beispiel Schiffe oder aehnliche Raeume in
        Raeumen), die sich der Spieler je nach seinen Beduerfnissen
        anzeigen lassen kann (kurz/lang-Modus). Entsprechend den Beschrei-
        bungen koennen sichtbare, hoerbare oder lesbare Details angegeben
        werden. Auch in dem Raum selbst kann ein bestimmter Geruch oder ein
        bestimmte Geraeuchkulisse herrschen. Ausserdem zeigt der Raum die
        vorhandenen Ausgaenge an, sofern der Spieler die entsprechende
        Einstellung getroffen hat. (im WL default)

        Aussenraeume werden vom Tag-/Nachtwechsel beeinflusst. Es koennen
        aber in allen Raeumen tag-/nachtaebhaengige Beschreibungen fuer
        Details gesetzt werden.

PROPERTIES:
        Der Standardraum erbt die meisten seiner Eigenschaften vom std/thing
        und std/container. Daher gelten fuer ihn zunaechst auch alle Proper-
        ties, die es im 'thing' und im 'container' gibt. Insbesondere gilt
        das fuer P_LONG, P_NAME, P_GENDER, P_TRANSPARENT oder P_TRANSLUCENT
        falls der Room wiederum in einem Room liegt und daher von 'aussen'
        als Objekt sichtbar ist. Beschrieben werden hier daher nur die
        Room-spezifischen Properties.

        P_INT_SHORT
        Eine Kurzbeschreibung innerhalb des Raumes. (ohne Punkt am Ende)

        P_INT_LONG
        Langbeschreibung innerhalb des Raumes. (automagischer Zeilenumbruch)

        P_INT_LONG_NIGHT
        Alternative Langbeschreibung innerhalb des Raumes, die Nachts ge-
        zeigt wird. (automagischer Zeilenumbruch)

        P_INT_LONG_ILUM
        Alternative Langbeschreibung innerhalb des Raumes, die Nachts ge-
        zeigt wird, wenn der Spieler eine Lichtquelle bei sich traegt.
        (automagischer Zeilenumbruch)

        P_INDOORS
        Wenn 0, dann ist der Raum im Freien ist, wenn 1, ist es ein 'innen'
        liegender Raum - ein Innenraum sozusagen. :-)

        P_LIGHT
        Gibt das Lichtlevel innerhalb des Raumes an. 0 ist dunkel, Werte
        groesser 0 bedeuten Helligkeit. Bei Aussenraeumen (im Freien) wird
        das Lichtlevel nachts veringert. P_LIGHT wird nicht veraendert,
        aber der Spieler sieht um 1 Lichtlevel schlechter. Das heisst,
        Aussenraeume mit Lichtlevel 1 werden nachts ganz finster (wie 0),
        mit Lichtlevel 2 behalten sie auch nachts eine gewisse 'Resthellig-
        keit' (wie 1). Zusaetzlich wird das tatsaechliche Lichtlevel auch
        vom Spieler oder anderen Lichtquellen beeinflusst. Es ist daher
        NICHT empfehlenswert, mittels P_LIGHT die tatsaechliche Helligkeit
        in einem Raum zu erfahren. Benutze statt dessen QueryLight(L).
        Merke: Innenraeume P_LIGHT auf 1, Aussenraeume P_LIGHT auf 1 oder 2

        P_SOUND
        Gibt einen String an, der ausgegeben wird, wenn der Spieler in die-
        sem Raum lauscht.

        P_SMELL
        Gibt einen String an, der ausgegeben wird, wenn der Spieler in die-
        sem Raum riecht.

        P_NO_TPORT
        Zum Verhindern von Teleportversuchen in und/oder aus dem Raum.

        P_NOMAGIC
        Legt fuer jedes Spell-level (1-10) einen Wert fest, der bestimmt ob
        und mit welcher Wahrscheinlichkeit Zaubersprueche dieser Stufe im
        Raum ausgefuehrt werden konnen.

        P_TIMEZONE
        Enthaelt die fuer diesen Raum gueltige Zeitzone. Ist keine Zeitzone
        gesetzt, gilt automatisch TZ_STANDARD.

        P_TELEPORT_FORBIDDEN
        Verhindert, wenn gesetzt, dass Teleporttore in diesem Raum gebaut
        werden duerfen.

        P_TRANSPARENT
        Ist ungleich 0, wenn man in den Raum von aussen reinschauen kann,
        oder von innen nach aussen. (nur sinnvoll bei Raeumen, die in einem
        anderen Raum liegen - Transporter)

        P_TRANSLUCENT
        Ist ungleich 0, wenn Licht in den Raum von aussen eindringen kann,
        oder von innen nach aussen. (nur sinnvoll bei Raeumen, die in einem
        anderen Raum liegen - Transporter)

        P_ITEMS
        Sollte niemals gesetzt werden, wird durch AddItem(L) gefuellt und
        enthaelt Informationen ueber die im Raum 'enthaltenen' Items.

        P_EXITS
        Sollte niemals gesetzt werden, wird durch AddExit(L) gefuellt und
        enthaelt Informationen ueber die Ausgaenge dieses Raumes.

        P_DOORS
        Sollte niemals gesetzt werden, wird durch AddDoor(L) gefuellt und
        enthaelt Informationen ueber die Tueren dieses Raumes.

        P_ROOM_MSG
        Sollte niemals gesetzt werden. Enthaelt die Room-Messages, die
        durch AddRoomMessage(L) zum Raum hinzugefuegt wurden.

FUNKTIONEN:
        Der Standardraum erbt die meisten seiner Funktionen vom std/thing
        und std/container. Daher gelten fuer ihn zunaechst auch alle Meth-
        oden, die es im 'thing' und im 'container' gibt. Insbesondere gilt
        das fuer AddDetail(L), AddReadDetail(L), AddSoundDetail(L),
        AddSmellDetail(L), AddCmd(L) und RemoveCmd(L). Beschrieben werden
        hier daher nur die Room-spezifischen Methoden.

        AddExit(kommando, zielraumpfad, richtungstext, *meldungen)
        Ein Ausgang in einen anderen (benachbarten) Raum wird angelegt. Die
        Meldungen koennen - muessen aber nicht - angepasst werden. Das
        Argument 'zielraumpfad' kann auch eine Closure sein, die weitere
        Pruefungen vornimmt oder den Zielraum dynamisch bestimmt. Frueher
        war AddSpecialExit(obsolete) dafuer gedacht.

        RemoveExit(kommando)
        Entfernt einen Ausgang, der mit AddExit(L) angelegt wurde.

        AddWizExit(kommando, zielraumpfad, richtungstext, *meldungen)
        Im Prinzip das gleiche wie AddExit(L), bis auf den Unterschied,
        dass Spieler einen solchen Ausgang weder sehen, noch benutzen
        koennen.

        RemoveWizExit(kommando)
        Wie RemoveExit(L), fuer Wiz-Exits.

        AddDoor(kommando, zielraumpfad, status, flags, props, richtungstext,
                *meldungen)
        Aehnlich AddExit(L). Legt jedoch eine (ver-/ab-)schliessbare Tuer
        an, die bestimmte Eigenschaften besitzt. Mehr zu Tueren in der
        Manpage AddDoor(L).

        RemoveDoor(L)
        Entfernt eine mit AddDoor(L) angelegte Tuer wieder.

        AddRoomMessage(message, delay)
        Erzeugt im Abstand von 'delay' Sekunden eine Nachricht, die im Raum
        ausgegeben wird. 'message' kann ein String, eine Closure oder ein
        Array aus Strings und/oder Closures sein. Im letzteren Fall wird
        immer eine Nachricht oder Closure ausgewaehlt/ausgefuehrt. Ist es
        ein einzelner String oder Closure, wird diese regelmaessig ausge-
        geben oder ausgefuehrt.

        AddItem(filename, refresh[, extra])
        Ein Objekt mit Pfad 'filename' wird erzeugt und in den Raum gelegt.
        Dabei gibt es vier verschiedene Erneuerungs-(Refresh-)modi:

          REFRESH_NONE: Das Objekt wird nur beim allerersten mal
          erzeugt, und dann nie wieder (erst beim reboot)

          REFRESH_DESTRUCT: Ein neues Objekt wird erst erzeugt,
          wenn das alte zerstoert ist. So kann man sicher
          gehen, dass nur ein Exemplar im Spiel ist.

          REFRESH_REMOVE: Beim reset wird ein neues Objekt erzeugt,
          wenn sich das alte nicht mehr im Raum befindet.

          REFRESH_ALWAYS: Bei jedem reset wird ein neues Objekt
          erzeugt. VORSICHT: Kann zu riesigen Mengen von
          Objekten fuehren, wenn ein Raum lange nicht be-
          sucht wird.

SIEHE AUCH:
        P_LONG, P_NAME, P_GENDER, P_TRANSPARENT oder P_TRANSLUCENT
        P_INT_SHORT, P_INT_LONG, P_INT_LONG_NIGHT, P_INT_LONG_ILUM,
        P_INDOORS, P_LIGHT, P_SOUND, P_SMELL, P_NO_TPORT, P_NOMAGIC,
        P_TIMEZONE, P_TELEPORT_FORBIDDEN, P_TRANSPARENT, P_TRANSLUCENT
        P_ITEMS, P_EXITS, P_DOORS, P_ROOM_MSG, AddDetail(L),
        AddReadDetail(L), AddSoundDetail(L), AddSmellDetail(L), AddCmd(L)
        RemoveCmd(L), AddExit(L), RemoveExit(L), AddWizExit(L),
        RemoveWizExit(L), AddDoor(L), RemoveDoor(L), AddRoomMessage(L),
        AddItem(L), thing(STD), container(STD), MNPCExits(L)


Start » Magierhandbuch » Docu » Std » Room Letzte Generierung: 01.05.2021, 16:59
Valid HTML 4.01!