Jump to content
tortuosit

Dynamic Weather 3 by Tortuosit

Recommended Posts

Tort_DynamicWeather3 - Script and Mod

 

Hi guys,

 

purpose of this mod is to move weather aspects (Overcast, Rain, Fog and Wind) inside of user defined borders with user defined behaviour.

 

This is a followup to https://forums.bohemia.net/forums/topic/182738-new-dynamic-weather-script-and-addon-v2-tort_dynamicweather2/?page=4&tab=comments#comment-3307568

 

I have rewritten my Dynamic Weather 2 mod, simplified and unified code a lot. Main focus was to have script and mod using the same code base and make them interchangable. Personally, I only start it as a script. There is no more UI representation involved. Changes to the behaviour need a mission restart. If you want to enforce changes WHILE being in a mission: this currently has to happen by changing global variables or calling the script - you need a debug console then.

 

Requirements: None.

 

Download:

Version 3.0.4:https://www.dropbox.com/s/ipemjd5evd9gazy/%40tort_DynamicWeather3_3.0.4.zip?dl=0

Version 3.0.3: https://www.dropbox.com/s/qdhafewfmfh5zdw/%40tort_DynamicWeather3_3.0.3.zip?dl=0

 

Readme.txt:

 

Tort_dynamicWeather3
====================
This mod enables permanently moving weather. It can be used as mod or script.

Installation:
=============
Place the folder "@tort_dynamicWeather3" into your ArmA3 folder, so that you will typically have:
"..\steamapps\common\ArmA3\@tort_dynamicweather3\"


Usage as a mod
==============
Add "-mod=@tort_dynamicweather3" and "--filePatching" to your ArmA3 command line.

Configuration of the mod
========================
- Edit the topmost values in the tort_<module>.sqf script files. Change of values requires at least a mission restart. For instant changes without a mission restart, call script via debug window as described below.
OR
- Place arguments into the [] of @start_weather.sqf
You can outcomment modules in @start_weather.sqf, they will not be started then.


Usage as a SCRIPT
=================
Call the desired scripts (in an Eden logics init field, via mission files, from the debug window...).
Examples:
0 = [] execVM "\@tort_dynamicweather3\tort_rain.sqf"; //start with default values
0 = [0.5] execVM "\@tort_dynamicweather3\tort_overcast.sqf"; //start with 0.5 overcast
0 = [5, 0, 10, -0.5, 0] "\@tort_dynamicweather3\tort_wind.sqf";
You can start the script as often as you want - also, if it is loaded as a mod. It will kill the prior instance and start from scratch.


Arguments
=========
As for the arguments order and description please look into the default values on top of the respective script.
General information:
- "weighting": from -1 to 1 and describes the probability to move up or down. I.e., weighting=-0.5 for rain means you get 75% probability of rain going down. -1 means 100% probability of it going down, 0.5 means 75% of it going up.
- "turbulence": 0 to 1. 0 means less changes and more stability, 1 means lots of changes.


Overcast notes
==============
The initial overcast is set with "forceweatherchange" which creates a short lag. The rest will be done smoothly. Don't expect radical changes, overcast transition is slow in ArmA. Therefore overcast has no turbulence argument.

Rain notes
==========
Rain has an addition threshold argument which defines, after which overcast level rain is allowed. If you'd set threshold to >1, you'd never see rain.

Fog notes
=========
If not in MP, fog uses decay, i.e. can create thick ground fog. Ground fog is a beast which easily destroys playability which has to be tamed.
Features:
- Ground fog follows player elevation in a hopefully subtle way
- Ground fog will lose thickness by wind
- Fog value decreases with wind and rain
- Higher ground fog probability in the morning

Wind notes
==========
- Wind values are in m/s.
- Includes gusts, because "setgust" command in ArmA is broken
- Every terrain has a specific wind direction with some offset of course
- wind is set with setwind array
I had advanced_ballistics in mind, the wind module is useful for snipers. Now advanced_ballistics is deprecated and went into ACE. I am not using ACE but I think, it will still serve snipers well.

 

Changelog:

 

2018-09-14: V3.0.4

  •  Some fixes
  •  Improvement to script calls
  •  See readme, see autostart.sqf

2018-08-25: V3.0.3

  •  Important bug fixes
  •  Mod added
  •  Balancing
  •  Fog abruptly disappearing fix (I hope). Happens when value goes to 0, but decay has "thick fog" values.

 

Have fun.

  • Like 3
  • Thanks 4

Share this post


Link to post
Share on other sites

Excellent work!

 

but! shouldnt this be easy enough to implement as a Zeus module?

Share this post


Link to post
Share on other sites
On 5.9.2018 at 1:57 PM, Crielaard said:

but! shouldnt this be easy enough to implement as a Zeus module?

Maybe, I was wondering the same for Eden modules.

 

but! i should have >0 experience with this, but I haven't.

Share this post


Link to post
Share on other sites

Version 3.0.4 https://www.dropbox.com/s/ipemjd5evd9gazy/%40tort_DynamicWeather3_3.0.4.zip?dl=0
See thread starting posting. See autostart.sqf in mod. Beside mod autostart lines you find some presets there, feel free to paste them into debug console for quick application. No Zeus or Eden integration yet, needs time and comparison with how other modders did it...

I made the controllability of the scripts easier and was able to take away some complexity and code, scripts are really short and readable meanwhile.

  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites

Amazing work here!

 

I was wondering in case of an mp mission the script should only run on the server side and will it synchronize with clients? Or do I need to run it in a different way? Also how about JIP players?

Share this post


Link to post
Share on other sites
19 hours ago, serialtasted said:

I was wondering in case of an mp mission the script should only run on the server side and will it synchronize with clients? Or do I need to run it in a different way? Also how about JIP players?

 

SP man here. I don't know what JIP servers are. The commands which the scripts use are:

 

- setovercast

- setfog (array)

- setrain

- setwind (array)

 

and initially, for instant cloud coverage, the overcast.sqf executes "forceweatherchange" once.

 

According to BI wiki, setfog, setrain, setwind are propagated to clients if executed on the server, since ArmA 3.

But as for the overcast, it says "Multiplayer: Each client and the server can have differing overcast values." - My guess is, if a "0 setovercast 0.5" is executed on server and in case it is sent to clients (I don't know), clients overcast values (as can be seen by "hint str overcast;") will be the same amongst clients, but clouds may look different at the same world position. I guess.

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×