
JASS:
native SetUnitFlyHeight takes unit whichUnit, real newHeight, real rate returns nothing
also it will depend on terrainû height, use

JASS:
globals
location temporaryLocation=Location(0., 0.)
endglobals
function GetZ takes real x, real y returns real
call MoveLocation(temporaryLocation, x, y)
return GetLocationZ(temporaryLocation)
endfunction
...
call SetUnitFlyHeight(Unit, z-GetZ(x, y), .0)
omg, has still overlooked - what to change height of flight not flying unit use

JASS:
function AddZ takes unit u returns nothing
call UnitAddAbility(u, 'Arav')
call UnitRemoveAbility(u, 'Arav')
endfunction