Mindestanforderung für Räume

Ein Raum ist eines der wichtigsten Elemente in einem Mud. Deshalb sollte man Räume gut beschreiben (Details) und gründlich programmieren, denn die Stimmung in einem Gebiet hängt fast ausschließlich von den Räumen ab!

Bemerkung:

Solche Details sollte es NICHT mehr geben:

  • der Boden ist unter deinen Fuessen.
  • die Decke ist über deinem Kopf.
  • tatsaechlich, es gibt hier auch Waende.

So etwas wie dies will wirklich niemand mehr lesen! Grundsätzlich ist ein Raum auch erst dann fertig, wenn der Befehl ‘ottest’ nichts mehr an fehlenden Details bemängelt. Schau Dir die Seite ‘Gebiete entwickeln‘ von Rhyan an, wenn Du nicht weißt, wie Du ein Gebiet aufziehen kannst.

Im Efferdland muss man den Räumen zudem einige Eigenschaften mitgeben, die es in anderen Muds nicht gibt. Beispiel hierfür ist das Terrain und das Environment (hier beschrieben). Diese Eigenschaften sind kein schöner Gag, sondern tatsächlich u.a. wichtig für die Rassen. Ein Elf beispielsweise heilt im Wald schneller als in der Wüste, ein Zwerg in der Unterwelt besser als im Wald…

Beispiel für einen Raum im Efferdland:

#include (...)

inherit "/std/room";

protected void create() {
  ::create();

  // Licht an
  SetProp(P_LIGHT,1);
  
  // der Raum ist draussen
  SetProp(P_INDOORS,0);

  // die Kurzbeschreibung
  SetProp(P_INT_SHORT,"Ein Waldpfad");

  // die Langbeschreibung
  SetProp(P_INT_LONG,
  "Dies ist ein Pfad in einem kuehlen, schattigen Wald.");

  // Die Details. ALLE Details müssen beschrieben sein.
  // Magier haben zum Testen den Befehl: ottest

  // Draussen IMMER: Himmel, Sonne, Wolken beschreiben
  // Innnen IMMER  : Wand, Waende, Decke beschreiben
  // IMMER         : Boden, Fussboden beschreiben!

  AddDetail(({"schatten"}),
  "Der Schatten ist schoen kuehl.");

  AddDetail(({"baum","baeume"}),
  "Maechtige Eichen ragen in den Himmel.");

  // hier ist das noch nicht vorbei. Baeume haben mind.
  // Blaetter, Aeste, Rinde, Wurzeln. Die auch beschreiben,
  // auch wenn sie nicht erwaehnt werden im Text!
  
  // hier wird ein Detail per Random ausgewählt:
  AddDetail(({"wald"}),
  ({
    "Neben dem Pfad wachsen maechtige Eichen.",

    "Dies ist ein Eichenwald.",
  }));

  // das Terrain. Sehr wichtig! Hier: Wald und Pfad
  SetProp(P_TERRAIN,T_FOREST | T_TRACK);

  // das Environment, ebenfalls wichtig!
  SetProp(P_ENVIRONMENT,
  ([
    ENV_TEMPERATURE :  3,    // 3 Grad, ziemlich kalt...
    ENV_ENVSPEED    :  1,    // Windstärken 1-12
    ENV_ALTITUDE    :  6,    // 6 Meter über Normal
    ENV_HUMIDITY    :  60,   // Luftfeuchtigkeit in %.
  ]);

  // Geräusche. Sollte es immer geben.
  AddSound(DEFAULT_SOUND,
  "Voegel zwitschern.");

  AddSound(({"vogel","voegel","zwitschern"}),
  "Traeller!");

  // Gerüche
  AddSmell(DEFAULT_SMELL,
  "Es riecht nach Pilze.");

  AddSmell(({"pilz","pilze"}),
  "Wie lecker! Hoffentlich hast Du eine Pfanne dabei!");

  // Hier geht es in den nächsten Raum:
  AddExit("osten", "raum2");
}

Bei Fragen kannst Du Dich gerne an It@Efferdand oder Torin@Efferdland wenden.

Gruß, It@chaos

Schreibe einen Kommentar