| |
| NotifyDestruct() |
| **************** |
| |
| |
| FUNKTION |
| ======== |
| |
| public int|string NotifyRemove(object zerstoerer); |
| |
| |
| ARGUMENTE |
| ========= |
| |
| zerstoerer |
| Das Objekt, welches destruct() auf dieses Objekt anwendet. |
| |
| |
| BESCHREIBUNG |
| ============ |
| |
| Diese Funktion wird vom Master der Mudlib in jedem Objekt gerufen, |
| welches zerstoert wird, um Objekten eine letzte Chance zu geben, sich |
| aufzuraeumen. |
| Wenn ihr diese Funktion selber definiert, achtet bittet darauf, dass sie |
| in keinem Fall Fehler ausloesen sollte, d.h. testet entsprechend |
| gruendlich. |
| Wenn ihr aus /std/ erbt und diese Funktion ueberschreibt,, _muesst_ ihr |
| die geerbte NotifyDestruct() aufrufen, da sonst das Lichtsystem nicht |
| aktualisiert wird. |
| |
| Privilegierte Objekte (z.B. Root-Objekte, spezielle Ausnahmen wie der |
| Netztotenraum, Armageddon) koennen die Zerstoerung in letzter Sekunde |
| verhindern, indem sie hier einen Wert != 0 zurueckliefern. Wird ein |
| string zurueckgeliefert, wird dieser die Fehlermeldung des |
| prepare_destruct() im Master sein. |
| Bei nicht-privilegierten Objekten (also fast alle) ist an dieser Stelle |
| _kein_ Abbruch der Zerstoerung moeglich! |
| |
| |
| RUeCKGABEWERT |
| ============= |
| |
| Der Rueckgabewert muss ein string oder ein int sein. Allerdings wird der |
| Master den Rueckgabewert nur fuer privilegierte Objekte auswerten. |
| |
| |
| BEMERKUNGEN |
| =========== |
| |
| Wie gesagt, bitte keine Fehler ausloesen (auch wenn der Master |
| grundsaetzlich damit klar kommt). Speziell ist ein raise_error() zur |
| Verhinderung eines destructs nutzlos. |
| Bitte macht in dieser Funkion nur das, was _unbedingt_ notwendig ist. |
| Wenn jemand ein destruct() anwendet statt ein remove() zu rufen, hat das |
| in der Regel einen Grund (z.B. um buggende remove() zu umgehen). Insb. |
| ist ein save_object() in remove() und NotifyDestruct() vollstaendig |
| ueberfluessig. |
| |
| |
| SIEHE AUCH |
| ========== |
| |
| NotifyLeave(), NotifyInsert(), NotifyRemove() |
| |
| Last modified: 25.02.2009, Zesstra |