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
