Cockheaven 21 Posted June 21, 2019 (edited) Hi guys, here's the skinny. I've got an aircraft with 3 AI crew and one player crew in an MP environment on a dedicated server. That said the player is NOT grouped with the 3 AI crew for REASONS... What I'm trying to do is add an addiction to the aircraft to allow the player to select a position on the map and order the aircraft to Loiter with given radius and altitude. Here's the code I have at the moment Mother addaction ["Set Orbit", { _this select 1; Orbit_set = true; hintsilent "Open your Map. Leftclick to set orbit center"; onMapSingleClick " _wp1 = group MotheD addwaypoint [_pos, 0]; [group MotherD, 1] setWaypointType ""LOITER""; _mk1 = createMarkerLocal [""OrbitCenter"", _pos]; ""OrbitCenter"" setMarkerType ""waypoint""; [group MotherD, 1] setWaypointPosition [_pos, 1]; [group MotherD, 1] setWaypointLoiterRadius 2000; Mother flyInHeight 1500; Orbit_set = false; "; waitUntil{!Orbit_set}; onMapSingleClick ""; ;} ]; So whats happening is, I select the action (as the player) and I receive the hint, however when I click on a position after opening the map nothing happens. I can go into Zeus and verify no waypoint has been created. However; when I alt click on the map the whole aircraft gets teleported to that position... what gives I don't have a getpos setpos anywhere in there I'm totally lost, I was reading something about an EH for this kind of thing but I'm not understanding that, It seems way more complicated than it needs to be. Thanks! Mother = the aircraft variable name MotherD = the driver of Mother (Pilot) Edited June 21, 2019 by Cockheaven Clarified Variables Share this post Link to post Share on other sites
pierremgi 4833 Posted June 21, 2019 Typo? group MotheD addwaypoint [_pos, 0]; On the other hand, you don't need to specify for driver. A simple group Mother will do the trick. Share this post Link to post Share on other sites
Larrow 2818 Posted June 21, 2019 13 hours ago, Cockheaven said: However; when I alt click on the map the whole aircraft gets teleported to that position This is an editor preview feature. You can Alt + LftClick to teleport about. Spoiler //initPlayerLocal.sqf #include "\a3\ui_f\hpp\definedikcodes.inc" Mother addAction ["Set Orbit", { params[ "_target", "_caller", "_ID", "_args" ]; hintSilent "Leftclick to set orbit center. Or Spacebar to cancel"; _h = [] spawn { //Wait for Map display waitUntil{ !isNull ( uiNamespace getVariable[ "RscDiary", displayNull ] ) }; //Add key up EH to Map display so the user can cancel out of the forced map DEH_KU = uiNamespace getVariable "RscDiary" displayAddEventHandler [ "KeyUp", { params[ "_display", "_keyCode" ]; //If the user presses Spacebar if ( _keyCode == DIK_SPACE ) then { //Remove MapSingleClick MEH removeMissionEventHandler[ "MapSingleClick", MEH_MSC ]; //Remove this display key up EH _display displayRemoveEventHandler[ "KeyUp", DEH_KU ]; //Close map openMap[ false, false ]; //Remove hint hint ""; }; }]; }; //Add mission MapSingleClick EH MEH_MSC = addMissionEventHandler [ "MapSingleClick", { params[ "_units", "_pos", "_alt", "_shift" ]; //Depending on helos altitude, //it will try to climb to this height before proceeding to follow Loiter WP Mother flyInHeight 1500; //Add Loiter waypoint _wp1 = group MotherD addWaypoint[ _pos, 0 ]; _wp1 setWaypointType "LOITER"; _wp1 setWaypointLoiterType "CIRCLE"; _wp1 setWaypointLoiterRadius 2000; //Set WP as groups current WP group MotherD setCurrentWaypoint _wp1; //If marker OrbitCenter already exists if !( getMarkerPos "OrbitCenter" isEqualTo [0,0,0] ) then { //Move it "OrbitCenter" setMarkerPosLocal _pos; }else{ //Create OribitCenter marker _mk1 = createMarkerLocal[ "OrbitCenter", _pos ]; _mk1 setMarkerType "waypoint"; }; //Remove this MEH MapSingleClick removeMissionEventHandler[ "MapSingleClick", _thisEventHandler ]; //Remove Map display key up EH uiNamespace getVariable "RscDiary" displayRemoveEventHandler[ "KeyUp", DEH_KU ]; //Close map openMap[ false, false ]; //Clear hint hint ""; }]; //Force open the map openMap[ true, true ]; }]; Share this post Link to post Share on other sites