ZDaemon ACS Extensions - Remote Execution

Remote Execution functions

These functions enable the execution of scripts "remotely" (ie., the server can instruct a client to run a script and the client can instruct the server to run another script). The syntax is:

    void Server_Execute(int script, int map,
                        int arg1, int arg2, int arg3)
    void Server_ExecuteAlways(int script, int map,
                        int arg1, int arg2, int arg3)
    void Server_NamedExecute(string script, int map,
                        int arg1, int arg2, int arg3)
    void Server_NamedExecuteAlways(string script, int map,
                        int arg1, int arg2, int arg3)
    void Client_Execute(int client, int script, int map,
                        int arg1, int arg2, int arg3)
    void Client_ExecuteAlways(int client, int script, int map,
                        int arg1, int arg2, int arg3)
    void Client_NamedExecute(int client, string script, int map,
                        int arg1, int arg2, int arg3)
    void Client_NamedExecuteAlways(int client, string script,
                        int map, int arg1, int arg2, int arg3)

The functions mimic the ACS_Execute, ACS_ExecuteAlways, ACS_NamedExecute, ACS_NamedExecuteAlways functions in terms of parameters and functionality. The Client_* functions have an additional parameter at the front, indicating the "target client"; a value of -1 indicates all clients.

When the Server_* functions are encountered by the server, they're executed just like normal ACS_Execute. When they're encountered by the client in SP mode, they are also executed just like normal ACS_Execute. When they're encountered by the client in online mode, the clients sends a message to the server to carry out the execution.

When the Client_* functions are encountered by the server, the server sends a message to the indicated clients to carry out the execution. When they're encountered by the client in either SP or online mode, they're executed just like normal ACS_Execute as long as the "target client" is either -1 or equal to the consoleplayer.