Beispieldateien

Einfache Räume

----------


// raum3.c

// Ein Beispielraum, welcher ein paar Moeglichkeiten von Raeumen 
// wiederspiegelt. Dieser Raum ist draussen. Fuer mehr Kommentare,
// /doc/beispiele/raum1.c ansehen!
//
// 05.08.99 Holger@Wunderland
//

inherit "std/room";

#include <properties.h>

void create() {

    ::create();

    SetProp(P_INT_SHORT, "Im Raum 3 des Beispielgebietes");

    // Wir haengen 'Ein Schild' an die Long an (mit Zeilenumbruch).
    SetProp(P_INT_LONG,
      "Du stehst hier in im Beispielgebiet. Dieser Raum hier ist eine kleine "
      "Wiese unter freiem Himmel. Hier steht eine Hundehuette.\n"
      "Ein Schild.");

    SetProp(P_INT_LONG_NIGHT,
      "Du stehst hier in im Beispielgebiet. Dieser Raum hier ist eine kleine "
      "Wiese unter freiem Himmel. Es ist mittlerweile Nacht geworden aber Du "
      "kannst trotzdem noch die Hundehuette erkennen.\nEin Schild.");

    SetProp(P_INDOORS, 0);
    SetProp(P_LIGHT, 2);

    AddDetail(({"beispiele", "beispiel"}),
      "Ja genau hier um dich herum sind jede Menge Beispiele.");
    AddDetail(({"beispielraum", "raum", "umgebung"}),
      "Du stehst in einem Beispielraum. Schau Dir doch mal "__FILE__" an!");
    AddDetail(({"wiese", "schemen"}),
      "Du stehst hier auf einer Wiese. Die Sonne scheint und die Voegel "
      "zwitschern. Da steht eine Hundehuette.",
      "Du stehst hier auf einer Wiese. Der Mond scheint hell und Du kannst "
      "Deine Umgebung schemenhaft wahrnehmen. Da scheint eine Hundehuette "
      "zu stehen.");
    AddDetail("boden",
      "Auf dem Boden waechst Gras, wie sich das fuer eine Wiese gehoert!");
    AddDetail(({"huette", "hundehuette"}),
      "Tja wer oder was da wohnt ist wohl klar. Hoffentlich hast Du keine "
      "Angst vor Hunden.");
    AddDetail("gras",
      "Das Gras sieht gruen und saftig aus.",
      "Im Dunkel der Nacht siehst Du das Gras kaum.");
    AddDetail(({"vogel", "voegel"}),
      "Die Voegel kann man nicht sehen, nur hoeren!",
      "Auch nachts gibt es noch ein paar Voegel hier. Man kann sie aber "
      "nur hoeren.");
    AddDetail(({"schild", "holzschild"}),
      "Ein Holzschild. Du kannst es lesen.");

    // mal was neues: Ein lesbares Detail!
    AddReadDetail(({"schild", "holzschild"}),
      "Du liest: Hier ist der Startpunkt des Movings-NPCs 'Hund'. Wenn er "
      "gerade nicht da ist, dann rennt er sicher in den anderen Raeumen des "
      "Beispielgebietes herum.");

    AddSoundDetail(({"voegel","vogel", "gezwitscher","zwitschern"}),
      "Die Voegel zwitschern vor sich hin. Klingt schoen!");

    SetProp(P_SOUND, "Um Dich herum zwitschern Voegel.");

    AddExit("sueden", "/doc/beispiele/raum1");

    // Ein Moving-NPC hat hier seinen Startpunkt. Man darf Moving-NPCs
    // NIEMALS mit REFRESH_REMOVE einbauen, weil der Hund ja selbstaendig
    // wegrennt und so jeden Reset ein neuer Hund geclont werden wuerde.
    // Deshalb REFRESH_DESTRUCT. Dann wird nur ein neuer Hund geclont, wenn
    // der erste zerstoert (getoetet) wurde.
    AddItem("/doc/beispiele/hund", REFRESH_DESTRUCT);
}


Start » Magierhandbuch » Dokumentation » Programmierbeispiele » Raum3
Valid HTML 4.01!