Search the Community
Showing results for tags 'unit markers'.
Found 2 results
-
[Questions] Detect when Curator is using camera and Disabling map icons
hoizen posted a topic in ARMA 3 - ZEUS EDITING
Hello folks. Two questions: 1. Is there a function call that returns a boolean when a curator is actively using the camera? something along the lines of: "inCamera curator" => returns true when actively using the birds-eye view camera and false when controlling their normal physical character. Pretty much some way to recognize a trigger for when the player enters and exits zeus. my current awful solution is detecting the "Using Inventory" animation for standing, crouching, and prone. This, however, doesn't work if the player is in an advanced stance or in a vehicle. 2. Is there a way to disable unit markers on the zeus map for zeus. I don't mean the difficulty setting for all player maps (that's already disabled) nor do I mean removing units from the curator editable objects (that's also already disabled). Despite the magic map being off and the units not in the curator's editable objects, they still show up on zeus player's map. Anyway to disable this? Thanks for the read.- 3 replies
-
- map icons
- unit markers
-
(and 5 more)
Tagged with:
-
Just a code snippet to display continually updating map markers for all units and uav's on the player's side. A result of me messing about with the functionality of the select command. If a unit is in a vehicle, the vehicle's driver (or the first player in the vehicle) followed by the crew count will be shown. For example "HallyG + 3". First argument toggles whether or not marker should be displayed for AI. Default behaviour, only show AI markers in singleplayer. Marker colour changes according to the player's side; The side used is the player's starting. http://imgur.com/a/LTgbk /* Author: HallyG Displays map markers for all friendly units on the map. Argument(s): 0: Show AI: <BOOLEAN> (default: Show AI in singleplayer only) Returns: <NOTHING> Example: [true] spawn FUNCTIONNAME; [true] execVM SCRIPTLOCATION; __________________________________________________________________*/ if (isDedicated || missionNamespace getVariable ["HGF_unitMarkers_running", false]) exitWith {}; HGF_unitMarkers_running = true; params [ ["_showAI", !isMultiplayer, [false]] ]; private _fnc_updtMkr = { params ["_marker", "_pos", "_dir", "_type", "_name"]; _marker setMarkerPosLocal _pos; _marker setMarkerDirLocal _dir; _marker setMarkerTypeLocal _type; _marker setMarkerTextLocal _name; }; private _markers = []; private _units = [[],[]]; private _colour = [playerSide, true] call BIS_fnc_sideColor; while {true} do { allUnitsUav select { if (isUAVConnected _x) then { (_units select 1) pushBackUnique _x; true }; }; allUnits select { if (isPlayer _x || _showAI) then { if (side _x isEqualto playerSide) then { private _unit = _x; if (({{_x isEqualTo _unit} count crew _x > 0} count allUnitsUav) isEqualTo 0) then { (_units select 0) pushBackUnique _x; true }; }; }; }; if (visibleGPS || visibleMap) then { { private _marker = format ["Unit%1", _x]; private _veh = {isPlayer _x || _showAI} count crew vehicle _x; if !(_marker in _markers) then { _markers pushBack (createMarkerLocal [_marker, visiblePositionASL _x]); _marker setMarkerAlphaLocal 0.75; _marker setMarkerSizeLocal [0.8, 0.8]; _marker setMarkerColorLocal _colour; }; [ [ _marker, (visiblePositionASL _x), (getDirVisual _x), [ ["Empty", "b_motor_inf"] select ((((crew vehicle _x) select {isPlayer _x || _showAI}) select 0) isEqualTo _x), "mil_triangle" ] select (isNull objectParent _x || {(objectParent _x isKindOf "ParachuteBase")}), [ format ["%1: %2 %3", getText (configFile >> "cfgVehicles" >> typeOf vehicle _x >> "displayname"), name _x, format [["+%1",""] select (_veh < 2), _veh -1]], name _x ] select (isNull objectParent _x || {(objectParent _x isKindOf "ParachuteBase")}) ], [ _marker, (visiblePositionASL _x), 0, "Empty", name _x ] ] select !(alive _x) call _fnc_updtMkr; if !(alive _x) then { (_units select 0) set [_forEachIndex, objNull] }; } forEach ((_units select 0) select {!isNull _x}); { private _unit = (uavControl _x) select 0; if (isPlayer _unit || _showAI) then { if (side _unit isEqualto playerSide) then { private _marker = format ["Uav%1", _x]; if !(_marker in _markers) then { _markers pushBack (createMarkerLocal [_marker, visiblePositionASL _x]); _marker setMarkerAlphaLocal 0.75; _marker setMarkerSizeLocal [0.8, 0.8]; _marker setMarkerColorLocal _colour; }; [ [ _marker, (visiblePositionASL _x), (getDirVisual _x), "b_uav", format ["%1: %2", getText (configFile >> "cfgVehicles" >> typeOf vehicle _x >> "displayName"), name _unit] ], [ _marker, (visiblePositionASL _x), (getDirVisual _x), "Empty", //"KIA" format ["%1: %2", getText (configFile >> "cfgVehicles" >> typeOf vehicle _x >> "displayName"), name _unit] ] ] select !(alive _x) call _fnc_updtMkr; if !(alive _x) then { (_units select 1) set [_forEachIndex, objNull] }; }; }; } forEach ((_units select 1) select {!isNull _x}); } else { {deleteMarkerLocal _x; true} count _markers; _markers = []; }; uiSleep 0.025; }; I guess, to improve this further, I could use the map mission event handler instead of a looped if then statement.