This script will make your game have randomized, dynamic fog. It will slowly change over time to mimic real weather patterns.
You can easily change the time interval for the changes, the rate at which settings (intensity, distance, nearest) for fog are adjusted, and how large the shift is. Everything is customizable. You can also set the default values if you want the game to start more or less foggy for example.
The base time in between changes is 2.5 minutes (150 seconds)
By default, fog intensity has 85 positions (255 max, 1 min, shifting by 3), fog nearest is calculated based on total fog distance (fog nearest can go from 100 to 9900 but will automatically stay less than the max distance to prevent strange visuals), and fog max distance is from 1000 to 50000. If the numbers by chance go negative, they will auto set to the minimum.
How to use:
Set an entity on the map and attach the script
Set the entity to always active and to not be static
(Optional) Customize the script a bit with the in-file help tips
I left a line of code in that lets you see the values of the different settings on screen but I disabled it. If you want to see it for testing purposes, simply comment the line back into use.
NOTE: If you use the sliders in the engine to modify the settings while the script is active, it can produce some strange results, but it has fail-safes built into it so it should automatically fix itself, it will just need to pass the cycle 1 time.