GESCHUETZT SYNOPSIS int exec(object new, object old) BESCHREIBUNG exec() schaltet die Verbindung um vom interaktiven Objekt zum Objekt . Wenn ebenfalls interaktiv ist, wird dessen Verbindung zum Objekt uebertragen, die Verbindungne von und werden also ausgetauscht. Wenn nicht interaktiv ist, ist nach der Ausfuehrung von exec() nicht mehr interaktiv. Das Resultat von exec() ist 1 bei Erfolg, 0 sonst. exec() wird verwendet, um unterschiedliche "user objects" zu laden oder um User mit totem Netz wieder zu verbinden. Um Sicherheitsmechanismen zu gewaehrleisten, wird im Masterobjekt valid_exec(, , ) aufgerufen. Dieser Aufruf muss etwas von 0 verschiedenes liefern, um den Aufruf von exec() zu erlauben. Wenn this_player() war, enthaelt this_player() nach dem Aufruf von exec() und umgekehrt. Gleiches gilt fuer this_interactive(). Vorsicht ist geboten, wenn eine simul-efun() um exec() herum gebaut wird: das , das an valid_exec() uebergeben wird, ist das simul-efun Objekt. Um dieses Problem zu umgehen, kann mittels bind_lambda() #'exec an das richtige Objekt gebunden und anschliessend mit funcall() aufgerufen werden. BEISPIELE ob = clone_object("std/player"); exec(ob, this_object()); destruct(this_object()); GESCHICHTE LDMud 3.2.9 fuehrte den Austauschprozess fuer this_interactive() ein. SIEHE AUCH connect(M), disconnect(M), logon(A), interactive(E)