Lpc Manpages

AddSound()

FUNKTION:
     void AddSound(mixed keys, mixed desc);

DEFINIERT IN:
     /std/thing/description.c

ARGUMENTE:
     keys
          String oder Array von Strings mit den Namen der Geraeusche.
     desc
          String, Array, Mapping oder Closure zur Beschreibung der Geraeusche.

BESCHREIBUNG:
     Die Beschreibung der Geraeusche 'keys' wird gesetzt. Was der Spieler
     beim Lauschen fuer Ausgaben bekommt, haengt im wesentlichen vom Typ der
     Beschreibung 'desc' ab:
     desc ist ein String.
          Beim Lauschen wird dieser String, umgebrochen mit break_string,
          ausgegeben, wobei im Text vorhandene \n beruecksichtigt werden.
          Wird dem Text ein \t (TAB) vorangestellt, so unterbleibt das
          Formatieren.
     desc ist ein Array.
          Beim Lauschen wird nur das erste Element, das ein String sein
          muss, ohne automatischen Umbruch ausgegeben.
     desc ist ein Mapping.
          Das Mapping muss folgenden Aufbau haben:

          ([ 0 : "Defaulttext", "rasse1" : "r1text", ... ]).

          Falls fuer die Rasse des dem Geraeusch lauschenden Spielers ein
          Eintrag im Mapping existiert, wird der entsprechende Text
          zurueckgegeben, ansonsten der Defaulttext. Auf diese Weise sind
          rassenabhaengige Geraeusche moeglich. Siehe auch die Beispiele.
     desc ist eine Closure.
          In diesem Fall wird die Closure ausgefuehrt und das Ergebnis
          zurueckgegeben. Die Closure bekommt dabei den Namen des Geraeusches
          als Parameter uebergeben.
     Spielerbefehle sind 'lausch(e)' und 'horch(e)'.

RUECKGABEWERT:
     keiner
     
BEMERKUNGEN:
     Mit dem in /sys/room/description.h definierten speziellen 'Geraeusch'
     DEFAULT_SOUND laesst sich die Meldung setzen fuer den Fall, dass
     kein Geraeusch spezifiziert wurde. Der Defaultwert ist "Du lauschst,
     hoerst aber nichts.\n".

BEISPIELE:

     Stille:
     
     AddSound(DEFAULT_SOUND, "Hier ist es absolut still!\n");
     
     Hobbits hoeren trotzdem etwas:

     AddSound( ({ "stille" }),
       ([ 0: "Die Stille ist ueberwaeltigend.\n", // Der Defaulttext
         "hobbit":  // Die Rasse wird klein geschrieben!
                "Ganz leise hoerst Du das Ticken einer Uhr.\n" ]) );

     Nochmal die Uhr, mit Closures:

     AddSound( ({ "ticken" }), #'uhr );
     ...
     string uhr(string key)
     {
       if (regal)
         return "Das Ticken scheint aus dem Regal zu kommen.\n";
       else
         return "Das Ticken scheint aus dem Schrank zu kommen.\n";
     }

SIEHE AUCH:
     RemoveSound(), GetSound(), AddSmell(), AddDetail(), AddReadDetail(),
     room, break_string()