Einzelnen Beitrag anzeigen
Alt 22.05.2009, 07:47   #2 (permalink)
Xeno
10 Jahre hx3
5000 Beiträge
 
Benutzerbild von Xeno
 
Registriert seit: 03.01.2008
Alter: 84
Beiträge: 6.552
Standard

Zitat von Vienna Beitrag anzeigen

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
__________________
In arma everything is made of refined explodium, armored with wet paper towels.
Xeno ist offline   Mit Zitat antworten