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()
     H_HOOK_EXIT_USE, P_EXITS, P_HIDE_EXITS, /std/room/exits.c
     ausgaenge

31.01.2015, Zesstra
