Einzelnen Beitrag anzeigen
Alt 22.01.2013, 17:55   #2 (permalink)
Moerderhoschi
Armed-Assault.de Team10 Jahre hx3
500 Beiträge1000 Beiträge2.500 Beiträge
 
Benutzerbild von Moerderhoschi
 
Registriert seit: 01.07.2006
Ort: Kabul
Alter: 38
Beiträge: 2.666
Standard

Zitat von Wolkenbeisser Beitrag anzeigen

Hallo zusammen

Ich schon wieder (mit einer neuen Frage zu meinem Lieblingsthema Lokalität), sorry.

Kein Problem, dafuer ist das Forum doch da

Zitat von Wolkenbeisser Beitrag anzeigen

Ich möchte einen ganz einfachen Wetterwechsel (Bewölkung) in meiner gehosteten MP-Mission bewirken. Hat jemand Erfahrung damit? Es gibt da ein paar Fragen, zu denen ich via Suche nichts genaues (häufig ist alles schwammig formuliert) gefunden habe.

Das Problem mit ArmA und dem Wetter ist das es lokal geregelt wird und somit eigentlich auf jedem Client etwas, oder auch voellig, anders ist.

Ich habe dazu auch mal ein Script gebastelt, Day & Weather Script, um das Wetter simuliert auf jeden client synchron zu halten. Das Script setzt jedoch ein Wetter zu beginn und behaelt dieses die gesamte Mission ueber.

Zitat von Wolkenbeisser Beitrag anzeigen

1. Startwetter
Zu Beginn meiner Mission soll das Wetter perfekt sein (klare Vollmondnacht) und sich auch nicht ändern. Deshalb habe ich beide Schiebregler (Akutell/Vorhersage) im Editor komplett an den rechten Rand geschoben. Da auch der Forecast-Regler keine Änderung zulässt, bleibt das Wetter für Host und Clients immer schön > richtig oder falsch?

Das ist richtig so, Der erste Wert mit dem aktuellen Wetter mach eigentlich nichts anderes als der Befehl 0 setOverCast x und der zwote Regler fuer die Vorhersage 3600 setOverCast x. Wobei ich jetzt nicht die genaue Zeit fuer den Wetterwechsel weiß, koennten auch 7200 sekunden oder weniger als 3600 sein.

Zitat von Wolkenbeisser Beitrag anzeigen

2. SetOvercast
An einem bestimmten Punkt in meiner Mission löst ein Auslöser (auf Grund einer wahrgewordenen PublicVariable) diverse Dinge aus. Neu möchte ich in diesem Auslöser auch eine Bewölkung (Ausschluss Mondlicht!) für Host und Clients einbauen. Den Befehl dazu habe ich im Arma-Wiki gefunden:

Code:
300 setOvercast 0.8
Wie muss nun dieser Befehl 'eingepackt' werden, damit er sowohl auf dem Host, als auch auf allen Clients durchgeführt wird (es soll einfach bei allen passieren). Evtl. so? [code]If (!isServer) then {300 setOvercast 0.8};
Um einen Wetterwechsel mitten im Spiel auf allen Clients zu vollziehen wuerde ich folgendermaßen vorgehen:

1. Im Editor wie du es schon gemacht hast dein Startwetter vorgeben, bei Vorhersage die selben Werte einstellen wie beim Startwetter, sollte im Normalfall dann auf allen Clients auch so eingestellt sein beim Missionsbeginn.

2. Einen Ausloeser mit bei aktivierung:
Code:
WetterSyncen=true;publicvariable "WetterSyncen";
3. Einen zwoten Ausloeser mit der Bedingung WetterSyncen und bei aktivierung:
Code:
0=[]spawn{0 setOvercast 1;sleep 0.1;3600 setOvercast 1;0 setRain 1;sleep 0.1;3600 setRain 1};
Somit wird das Wetter in 0 sekunden auf den Wert 1 gestellt, was das schlecht moeglichste Wetter ist, dann 0.1 sekunden gewartet und in 3600 sekunden ebefalls auf 1 gesetzt, das ist die Zeitspanne die es benoetigt dass das Wetter von aktuellen Wert auf den neuen Wert benoetigt um sich zu aendern. Damit bewirkst du das es fuer eine Stunde so bleibt wie es ist. Das selbe mit dem Regen wenn denn so gewollt.

Zitat von Wolkenbeisser Beitrag anzeigen

3. Bleibt die Veränderung?
Gesetzt der Fall, Punkt 2 konnte erledigt werden und innerhalb von ca. 5 Minuten ändert das Wetter bei allen Spielern auf bewölkt. Bleibt das nun bei allen so (oder hat hier der Forecast-Schiebregler noch irgend einen Einfluss)?

Wenn du das Beispiel von mir anwendest sollte das Wetter fuer ein Stunde lang so bleiben. Der Regeler im Missionseditor hat dann keinen Einfluss mehr auf das Wetter.

Mit dieser Methode aenderst du das allgemeine Wetter und den Regen, der Wind wird jedoch in diesem Beispiel nicht gesynct, sollte fuer deine Zwecke ja aber auch keine Rolle spielen.

gruß
hoschi
__________________


Moerderhoschi ist offline