T3 is a Transport chopper; (flying)
T4 is a Combat chopper; (flying)
Hos1 and Hos2 are hostages;
EP is an invisible Helipad
________________________________________________________________________________
this is a triggeractivation code for condition "{_x distance EP < 30} count [Hos1,Hos2] > 0":
if (isServer) then {
null = [] spawn {
private["_grHos","_grT3","_grT4","_WP0","_WP1","_DT3","_DT4","_GT4"];
_DT3 = driver T3;
_DT4 = driver T4;
_GT4 = gunner T4;
_grT3 = group _DT3;
_grT4 = group _DT4;
_DT3 allowFleeing 0;
_DT3 disableAI "THREAT_PATH";
_DT3 disableAI "PATHPLAN";
_DT3 disableAI "AUTOTARGET";
_DT3 disableAI "TARGET";
_DT4 allowFleeing 0;
_DT4 disableAI "THREAT_PATH";
_DT4 disableAI "PATHPLAN";
_DT4 disableAI "WAYPOINT_STOP";
_WP1 = _grT4 addWaypoint [T3,0];
_WP1 setWaypointType "MOVE";
_WP1 setWaypointSpeed "FULL";
_WP1 setWaypointBehaviour "COMBAT";
_grHos = createGroup west;
{if (!isNull _x || !alive _x) then {[_x] joinsilent _grHos}} forEach [Hos1,Hos2];
Hostages = _grHos;
_WP0 = _grHos addWaypoint [EP,0];
_WP0 setWaypointType "MOVE";
_WP0 setWaypointBehaviour "CARELESS";
_WP0 setWaypointSpeed "LMITED";
_WP1 = _grHos addWaypoint [EP,1];
_WP1 setWaypointType "GETIN";
_WP1 setWaypointBehaviour "CARELESS";
_WP1 setWaypointSpeed "LMITED";
{deleteWaypoint _x} forEach waypoints _grT3;
{deleteWaypoint _x} forEach waypoints _grT3;
_WP0 = _grT3 addWaypoint [[2114,1941,20],0];
_WP0 setWPPos [2114,1941,20];
_WP0 setWaypointType "MOVE";
_WP0 setWaypointSpeed "NORMAL";
_WP0 setWaypointBehaviour "COMBAT";
_WP0 setWaypointCombatMode "RED";
_WP0 setWaypointCompletionRadius 200;
_WP0 setWaypointStatements ["true","{_x assignAsCargo T3} forEach [Hos1,Hos2];[Hos1,Hos2] orderGetIn true;Hostages addVehicle T3;"];
_WP1 = _grT3 addWaypoint [EP,1];
_WP1 setWaypointType "LOAD";
_WP1 setWaypointSpeed "LIMITED";
_WP1 setWaypointBehaviour "SAVE";
_WP1 setWaypointCombatMode "GREEN";
_WP1 setWaypointCompletionRadius 10;
_WP1 setWaypointStatements ["true",""];
[_grT3, 1] synchronizeWaypoint [[_grHos, 1]];
[_grHos, 1] synchronizeWaypoint [[_grT3, 1]];
_WP0 = _grT3 addWaypoint [[0,0,20],2];
_WP0 setWPPos [0,0,20];
_WP0 setWaypointType "MOVE";
_WP0 setWaypointSpeed "FULL";
_WP0 setWaypointBehaviour "SAVE";
_WP0 setWaypointCompletionRadius 200;
_WP0 setWaypointStatements ["{_x in (crew T3)} count [Hos1,Hos2] == count [Hos1,Hos2]","HostSave = true;{deleteVehicle _x} forEach ((crew T3) + [T3])"];
while {alive T4} do {
sleep 10;
{deleteWaypoint _x} forEach waypoints _grT4;
{deleteWaypoint _x} forEach waypoints _grT4;
_WP0 = _grT4 addWaypoint [T3,0];
_WP0 setWaypointType "MOVE";
_WP0 setWaypointSpeed "FULL";
_WP0 setWaypointBehaviour "COMBAT";
_WP0 setWaypointCombatMode "RED";
if ({_x in (crew T3)} count units _grHos == count units _grHos) exitWith {
_DT4 disableAI "AUTOTARGET";
_DT4 disableAI "TARGET";
{deleteWaypoint _x} forEach waypoints _grT4;
{deleteWaypoint _x} forEach waypoints _grT4;
_WP0 = _grT4 addWaypoint [[1614,936,80],0];
_WP0 setWPPos [1614,936,80];
_WP0 setWaypointType "MOVE";
_WP0 setWaypointCombatMode "BLUE";
_WP0 setWaypointSpeed "FULL";
_WP0 setWaypointCompletionRadius 200;
_WP1 = _grT4 addWaypoint [[0,0,80],1];
_WP1 setWPPos [0,0,80];
_WP1 setWaypointType "MOVE";
_WP1 setWaypointCombatMode "BLUE";
_WP1 setWaypointSpeed "FULL";
_WP1 setWaypointCompletionRadius 200;
_WP1 setWaypointStatements ["true","{deleteVehicle _x} forEach ((crew T4) + [T4])"];
};
};
};
};
________________________________________________________________________________
Good luck