diff --git a/doc/efun/save_object b/doc/efun/save_object
new file mode 100644
index 0000000..681946b
--- /dev/null
+++ b/doc/efun/save_object
@@ -0,0 +1,54 @@
+SYNOPSIS
+        int save_object(string name [, int format]);
+        string save_object([int format]);
+
+BESCHREIBUNG
+        Codiert die speicherbaren (s.u.) 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
+
+        Eine Variable wird als 'speicherbar' betrachtet, wenn sie nicht als
+        'nosave' oder 'static' deklariert ist.
+
+        Bitte beachten, dass diese efun im MG durch eine Sefun ueberschrieben
+        wird und deren Manpage auch lesen!
+
+BEMERKUNGEN:
+        Damit ein Objekt in Verzeichnisse der Region/des Magiers schreiben
+        kann, muss es entsprechende Rechte, also eine gueltige EUID
+        besitzen. Im create() sollte daher ein:
+
+        seteuid(getuid(this_object()));
+
+        stehen.
+
+AENDERUNGEN
+        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.
+
+SIEHE AUCH
+        restore_object(E), save_value(E), save_object (Sefun)
