Morgengrauner Dokumentation
Dateipfad: /home/mud/mudlib/doc/lfun/PreventInsertPreventInsert()
***************
FUNKTION
========
int PreventInsert(object ob);
DEFINIERT IN
============
/std/container/restrictions.c
ARGUMENTE
=========
ob
Das Objekt, das in den Behaelter eingefuegt werden soll.
BESCHREIBUNG
============
Mit dieser Funktion kann ein Behaelter pruefen, ob er das Objekt ob
aufnehmen moechte oder nicht.
Man beachte bitte, dass nach dieser Funktion *nicht* garantiert
ist, dass das Objekt wirklich bewegt wird, es handelt sich
lediglich um die Abfrage der Erlaubnis! Die Bewegung kann aus einer
Vielzahl an Gruenden noch abgebrochen werden.
Wenn ob mit dem Flag M_NOCHECK bewegt wird, wird PreventInsert()
zwar aufgerufen, aber das Ergebnis ignoriert, d.h. die Aufnahme
kann in dem Fall nicht verhindert werden.
RUeCKGABEWERT
=============
0
wenn das Objekt aufgenommen werden kann;
> 0
ein Wert groesser als 0 zeigt an, dass das Objekt nicht
aufgenommen werden soll.
BEISPIELE
=========
Um zu verhindern, dass man Geld in einen Behaelter stecken kann,
sollte man wie folgt vorgehen:
public int PreventInsert(object ob)
{
// Wenn es Geld ist, erheben wir sofort Einspruch
if (ob->id("geld"))
return 1;
// Ansonsten koennte ein ererbtes Objekt noch Einspruch erheben!
else
return ::PreventInsert(ob);
}
SIEHE AUCH
==========
PreventLeave(), NotifyInsert(), NotifyLeave(), MayAddObject(),
MayAddWeight(), PreventInsertLiving(), PreventLeaveLiving(),
NotifyMove(), PreventMove(), move(), /std/container/restrictions.c
Last modified: 30.01.2020, Zesstra
zurück zur Übersicht