You'd have to use the drop-command, as Spooner said, to generate particles to simulate fog. If done right, it can look quite neat, but most likely lag quite a bit. Also, I think AI will see through it. Anyways, I just started looking into making some mist for ArmA, and nicked a version of BAS' mist script from OFP that Captain had rewritten to work in ArmA. I just changed it to be a .sqf instead of .sqs...
_pos = _this select 0;
_delay = _this select 1;
_lifeTime = _this select 2;
_vel = _this select 3;
_pLifeTime = _this select 4;
_lifeTicks = _lifeTime / _delay;
_lifeTick = _lifeTicks;
while {_lifeTick > 0} do
{
_count =0;
while {_count <20} do
{
_dir = random 360;
_velx = _vel *sin _dir;
_vely = _vel *cos _dir;
drop ["\ca\data\cl_basic", "", "Billboard", 1, _pLifeTime, [_pos select 0,_pos select 1,0.5], [_velx,_vely,0], 1, 1.275, 1, 0, [1 + (random 2)], [[0.8,0.8,0.8,0.1]], [0], 0, 0, "", "", ""];
_count = _count +1;
};
sleep (_delay);
_lifeTick = _lifeTick - 1;
};
Execute with [position, delay, lifeTime, velocity, partile lifetime] execVM "mist.sqf"
Here position is the positon that the mist will be created, lifetime is the time the script will run, velocity is the velocity of the particles and particle lifetime is the lifetime of each particle...
Just play around with it a bit I guess...if there's 2 thing I'm not good at in scripting it's dialog and drop command...