| SYNOPSIS |
| int save_object(string name [, int format]) |
| string save_object([int format]) |
| |
| BESCHREIBUNG |
| Codiert die speicherbaren Variablen des aktuellen Objekts in einen |
| String. |
| |
| In der ersten Form wir der String in die Datei <name> geschrieben. Eine |
| Endung ".c" in <name> wird entfernt, dafuer kann eine Endung ".o" |
| durch das Masterobjekt angefuegt werden, waehrend der Ueberpruefung |
| durch valid_read(). Die Efun save_object() liefert 0, wenn die |
| Speicherdatei erfolgreich erstellt wurde, sonst eine Zahl ungleich 0, |
| wenn ein nicht schwerwiegendee Fehler aufgetreten ist (die Datei |
| konnte nicht geschrieben werden oder das aktuelle Objekt wurde |
| inzwischen zerstoert). |
| |
| In der zweiten Form wird der String direkt zurueck gegeben. Wenn das |
| Objekt zerstoert wurde, wird 0 zurueck gegeben. In beiden Faellen kann |
| durch das optionale Argument <format> das Format der Speicherdatei |
| angegeben werden: |
| |
| -1: das normale Format des Treibers (Standard) |
| 0: das Originalformat nach Amylaar's LPMud und LDMud <=3.2.8 |
| 1: LDMud >= 3.2.9: Non-Lambda Closures, Symbole und gequotete |
| Arrays koennen gespeichert werden |
| 2: LDMUd >= 3.5.0: Gleitkommazahlen werden in einem neuen Format |
| geschrieben, welches kompakter ist die Gleitkommazahlen aus |
| 3.5.x verlustfrei speichern kann. |
| |
| Es wird empfohlen, die Angabe des Formats wegzulassen oder in Version |
| 2 (oder hoeher) zu speichern. |
| |
| Eine Variable wird als 'speicherbar' betrachtet, wenn sie nicht als |
| 'nosave' oder 'static' deklariert ist. |
| |
| GESCHICHTE |
| Seit LDMud 3.2.8 liefert save_object() einen fixen Wert bei Erfolg. |
| Das direkte Abspeichern in einen String wurde in LDMud 3.2.8 |
| eingefuehrt, wird aber in Zukunft eventuell in eine separate Efun |
| umgezogen. |
| LDMud 3.2.9 ergaenzte die Funktion um das Speichern von Non-Lambda |
| Closures, Symbolen und gequoteten Arrays. Dazu wurde ein neues |
| Format fuer die Speicherdatei eingefuehrt. |
| LDMud 3.2.10 fuehrte das Argument <format> ein. |
| LDMud 3.5.0 fuehrte Formatversion 2 ein. |
| |
| SIEHE AUCH |
| restore_object(E), save_value(E) |