Dokumentation zu: remove(L)

HR Image


FUNKTION:
	int remove()
	int remove(int silent)

IMPLEMENTIERT:
	Diverse Stellen, wichtige Punkte sind
	/std/thing/moving.c
	/std/living/moving.c
	/std/weapon.c
	/std/armour.c

ARGUMENTE:
	silent - Integer. Wenn 1 soll Objekt ohne Ausgaben zerstoert werden

BESCHREIBUNG:
	Diese Funktion zerstoert das Objekt, in welchem sie aufgerufen wird.
	Dem Objekt ist es vorher erlaubt, noch 'aufzuraeumen', weswegen diese
	Funktion dem direkten Zerstoeren mit destruct(E) vorzuziehen ist.

	Wenn das Argument silent wahr ist, sollte das Objekt keinerlei
	Ausgaben an Spieler (Besitzer/Aktor) erzeugen. Ruestungen werden
	also zB ohne Auszieh-Meldung entfernt.

	Nach dem Zerstoeren eines Objektes sind alle Zeiger auf dieses
	Objekt Null. Ebenso sind alle globalen Variablen des Objektes
	schon entfernt. Das Objekt selbst (und seine Funktionen) sind aber
	noch bis zum Ende des Cycles mit ihren lokalen Variablen
	vorhanden.

RÜCKGABEWERT:
	1 bei erfolgter Zertoerung, 0 wenn sich das Objekt weigert.
	Das ist jedoch eher weniger zuverlaessig. Besser kann man es
	ueberpruefen, indem man schaut ob ein Objektzeiger auf das Objekt
	Null geworden ist.

	ob->remove();
	if (ob) write("Huch, nicht entfernt!\n");

BEMERKUNG:
	Zur Zerstoerung benutzt das Objekt selbst i.d.R. destruct(E).
	Bitte beachte wichtige Hinweise in der dazu gehoerigen Hilfeseite!

BEISPIEL:
	object* obs;
	obs = deep_inventory();
	map_objects(obs, "remove", 1);  // alles leise entfernen
	map(obs-({0}), #'destruct);     // Rest 'hart' entfernen

SIEHE AUCH:
	destruct(E)


Start » Magierhandbuch » Docu » Lfun » Remove Letzte Generierung: 25.04.2021, 01:58
Email an: mud@wl.mud.de
Valid HTML 4.01!