diff --git a/addons/building_markers/XEH_postInit.sqf b/addons/building_markers/XEH_postInit.sqf index 38fa35da9..a7ee26416 100644 --- a/addons/building_markers/XEH_postInit.sqf +++ b/addons/building_markers/XEH_postInit.sqf @@ -2,6 +2,16 @@ if (isServer) then { [QGVAR(set), LINKFUNC(set)] call CBA_fnc_addEventHandler; + + addMissionEventHandler ["MarkerDeleted", { + params ["_marker"]; + + // Filter all non-ZEN markers + if !(QUOTE(ADDON) in _marker) exitWith {}; + + [_marker] call CBA_fnc_removeGlobalEventJIP; + [(_marker splitString "_" select -1) call BIS_fnc_objectFromNetId, false] call FUNC(set); + }]; }; if (hasInterface) then { diff --git a/addons/building_markers/functions/fnc_set.sqf b/addons/building_markers/functions/fnc_set.sqf index 94f9dbbbc..df26dafe7 100644 --- a/addons/building_markers/functions/fnc_set.sqf +++ b/addons/building_markers/functions/fnc_set.sqf @@ -61,6 +61,8 @@ if (_set) then { _marker setMarkerDir getDir _object; _object setVariable [QGVAR(marker), _marker, true]; + [QEGVAR(common,setMarkerDrawPriority), [_marker, -1], _marker] call CBA_fnc_globalEventJIP; + // Delete marker when the object is deleted private _eventID = _object addEventHandler ["Deleted", { params ["_object"]; diff --git a/addons/common/XEH_postInit.sqf b/addons/common/XEH_postInit.sqf index eaf9c38ab..8ddf45240 100644 --- a/addons/common/XEH_postInit.sqf +++ b/addons/common/XEH_postInit.sqf @@ -304,6 +304,11 @@ _object setObjectScale _scale; }] call CBA_fnc_addEventHandler; +[QGVAR(setMarkerDrawPriority), { + params ["_markerName", "_priority"]; + _markerName setMarkerDrawPriority _priority; +}] call CBA_fnc_addEventHandler; + [QGVAR(setVehicleRadar), { params ["_vehicle", "_mode"]; _vehicle setVehicleRadar _mode;