Zitat von
Vienna
Ein ebenfalls neuer publicEventHandler hat den Nachteil, dass Befehle nicht auf dem PC des Absenders ausgeführt werden. Mit den "Auslöser-Befehlsempfängern" wird der Befehl auch beim Absender ausgeführt (falls er für ihn vorgesehen ist).
Das Ausführen eines Befehls auf der Sender Seite bei Nutzung von publicVariable Eventhandler ist kein Problem.
Schick den Befehl an eine Funktion die je nach Parameter den Befehl auf der Senderseite ebenfalls noch ausführt bevor der Befehl über das Netz wandert.
Beispiel:
Code:
[{"West" setMarkerColorLocal "ColorRed"; player groupChat "Marker West auf rot!"}, 1] call SendToWest;
Code:
SendToWest = {
BefehlAnWest = _this select 0;
if ((_this select 1) == 1) then {call (_this select 0)};
publicVariable "BefehlAnWest";
};
"BefehlAnWest" addPublicVariableEventhandler {
call (_this select 1);
};
Dadurch brauchst Du z.B. nur die publicVariable Eventhandler auf den Clients zu installieren, die sie auch benötigen. Sprich, BefehlAnWest Handler nur auf den Clients, die auch auf der West Seite sind, usw.
Dein ganzes Beispiel lässt sich so komplett ohne einen einzigen Auslöser erstellen.
Xeno