
RemoveExit()
************


FUNKTION
========

   void RemoveExit(string|string* cmd);


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

   /std/room/exits


ARGUMENTE
=========

   string/string* cmd
        Richtung(en), die entfernt werden sollen.


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

   Die in cmd angegebenen Ausgaenge werden wieder entfernt.

   Ist cmd = 0, so werden alle Ausgaenge entfernt.


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

   Ausgaenge werden an der gleichen Stelle gespeichert:
   - RemoveExit() greift auf die gleichen Daten wie RemoveSpecialExit()
     zu, entfernt also auch spezielle Ausgaenge!


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

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

31.01.2015, Zesstra
