From 2b241fbeafb1959d609285858a6d3ce8e860fb7a Mon Sep 17 00:00:00 2001 From: Valmo Trindade Date: Sat, 15 Nov 2025 01:57:23 -0300 Subject: [PATCH] Fixed extract position function and dependency chain --- .../api/fn_send_digital_pointer_cot.sqf | 16 ++++++++-------- addons/main/functions/api/fn_send_drone_cot.sqf | 2 +- addons/main/functions/api/fn_send_eud_cot.sqf | 5 ++--- addons/main/functions/api/fn_send_marker_cot.sqf | 14 +++++++------- .../functions/fnc_3denCoreModuleConfig.sqf | 12 +++++++++--- .../functions/fnc_ZeusCoreModuleConfig.sqf | 6 +++--- addons/server/functions/fnc_routerEntityAdd.sqf | 6 +++--- .../server/functions/fnc_routerEntityRemove.sqf | 2 +- 8 files changed, 34 insertions(+), 29 deletions(-) diff --git a/addons/main/functions/api/fn_send_digital_pointer_cot.sqf b/addons/main/functions/api/fn_send_digital_pointer_cot.sqf index b04e444..e1be95e 100644 --- a/addons/main/functions/api/fn_send_digital_pointer_cot.sqf +++ b/addons/main/functions/api/fn_send_digital_pointer_cot.sqf @@ -3,12 +3,12 @@ params ["_unit"]; _digitalPointer = laserTarget _unit; if (!isNull _digitalPointer) then { - _digitalPointerPosition = _digitalPointer call armatak_client_fnc_extractClientPosition; - - _link_uid = [_unit] call armatak_fnc_extract_uuid; - _contact_callsign = ([player] call armatak_fnc_extract_unit_callsign) + ".DP1"; - - _dpCot = [_link_uid, _contact_callsign, _digitalPointerPosition select 0, _digitalPointerPosition select 1, _digitalPointerPosition select 2]; - - "armatak" callExtension ["tcp_socket:send_digital_pointer_cot", [_dpCot]]; + _digitalPointerPosition = _digitalPointer call armatak_client_fnc_extractClientPosition; + + _link_uid = [_unit] call armatak_fnc_extract_uuid; + _contact_callsign = ([player] call armatak_fnc_extract_unit_callsign) + ".DP1"; + + _dpCot = [_link_uid, _contact_callsign, _digitalPointerPosition select 1, _digitalPointerPosition select 2, _digitalPointerPosition select 3]; + + "armatak" callExtension ["tcp_socket:send_digital_pointer_cot", [_dpCot]]; }; diff --git a/addons/main/functions/api/fn_send_drone_cot.sqf b/addons/main/functions/api/fn_send_drone_cot.sqf index bed999e..3dcac38 100644 --- a/addons/main/functions/api/fn_send_drone_cot.sqf +++ b/addons/main/functions/api/fn_send_drone_cot.sqf @@ -1,4 +1,4 @@ -// function name: armatak_fnc_extract_drone +// function name: armatak_fnc_send_drone_cot // function author: Valmo // function description: Gets the drone information for the CoT Router diff --git a/addons/main/functions/api/fn_send_eud_cot.sqf b/addons/main/functions/api/fn_send_eud_cot.sqf index 6e45ead..a235757 100644 --- a/addons/main/functions/api/fn_send_eud_cot.sqf +++ b/addons/main/functions/api/fn_send_eud_cot.sqf @@ -1,4 +1,4 @@ -// function name: armatak_fnc_extract_eud_cot_info +// function name: armatak_fnc_send_eud_cot // function author: Valmo // function description: Gets the information necessary for generating the EUD Cursor Over Time @@ -8,6 +8,5 @@ _position = _unit call armatak_client_fnc_extractClientPosition; _uuid = _unit call armatak_fnc_extract_uuid; -_eud_cot = [_uuid, _position select 0, _position select 1, _position select 2, _callsign, _group_name, _group_role, _position select 3, speed player / 3.6]; - +_eud_cot = [_uuid, _position select 1, _position select 2, _position select 3, _callsign, _group_name, _group_role, _position select 5, _position select 6]; "armatak" callExtension ["tcp_socket:send_eud_cot", [_eud_cot]]; diff --git a/addons/main/functions/api/fn_send_marker_cot.sqf b/addons/main/functions/api/fn_send_marker_cot.sqf index c651902..6d48e03 100644 --- a/addons/main/functions/api/fn_send_marker_cot.sqf +++ b/addons/main/functions/api/fn_send_marker_cot.sqf @@ -4,10 +4,10 @@ params ["_unit", "_type", "_callsign"]; -_unit_position = _unit call armatak_client_fnc_extractClientPosition; - -_uuid = _unit call armatak_fnc_extract_uuid; - -_marker_cot = [_uuid, _type, _unit_position select 0, _unit_position select 1, _unit_position select 2, _callsign, _unit_position select 3, speed _unit / 3.6]; - -"armatak" callExtension ["tcp_socket:send_marker_cot", [_marker_cot]]; +_unit_position = _unit call armatak_client_fnc_extractClientPosition; + +_uuid = _unit call armatak_fnc_extract_uuid; + +_marker_cot = [_uuid, _type, _unit_position select 1, _unit_position select 2, _unit_position select 3, _callsign, _unit_position select 5, _unit_position select 6]; + +"armatak" callExtension ["tcp_socket:send_marker_cot", [_marker_cot]]; diff --git a/addons/server/functions/fnc_3denCoreModuleConfig.sqf b/addons/server/functions/fnc_3denCoreModuleConfig.sqf index 2884151..d010e9f 100644 --- a/addons/server/functions/fnc_3denCoreModuleConfig.sqf +++ b/addons/server/functions/fnc_3denCoreModuleConfig.sqf @@ -21,12 +21,12 @@ if (isServer) exitWith { _syncUnits = synchronizedObjects _logic; - missionNamespace setVariable ["armatak_marked_units", _syncUnits]; + missionNamespace setVariable ["armatak_server_syncedUnits", _syncUnits]; - GVAR(syncedUnits) = missionNamespace getVariable "armatak_marked_units"; + GVAR(syncedUnits) = missionNamespace getVariable "armatak_server_syncedUnits"; [{ - GVAR(syncedUnits) = missionNamespace getVariable "armatak_marked_units"; + GVAR(syncedUnits) = missionNamespace getVariable "armatak_server_syncedUnits"; { _objectType = _x call BIS_fnc_objectType; @@ -45,6 +45,12 @@ if (isServer) exitWith { [_x, _atak_type, _callsign] call armatak_fnc_send_marker_cot; }; + case ((_objectType select 0) == "VehicleAutonomous"): { + _atak_type = [_x] call armatak_fnc_extract_role; + _callsign = [_x] call armatak_fnc_extract_marker_callsign; + + [_x, _atak_type, _callsign] call armatak_fnc_send_marker_cot; + }; }; if (unitIsUAV _x) then { [_x] call armatak_fnc_send_drone_cot; diff --git a/addons/server/functions/fnc_ZeusCoreModuleConfig.sqf b/addons/server/functions/fnc_ZeusCoreModuleConfig.sqf index f95af58..d2fe49d 100644 --- a/addons/server/functions/fnc_ZeusCoreModuleConfig.sqf +++ b/addons/server/functions/fnc_ZeusCoreModuleConfig.sqf @@ -25,12 +25,12 @@ missionNamespace setVariable ["armatak_tcp_socket_is_running", true]; _syncUnits = []; -missionNamespace setVariable ["armatak_marked_units", _syncUnits]; +missionNamespace setVariable ["armatak_server_syncedUnits", _syncUnits]; -GVAR(syncedUnits) = missionNamespace getVariable "armatak_marked_units"; +GVAR(syncedUnits) = missionNamespace getVariable "armatak_server_syncedUnits"; [{ - GVAR(syncedUnits) = missionNamespace getVariable "armatak_marked_units"; + GVAR(syncedUnits) = missionNamespace getVariable "armatak_server_syncedUnits"; { _objectType = _x call BIS_fnc_objectType; diff --git a/addons/server/functions/fnc_routerEntityAdd.sqf b/addons/server/functions/fnc_routerEntityAdd.sqf index d0c19b4..e4d375b 100644 --- a/addons/server/functions/fnc_routerEntityAdd.sqf +++ b/addons/server/functions/fnc_routerEntityAdd.sqf @@ -27,16 +27,16 @@ switch (false) do { deleteVehicle _logic; }; default { - if (_unit in (missionNamespace getVariable ["armatak_marked_units", []])) exitWith { + if (_unit in (missionNamespace getVariable ["armatak_server_syncedUnits", []])) exitWith { ["Unit already marked", "warning", "TCP Socket"] call EFUNC(main,notify); deleteVehicle _logic; }; - GVAR(syncedUnits) = missionNamespace getVariable "armatak_marked_units"; + GVAR(syncedUnits) = missionNamespace getVariable "armatak_server_syncedUnits"; GVAR(syncedUnits) pushBack _unit; - missionNamespace setVariable ["armatak_marked_units", GVAR(syncedUnits)]; + missionNamespace setVariable ["armatak_server_syncedUnits", GVAR(syncedUnits)]; SETVAR(_unit,GVAR(isRouting),true); deleteVehicle _logic; diff --git a/addons/server/functions/fnc_routerEntityRemove.sqf b/addons/server/functions/fnc_routerEntityRemove.sqf index 3dbbb67..71f35ee 100644 --- a/addons/server/functions/fnc_routerEntityRemove.sqf +++ b/addons/server/functions/fnc_routerEntityRemove.sqf @@ -34,7 +34,7 @@ switch (false) do { }; } forEach GVAR(syncedUnits); - missionNmaespace setVariable ["armatak_marked_units", GVAR(syncedUnits)]; + missionNmaespace setVariable ["armatak_server_syncedUnits", GVAR(syncedUnits)]; SETVAR(_unit,GVAR(isRouting),false); deleteVehicle _logic;