Welcome to OFP physics. There is drag.
I couldn't figure it out. This is as far as I got:
_dx = ((_pos select 0) - (_src select 0))
_dz = ((_pos select 1) - (_src select 1))
_dist = sqrt ((_dx ^ 2) + (_dz ^ 2))
_dir = _dz atan2 _dx
_angle = 20
_muzzle = sqrt (9.8 * _dist / sin (2 * _angle))
_vy = _muzzle * sin _angle
_hyp = _muzzle * cos _angle
_vx = _hyp * cos _dir
_vz = _hyp * sin _dir
_shell = _type createVehicle [_src select 0, _src select 1, 2]
_shell setVelocity [_vx, _vz, _vy]
Doolittle