That worked, here's the finished product that will fire an M2 at any armoured vehicle or any target you designate. Thanks alot to Mandoble, Spooner and Ceeeb for the great help...
; initiated with [vehicle firing, targeted vehicle] exec "tgt.sqs"
_firer = _this select 0
_tgt = _this select 1
; Get crew of the target for exiting script if they're dead.
_crew = crew _tgt
; Establish info for USE WEAPON action.
_gunner = gunner _firer
; If target is destroyed, start the target search script again and exit program.
; If not, make burst size 20 rounds with between 0.5 and 1 second gaps.
#fire
? (!alive (_crew select 1) && !alive (_crew select 2)) || getdammage _tgt == 1 : [_firer] exec "findtgt.sqs" ; exit
_ammo = _firer ammo "M2"
_burst = _ammo - 20
~(Random 0.5) + 0.5
goto "burst"
; If target is destroyed, start the target search script again and exit program.
; Get Firer to watch the target and use his main weapon.
; Conduct burst with ammo check and loop.
; If ammo is less than burst then go back to fire to establish new burst size.
#burst
? (!alive (_crew select 1) && !alive (_crew select 2)) || getdammage _tgt == 1 : [_firer] exec "findtgt.sqs" ; exit
_firer dowatch getpos _tgt
_firer action ["useWeapon", _firer,_gunner, 0]
_ammo = _firer ammo "M2"
? _ammo <= _burst : goto "fire"
? _ammo > _burst : goto "burst"