Start Info Community Spielen
 
 

Morgengrauner Dokumentation

Dateipfad: /home/mud/mudlib/doc/lfun/AddTouchDetail

AddTouchDetail()
****************


FUNKTION
========

   void AddTouchDetail(string|string* keys,
                       string|string*|mapping|closure desc);


DEFINIERT IN
============

   /std/thing/description.c


ARGUMENTE
=========

   keys
    String oder Array von Strings mit den Namen der Details.
   desc
    String, Mapping, String-Array oder Closure mit/zur Beschreibung.


BESCHREIBUNG
============

   Diese Funktion entspricht dem AddDetail() fuer Standarddetails, nur
   koennen hiermit (ab)tastbare bzw. fuehlbare Details realisiert werden:
   Die Beschreibung der Details  wird gesetzt. Wie die Details
   beim (Ab)Tasten aussehen, haengt im wesentlichen vom Typ der
   Beschreibung  ab:
     ist ein String.
      Beim Untersuchen wird dieser String zurueckgegeben.
      ist ein String-Array.
       Beim Untersuchen wird zufaellig einer der Strings zurueckgegeben.
     ist ein Mapping.
      Das Mapping muss folgenden Aufbau haben:
        ([0:        "Defaulttext",
          "rasse1": "r1text", ...]).

      Falls fuer die Rasse des das Detail untersuchenden Spielers ein
      Eintrag im Mapping existiert, wird der entsprechende Text
      zurueckgegeben, ansonsten der Defaulttext. Auf diese Weise sind
      rassenabhaengige Details moeglich. Siehe auch die Beispiele.
     ist eine Closure.
      In diesem Fall wird die Closure ausgefuehrt und das Ergebnis
      zurueckgegeben. Die Closure bekommt dabei den Namen des Details
      als Parameter uebergeben.

   Fuer fuehlbare Details koennen Forscherpunkte eingetragen werden.

   Fuehlbare Details koennen allgemein einen Raum oder Objekt zugeordnet
   werden: dafuer muss man als  SENSE_DEFAULT uebergeben.

   Spielerkommandos: "taste"


BEISPIELE
=========

   Ein kleines Beispiel fuer rassenabhaengige, fuehlbare Details mit Closures:
     string strafe(string key);
     ...
     AddTouchDetail(SENSE_DEFAULT, "Du fuehlst einige Knollen\n");
     AddTouchDetail(({"knollen"}),
                    ([0:       "Sie fuehlen sich an wie Knoblauchknollen. "
                               "Riech doch mal daran.\n",
                      "vampir": #'strafe]));

     string strafe(string key) {
       this_player()->reduce_hit_points(100);
       return "Au! Das waren ja Knoblauchknollen!\n";
     }


SIEHE AUCH
==========


Setzen: AddDetail(), AddReadDetail(), AddSmells(), AddSounds() Loeschen: RemoveDetail(), RemoveReadDetail(), RemoveSmells(), RemoveSounds(), RemoveTouchDetail() Daten: P_DETAILS, P_READ_DETAILS, P_SMELLS, P_SOUNDS, P_TOUCH_DETAILS Veraltet: AddSpecialDetail(), RemoveSpecialDetail(), P_READ_MSG Sonstiges: GetDetail(), break_string()

20.01.2015, Zesstra


zurück zur Übersicht

YOUTUBE | FACEBOOK | TWITTER | DISCORD | FEEDBACK | IMPRESSUM | DATENSCHUTZ 1992–2023 © MorgenGrauen.