Update doc/efun/ aus Driversourcen.
Manpages der efuns aktualisiert, neue Manpages hinzugefuegt.
Change-Id: I7cc91684269ff56d1aef47d5c5e7c87f7fd531dc
diff --git a/doc/efun/clone_object b/doc/efun/clone_object
index 3b6734f..dd48ec2 100644
--- a/doc/efun/clone_object
+++ b/doc/efun/clone_object
@@ -1,48 +1,55 @@
SYNOPSIS
- object clone_object(string name)
- object clone_object(object template)
+ object clone_object(string name, ...)
+ object clone_object(object template, ...)
-BESCHREIBUNG
- Clont ein neues Objekt aus der Definiton <name> oder alternativ aus
- dem Objekt <template>. In beiden Faellen wird dem Clon ein
- individueller Name zugeordnet, dann wird der Clon zurueck gegeben.
+DESCRIPTION
+ Clone a new object from definition <name>, or alternatively from
+ the object <template>. In both cases, the new object is given
+ an unique name and returned.
- Das Original, Blueprint genannt, wird nur fuer das Clonen verwendet
- und sollte deshalb nicht im Spiel genutzt werden. Die geclonten
- Objekte enthalten nur Daten, der Blueprint hingegen auch den
- Funktionscode.
+ The original used for cloning, called blueprint, should not be
+ used in the system, just for cloning. The cloned objects
+ contain only the data but the blueprint also the function code.
+ The blueprint is the one without a unique number at the end of
+ the object's name. The clone_object() function never
+ returns a blue print.
- Den Blueprint erkennt man daran, dass er keine Nummer im Objektnamen
- traegt. clone_object() liefert niemals einen Blueprint zurueck.
+ If the <name> or <template> designates a cloned object itself,
+ the system looks up the blueprint object _by name_.
- Wenn der Blueprint existiert und einen heart_beat() aufweist, schaltet
- clone_object() diesen aus.
+ Any further arguments will be passed to the H_CREATE_CLONE
+ hook to initialize the cloned object.
- Die Pfadangabe muss komplett sein. Relative Pfade sind nicht gestattet.
- Wenn strikte EUIDs gefordert werden, muss das clonende Objekt eine
- EUID != 0 haben.
+ If the blueprint exists and has a heart_beat(), clone_object()
+ turns it off.
+
+ Note that the pathname must be complete, which means there are no
+ relative paths allowed.
+
+ If strict euids are enforced, the cloning object must have
+ a non-zero euid.
- -- Variablen Initialisierung --
+ -- Variable Initialization --
- Allgemein werden die Variablen in Blueprints und Clones gleichermassen
- durch Aufruf der internen lfun __INIT() initialisiert.
+ In general, variables are initialized for blueprints and clones alike
+ with a call to the internal lfun __INIT().
+
+ However, if #pragma share_variables is in effect (either explicitely
+ given in the source or implicitly as runtime option), the values for
+ a clone's uninitialized variables are taken from the _current_
+ variables of the object's blueprint.
- Ist allerdings das #pragma share_variables in Effekt (entweder
- explizit im Objekt angegeben, oder als allgemeine Laufzeitoption),
- werden die Werte fuer die Klonvariable aus den _aktuellen_ Variablen
- der Blueprint kopiert.
-
- Variablen ohne explizite Initialisierung sind hiervon unbetroffen und
- werden stets auf 0 gesetzt.
+ In the absence of share_variables, variables without explicit
+ initializers are initialized to 0.
-BEISPIELE
- // Clone eine Fackel (Name des Files nicht im Compat Format)
- object fackel;
- fackel = clone_object("/obj/fackel");
+EXAMPLES
+ // Clone a torch (filename in non-compat format)
+ object torch;
+ torch = clone_object("/obj/torch");
- // Clone zwei Schluessel (Name des Files im Compat Format)
+ // Clone two keys (filename in compat format)
object key1, key2;
key1 = clone_object(load_object("obj/key"));
key2 = clone_object(key1);
@@ -61,11 +68,11 @@
}
-GESCHICHTE
- Modifiziert in LDMud 3.2.6: es werden auch Objekte als Argument
- akzeptiert.
- LDMud 3.3.378 fuehrte das pragma share_variables ein.
+HISTORY
+ Modified in LDMud 3.2.6 to take an object as argument.
+ LDMud 3.3.378 consolidated the variable initialization with the
+ share_variables pragma.
-SIEHE AUCH
+SEE ALSO
blueprint(E), clonep(E), destruct(E), clones(E), load_name(E),
load_object(E), move_object(E), uids(C), program_name(E), pragma(LPC)