Arma 3
Tornado Script DEMO
Suggestions
Chillvibe on YT suggested a bunch of tweaks, i didn't have time to test it, but here you go in case you might want to try them out.

QUOTE
Absolutely amazing, however I found some points to improve on within the script, for example the palarie (Tornado Top) has a offset of 150 Perhaps before 2020 the "Rubbery" tornado vortex was actually rubbery. But as it stands now it isnt.
I've adjusted it so that the palarie properly sits on top of the vortex by adding a 150 here: ( in the al_tornado_effect.sqf )
_palarie setParticleParams [["\A3\data_f\cl_basic", 1, 0, 1],"","Billboard",1,16,[0,0,150]
Of what previously was:
_palarie setParticleParams [["\A3\data_f\cl_basic", 1, 0, 1],"","Billboard",1,16,[0,0,0]
Apart from that I've also added some new lightning bolts:
_lightingbolt = selectRandom ["lightning1_F","lightning2_F","lightning_F"];
_lighting = _lightingbolt createvehiclelocal _relativePosition;
and some new sounds:
if (_lightsound == 1) then { _tunet_tornado say3d ["lightning_1",2000]; };
if (_lightsound == 2) then { _tunet_tornado say3d ["lightning_2",2000]; };
if (_lightsound == 3) then { _tunet_tornado say3d ["lightning_3",2000]; };
I'd love to send it all over, i am not entirely sure about the copyright of the lightning strike sounds though.
+ allows for a smooth transition from any weather
[] spawn {_ifog=fog; while {_ifog <0.3} do {_ifog=_ifog+0.001; 0 setFog _ifog; sleep 0.01}};
[] spawn {_irain=rain; while {_irain <1} do {_irain=_irain+0.01;0 setrain _irain; sleep 0.1}};
rather then
[] spawn {_ifog=0; while {_ifog <0.3} do {_ifog=_ifog+0.001; 0 setFog _ifog; sleep 0.01}};
[] spawn {_irain=0; while {_irain <1} do {_irain=_irain+0.01;0 setrain _irain; sleep 0.1}};

Amazing script! Keep up the good work :D