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