PreventInsert() =============== 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: .. code-block:: pike 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 ---------- :doc:`PreventLeave`, :doc:`NotifyInsert`, :doc:`NotifyLeave`, :doc:`MayAddObject`, :doc:`MayAddWeight`, :doc:`PreventInsertLiving`, :doc:`PreventLeaveLiving`, :doc:`NotifyMove`, :doc:`PreventMove`, :doc:`move`, /std/container/restrictions.c Last modified: 30.01.2020, Zesstra