I do something similar.
; Use this to call the script directly
; [unit,delay,ammo] exec "DamSmoke.sqs" ie. in a trigger
;unit = oil drum
;delay= time before explosion
; ammo= the type of explosive
; Or Place this in the init line of and object or unit
; I find Oil drums work best.
; this addEventHandler ["hit",{[_this select 0,4,"G_30mm_HE"] exec "DamSmoke.sqs"}]
_veh=_THIS SELECT 0
_delay=_this select 1
_charge =_this select 2
_veh removeAllEventHandlers "hit"
_veh setdamage 1
; rnd=delay before exploding
_rnd= random _delay
~_rnd
; crate the bang
BOMB1 = _charge createVehicle getpos _veh
; I had some slight lag with the object moving before exploding
~0.2
; some items just wont move or need more inertia
_veh setvelocity[-4+(random 8),-4+(random 8),random 16]
exit
I like to use the velocity command to make the object a little lighter it helps them get off the ground.
It's looks good if you group a few together and place them on the side of a hill.