RemoveItem()
============

FUNKTION
--------
::

	void RemoveItem(mixed file);

DEFINIERT IN
------------
::

	/std/room/items.c

ARGUMENTE
---------
::

	file
	     String oder Array von Strings mit dem Namen des zu entfernenden
	     Objekts.

BESCHREIBUNG
------------
::

	Das mit AddItem(file) dem Raum hinzugefuegte Objekt wird wieder aus
	der Liste der Objekte entfernt.
	Wurde bei AddItem() ein Array von Dateinamen uebergeben, so muss das
	selbe Array auch bei RemoveItem() uebergeben werden!
	Falls das Objekt, das durch den AddItem()-Aufruf erzeugt wurde, sich
	noch im Raum befindet, wird es durch den RemoveItem()-Aufruf zerstoert.

RUECKGABEWERT
-------------
::

	keiner

BEISPIELE
---------
::

	Ein muellschluckerfreier Laden laesst sich wie folgt erzeugen:

	inherit "/std/laden";
	#include <properties.h>

	create()
	{
	  ::create();  // Hier wird u.a. der Muellschlucker erzeugt

	  RemoveItem("/obj/entsorg"); // und weg damit!

	  SetProp(...);  // und die normale Beschreibung...
	}

SIEHE AUCH
----------
::

	AddItem(), /std/room/items.c

