Einzelnen Beitrag anzeigen
Alt 21.05.2009, 15:01   #1 (permalink)
Vienna
SQF Zauberer 10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Vienna
 
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
Standard Befehlsübertragung in Multiplay mit Auslöser

Oft kommt es vor, dass im Editor positiv getestete Missionen im Multiplayermodus nicht korrekt laufen. Das liegt meist daran, weil bestimmte Befehle auf jedem Spieler-PC lokal ausgeführt werden müssen.

Für den Multiplayermodus gibt es ab ArmA V1.09 auch die Möglichkeit Befehle (Code) mit publicVariable zu übertragen. Das ermöglicht nun eine lokale Befehlsausführung an allen gewünschten PCs im Multiplayermodus über Auslöser.

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).

Die Befehle brauchen einfach nur in die entsprechenden Variablen angeführt und mit publicVariabel übertragen werden.

Folgende Variable sind für die Übertragung vorhanden:

BefehlAnAlle (Befehle werden bei Server und Clients ausgeführt)
BefehlAnWest (Befehle werden nur bei West-Spielern ausgeführt)
BefehlAnEast (Befehle werden nur bei East-Spielern ausgeführt)
BefehlAnServer (Befehle werden nur beim Server/Host ausgeführt)
BefehlAnPlayer (Befehle werden nur bei den Spielern ausgeführt)

Beispiel mit dem ein Spieler ein Skript beim Server/Host startet:

BefehlAnServer = {[] exec "Skriptname.sqs"};
publicVariable "BefehlAnServer";

Beispiel um bei den Westspielern eine "hint"-Meldung anzuzeigen:

BefehlAnWest = {hint "Hallo Westspieler!"};
publicVariable "BefehlAnWest";

Es können auch mehrere -durch ; getrennte- Befehle angegeben werden. Eine Befehlsübertragung mit den Variablen ist mehrfach möglich. Zwischen den Übertragungen mit der selbigen Variablen sollte aber mindestens 1 Sekunde Abstand liegen.

Um die Befehls-Auslöser zu verwenden, brauchen nur die 5 Auslöser in die Mission kopiert werden (Kopieren: Strg+C und Einfügen: Strg+V). Es können auch nur die Auslöser kopiert werden, welche in der eigenen Mission Verwendung finden.

In der Beispielmission ist ein Test der Übertragung möglich. Es sind Funkauslöser vorhanden, welche bei Markern die Farbe ändern. Es wird nur der lokale Markerbefehl genommen, aber durch die Befehlsübertragung läuft die Umfärbung an allen zutreffenden PCs.
Angehängte Dateien
Dateityp: zip Befehlsempfaenger_ab_ArmA_V109.zip (3,2 KB, 52x aufgerufen)
Vienna ist offline   Mit Zitat antworten