Es ist anzunehmen, dass sleep Zeiten bei den Clients unterschiedlich lang sein können. So würde ich für MP den Wetter-Takt beim Server/Host regeln und den jeweiligen Wetterbefehl mit publicVariable senden. Das hat auch den Vorteil, dass so zufälliges Wetter erstellt werden kann.
Beim Server/Host den "Wetterbefehl"
als Text in in die globle Variable
WetterNeu verfassen, und mit publicVariable an den Auslöser senden. z.B:
Code:
WetterNeu = "400 setOvercast 0.65;0 setRain 0";
publicVariable "WetterNeu";
Der (mehrfach!) Auslöser dient bei jedem Spieler als Empfänger für die Wetterbefehle:
Code:
Auslöser:
Achse A und B: 0
Aktivierung : Keiner | Mehrfach
Bedingung : not isNil "WetterNeu"
Bei Akt. : call compile WetterNeu; WetterNeu = NIL
In der Bei Akt. Befehlszeile des Auslösern wandelt
compile den Text auf Code um und führt den Code mit
call aus.
WetterNeu = NIL entfernt die Variable samt Befehlstext und der Auslöser ist für einen neuen Befehl bereit.
Hier noch ein Beispiel für begrenztes zufälliges Wetter:
Code:
_wolken = format["%1 setOvercast %2;", floor((random 300)+200), floor((random 50)+50)/100];
_regen = format["%1 setRain %2;", floor((random 400)+300), floor((random 40)+10)/100];
WetterNeu = _wolken + _regen;
publicVariable "WetterNeu";
Wolken: Zeitraum 200-500, Stärke 0,5 - 1,0
Regen : Zeitraum 300-700, Stärke 0,1 - 0,5
Es ist natürlich auch möglich zuerst nur die Wolken zu senden und nach einiger Zeit dann den Regen.