Start Info Community Spielen
 
 

Morgengrauner Dokumentation

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

AddSpecialExit()
****************


FUNKTION
========

   void AddSpecialExit(string|string* cmd, string|closure func);


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

   /std/room/exits


ARGUMENTE
=========

   string/string* cmd
        die Richtung(en), in die der Ausgang fuehrt
   string/closure func
        der Name der aufzurufenden Funktion/Closure


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

   Es wird ein Ausgang in die Richtung(en) cmd eingefuegt. Wird der
   Ausgang benutzt, so wird die Closure bzw. Funktion func ausgefuehrt.

   AddSpecialExit(cmd, "func") entspricht:
   - AddExit(keys, #'func)


BEMERKUNGEN
===========

   In func muss man den Spieler selbst in den Zielraum bewegen. Im
   Erfolgsfall sollte man einen Wert >0 zurueckgeben, im Fehlerfall einen
   Wert <=0.

   func bekommt als Parameter einen String mit der gewaehlten
   Bewegungsrichtung uebergeben.


BEISPIELE
=========

   // ein Ausgang soll nur von Froeschen benutzbar sein:

   AddSpecialExit("loch", "lochfkt");
   // der gleiche Aufruf, nur anders:
   // static int lochfkt(string dir);         // Prototyp
   // ...
   // AddSpecialExit("loch", #'lochfkt);
   // auch identisch zu:
   // AddExit("loch", #'lochfkt);

   static int lochfkt(string dir) {
     if (!(this_player()->QueryProp(P_FROG))) {
       // Kein Frosch => passt nicht!
       notify_fail("Du bist zu gross!\n");
       return 0;
     }
     // Meldungen werden im move() gleich mitgegeben
     return this_player()->move("/room/loch", M_GO, 0,
                  "huepft ins Loch", "huepft herein");
   }


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


AddExit(), GetExits(), RemoveExit(), RemoveSpecialExit(), GuardExit(), H_HOOK_EXIT_USE, P_EXITS, P_HIDE_EXITS, /std/room/exits.c ausgaenge

Letzte Aenderung: 22.12.2016, Bugfix


zurück zur Übersicht

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