params ["_caller", "_lfz", "_wp1","_wp2","_startpos"]; _lfz = (_this select 3) select 0; _transporttyp = (_this select 3) select 1; // 0 = zur LZ; 1 = zurück zur Basis _lfz setVariable ["var_backtobase", false, true]; if ( missionNamespace getVariable "callsupport") exitWith { [(side (_this select 1)),"HQ"] commandChat "Einsatz abgelehnt. Keine freien Transportmittel" }; _dof_fnc_meinMarkerFunction = { createMarker ["LzEzMarker",LandingPos]; "LzEzMarker" setMarkerShape "ICON"; "LzEzMarker" setMarkerType "hd_dot"; "LzEzMarker" setMarkerText _this; }; caller = (_this select 1); openmap [true,false]; titletext ["auf der Karte die Helikopereinsatzort markieren","plain"]; onMapSingleClick "onMapSingleClick ''; LandingPos = _pos; missionNamespace setvariable ['callsupport', true, true];"; waitUntil {sleep 1; (!visiblemap || callsupport)}; if (!callsupport) exitWith { LandingPos = nil; onMapSingleClick ""; missionNamespace setvariable ['callsupport', false, true]; hint parseText format["Helikoptereinsatz abgebrochen"]; titletext ["","plain"]; }; [[(side (_this select 1)),"HQ"], "Daten an Flugzentrale gesendet. Helikoper kommt zum Einsatz"] remoteExec ["commandChat"]; if (_transporttyp == 0) then { "Landezone" call _dof_fnc_meinMarkerFunction} else { "Evac Punkt" call _dof_fnc_meinMarkerFunction }; _startpos = getpos _lfz; _lfzpad = "Land_HelipadEmpty_F" createVehicle LandingPos; _lfz synchronizeObjectsAdd [_lfzpad]; //--- erstellt Wegpunkt im Einsatzgebeit _wp1 = group _lfz addwaypoint [LandingPos, 1]; _wp1 setwaypointtype "MOVE"; _wp1 setWaypointStatements ["true", "(vehicle this) LAND 'GET OUT';"]; _lfz setCombatMode "blue"; _lfz setBehaviour "SAFE"; _lfz allowfleeing 0; _lfz flyinHeight 40; waitUntil {sleep 1; _lfz distance LandingPos < 600}; if (_transporttyp == 1) then{ "SmokeShellGreen" createVehicle LandingPos}; _lfz setspeedMode "normal"; [[(side (_this select 1)),"HQ"], "Helikopter erreicht das Einsatzgebiet. Landung erfolgt in x < 3"] remoteExec ["commandChat"]; _lfz setcaptive true; waitUntil {sleep 1; _lfz distance LandingPos < 150}; _lfz setspeedMode "LIMITED"; waitUntil {sleep 1; getpos _lfz select 2 < 5}; //--- fügt ein Abflugkommando hinzu flyhomeID = _lfz addAction [ "Ready! Fly Back ", { (_this select 0) setVariable ["var_backtobase", true,true]; (_this select 0) removeAction flyhomeID; }, nil, 6, false, false, "", "" ]; waituntil {sleep 2; _lfz getVariable "var_backtobase"}; // waituntil {sleep 2; {_x in _lfz} count allunits == countedcrew} --> wenn helicrew vorher ausgezählt; //--- Löscht den Marker, Setzt Pad neu, Syncronisert neu, Heli gehört wieder zur Seite deleteMarker "LzEzMarker"; _lfz setcaptive false; _lfzpad setpos _startpos; //--- Leitet Ablug ein _wp2 = group _lfz addwaypoint [_startpos, 1]; _wp2 setwaypointtype "MOVE"; _wp2 setWaypointStatements ["true", "(vehicle this) LAND 'Land';"]; _lfz setCombatMode "blue"; _lfz setBehaviour "SAFE"; _lfz allowfleeing 0; _lfz flyinHeight 40; waitUntil {sleep 1; _lfz distance _startpos < 600}; _lfz setspeedMode "normal"; waitUntil {sleep 1; _lfz distance _startpos < 150}; _lfz setspeedMode "LIMITED"; //_lfz land "LAND"; waitUntil {isTouchingGround _lfz}; _lfz action ["engineOff", _lfz]; _lfz setdammage 0; _lfz setfuel 1; missionNamespace setvariable ["callsupport", false, true]; deleteVehicle _lfzpad; while {(count (waypoints (group _lfz))) > 0} do { deleteWaypoint ((waypoints (group _lfz)) select 0); };