i had a man player on map and an invisible h called target,[] exec "add.sqs" in the player's init.
the scripts are like these:
ID= player addaction ["action","setfire.sqs"];
exit;
setfire=true;
titleText ["Click on the map to set your firedirection","plain down"];
onMapSingleClick "target setPos _pos; setfire=false";
@!setfire;
"Firepoint" setMarkerPos getPos target;
onMapSingleClick "";
res = []execVM"big.sqf";
titleText ["","plain down"];
"firepoint" setmarkerpos [0,0]
exit;
~4
_pos = target; // Position of the explosion
_drop1 = "\Ca\Data\ParticleEffects\RocketSmoke\RocketSmoke";
_drop2 = "\ca\data\cl_exp"; // <- Explosion like particle class
_maxspd = 20;
_mass = 1.275;
_vol = 1.0;
_rubb = 1;
_size1 = [3,7.5,11,15];
_size2 = [4,15];
_numdrops = 60;
for [{_i = 0},{_i < _numdrops},{_i = _i + 1}] do
{
_angh = random 359;
_angv = (random 180) - 90;
_rad = 20 + random _maxspd;
_radv = abs(_rad * sin(_angv));
_radh = abs(_rad * cos(_angv));
_vel = [sin(_angh)*_radh, cos(_angh)*_radh, sin(_angv)*_radv];
drop [_drop1, "", "Billboard", 1, 3, _pos, _vel, 0.5, _mass, _vol, _rubb/2, _size1, [[1,1,1,0.6],[0,0,0,0.5],[0,0,0,0.4],[0.5,0.5,0.5,0]], [0,1,0], 5, 0.05, "", "", ""];
_vel = [sin(_angh)*_radh, cos(_angh)*_radh, sin(_angv)*_radv];
drop [_drop2, "", "Billboard", 1, 1, _pos, _vel, 0.5, _mass, _vol, _rubb/1.5, _size2, [[1,0.5,0,0.6],[1,1,1,0.5],[1,1,1,0.4],[1,1,1,0]], [0,1,0], 5, 0.05, "", "", ""];
};