either a
1) hit eventhandler attached to the vehicle
2) dammaged eventhandler (this may only work on units)
3) A looping getdammage script on the vehicle
would be used to trigger the smoking exhaust script
the scriipt would look somewyhing like the following
_veh = _this select 0
_dist = 1
_height = 0.4
_angle = 180
gamelogic setpos [(getpos _veh select 0)+sin(getdir _veh + _angle)*_dist,(getpos _veh select 1)+cos (getdir _veh + _angle)*_dist,_height]
tx_Smokenow = true; Publicvariable "tx_smokenow"
this would set your gamelogic to a position 1 metre behind the centre point of the vehicle and 0.4 metres above the ground
experiment with the
_angle value
_dist value
_height value
to get the desired location
For mp compatability, i introduced a gamelogic, so that all clients would set off their smoke effect at the same position, unless you wanted to use a createvehicle smokegrenade, or some other addon object that creates smoke
then have a drop effects script run of a trigger (at condition tx_smokenow) which uses the position of the gamelogic as the focal point of your drop command script
the drop effect script would reset tx_smokenow to false, ready for the next vehicle and the trigger would be a repeating one