Dokumentation zu: exec(E)

HR Image

        int exec(object new, object old)

        exec() switches the connection from the interactive object old
        to the object new. If the new object is also interactive, it's
        connection will be transferred to the old object, thus
        exchaning the two connections between the object. If the new
        object is not interactive, the old will not be interactive
        anymore after the exec call succeeded.

        The result is 1 on success, and 0 on failure.

        exec() is used to load different "user objects" or to reconnect
        link dead users.

        To provide security mechanisms, the interpreter calls
        master->valid_exec(current_program, new, old), which must
        return anything other than 0 to allow this exec() invocation.

        After the exec(), if arg 2 was this_player(), this_player()
        becomes arg 1, else vice versa. Ditto for this_interactive().

        Take care when writing a simul-efun around exec(): the
        'current_program' passed to the valid_exec() function will be
        that of the simul-efun object. To get around this, use
        bind_lambda() to bind #'exec to the real object and funcall()
        the resulting closure.

        ob = clone_object("std/player");
        exec(ob, this_object());

        LDMud 3.2.9 added the switchover of this_interactive().

        connect(M), disconnect(M), logon(A), interactive(E)

Die Seite ist auch in Deutsch vorhanden.

Start » Magierhandbuch » Docu » Efun » Exec Letzte Generierung: 25.04.2021, 01:58
Email an:
Valid HTML 4.01!