Just one thing i'd like to add here:
The distance from the chopper to the guy on the ground
also includes the height difference.
So if the chopper is flying in a height of 30 meters, the
distance 20 will never be reached.
Solution:
use an object (best use a gamelogic).
gamelogic setpos [(getpos man1 select 0),(getpos man1 select 1),(getpos chopper select 2)]
Now as the chopper will probably (or better say for sure) not
keep his flying height on a constant level, you need to do this
as a loop.
#loop
~1
gamelogic setpos [(getpos man1 select 0),(getpos man1 select 1),(getpos chopper select 2)]
?(chopper distance gamelogic > 20): goto "loop"
~S~ CD