FUNKTION:
varargs int RemoveItem( object obj, int method );
ARGUMENTE:
obj: Das Objekt, das aus P_ITEMS entfernt und eventuell
zerstoert werden soll.
method: Ein ganzzahliger Wert >= 0.
Optional, Standardwert ist 0.
BESCHREIBUNG:
Ein in einem Raum mittels AddItem() geclontes Objekt wird nach
dem Clonen in die Property P_ITEMS eingetragen. Die Funktion
RemoveItem() soll dieses Objekt wieder aus der Property austragen
und eventuell zerstoeren. Dadurch wird ein Refresh des Objektes
im Reset verhindert.
'method' gibt an, ob das Objekt zerstoert werden soll und wenn
ja, ob dies silent (ohne meldungen) geschehen soll.
Wertebelegung:
0 oder weggelassen:
Das Object wird nur aus P_ITEMS entfernt, aber nicht
zerstoert.
1:
Das Object wird aus P_ITEMS entfernt und nicht silent
zerstoert. Messages, die im remove() erzeugt werden,
werden nicht unterdrueckt.
>= 2:
Das Object wird aus P_ITEMS entfernt und silent zerstoert.
Messages, die im remove() erzeugt werden, sollten von dem
Objekt unterdrueckt werden (alles andere ist ein Bug).
RÜCKGABEWERT:
0: wenn beim Entfernen des Objektes ein Fehler aufgetreten ist
oder das Objekt nicht in der Property enthalten ist.
1: wenn das Objekt erfolgreich entfernt und gegebenenfalls
zerstoert wurde.
BEISPIEL:
void create()
{
...
AddItem("/obj/seil", REFRESH_REMOVE);
...
}
void func()
{
object seil;
seil = present("seil", this_object());
if (RemoveItem(seil, file_name(this_object()), 2))
{
// das Seil wurde erfolgreich aus P_ITEMS entfernt und wird
// nun nicht mehr refresht; gleichzeitig wurde es silent
// zerstoert, deshalb Ausgabe einer eigenen Message
write("Das Seil loest sich in Luft auf.\n");
}
else
{
// irgendwas beim Entfernen ist schiefgegangen
}
}
SIEHE AUCH:
P_ITEMS, AddItem
|