| SYNOPSIS |
| int restore_object(string name); |
| int restore_object(string str); (VORLAEUFIG) |
| |
| BESCHREIBUNG |
| Laedt Werte von Variablen fuer das aktuelle Objekt aus der Datei |
| <name> oder direkt aus dem String <str>. |
| |
| Um direkt aus einem String Variablen laden zu koennen, muss dieser |
| mit der typischen Zeile "#x:y" beginnen. Strings, die von der Efun |
| save_object() erzeugt wurden, beginnen so. |
| |
| Wenn Variablen aus einer Datei geladen werden, kann <name> mit .c |
| enden. Diese Dateiendung wird vom Treiber entfernt. Das Masterobjekt |
| fuegt dem Dateinamen ein .o hinzu. Die Gueltigkeit des Dateinamens |
| wird mit der Funktion check_valid_path() automatisch ueberprueft. |
| |
| Die Funktion gibt 1 zurueck, wenn die Variablen erfolgreich geladen |
| wurden und 0, wenn es nichts zu laden gab. |
| |
| Variablen mit dem Typenvermerk nosave werden nicht geladen, zum |
| Beispiel nosave int xxx; |
| |
| Closures aus Lfuns, Variablne und simul_efuns werden nur geladen, |
| wenn sie gefunden werden. Falls nicht, werden sie mit dem Wert '0' |
| geladen. |
| |
| Wenn Vererbung verwendet wird, kann es vorkommen, dass mehrere |
| Variablen mit dem gleichen Namen an unterschiedlichen Orten vorkommen |
| und deshalb in der Speicherdatei mehrmals auftreten. Beim Laden der |
| Variablen werden sie in Reihenfolge ihres Auftretens im Vererbungsbaum |
| geladen. Ein geeignetes Vorgehen ist die Verwendung von Verbose und |
| einzigartigen Namen bei nicht-statischen Variablen. So wird auch das |
| manuelle Lesen oder Editieren des Savefiles einfacher. |
| |
| AENDERUNGEN |
| Das direkte Laden aus einem String wurde in LDMud 3.2.8 eingefuehrt, |
| wird aber moeglicherweise in Zukunft in eine separate Efun |
| ausgelagert. |
| LDMud 3.2.9 ergaenzte die Funktion um die Moeglichkeit, |
| NonLambda-Closures, Symbole und gequotete Arrays zu laden, |
| indem ein neues Format fuer das Savefile verwendet wird. |
| |
| SIEHE AUCH |
| save_object(E), restore_value(E), valid_read(M) |