There's a script that allows to put a machine gun on a car / truck :
In init.sqs put :
[Nameofthevehicle,NameoftheMG,height] exec "MGCarry.sqs"
exit
;MGCarry.sqs
_carrier = _this select 0
_cargo   = _this select 1
_height = _this select 2
endCargoSession = false
goto debug
#carrier
_x = (getPos _carrier) select 0
_y = (getPos _carrier) select 1
_z = ((getPos _carrier) select 2)+_height
_cargo setPos [_x, _y, _z + 0.9 ]
_cargo setDir (getDir _carrier)
~.01
? (!endCargoSession) : goto "carrier"
@ endcargosession
_cargo setpos [_x,(_y)-1.5,0]
exit
Works perfect
.