Added vehicle sensor handler to get sensor input and throw it on ATAK

This commit is contained in:
Valmo Trindade
2025-11-22 12:15:15 -03:00
parent 7e4379ada4
commit 524e7a0b3e
7 changed files with 43 additions and 3 deletions

View File

@@ -10,6 +10,9 @@ class CfgFunctions {
class send_group_cots {
file = "\armatak\armatak\addons\main\functions\api\fn_send_group_cots.sqf";
};
class send_enemy_cot {
file = "\armatak\armatak\addons\main\functions\api\fn_send_enemy_cot.sqf";
};
class send_eud_cot {
file = "\armatak\armatak\addons\main\functions\api\fn_send_eud_cot.sqf";
};
@@ -31,6 +34,9 @@ class CfgFunctions {
class extract_role {
file = "\armatak\armatak\addons\main\functions\extract_data\fn_extract_role.sqf";
};
class extract_sensor_data {
file = "\armatak\armatak\addons\main\functions\extract_data\fn_extract_sensor_data.sqf";
};
class extract_unit_callsign {
file = "\armatak\armatak\addons\main\functions\extract_data\fn_extract_unit_callsign.sqf";
};

View File

@@ -9,7 +9,7 @@ _unit_position = _unit call armatak_client_fnc_extractClientPosition;
_uuid = _unit call armatak_fnc_extract_uuid;
_type = _unit call armatak_fnc_extract_role;
_callsign = _unit call armatak_fnc_extract_marker_callsign;
_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]];

View File

@@ -7,8 +7,13 @@ params["_unit"];
private _affiliation = "f";
private _type = "G";
private _role = "a-f-G-U-C-I";
switch (str side _unit) do {
private _side = side _unit;
if (isNil {_unit getVariable "armatak_current_side"}) then {
_side = _unit getVariable "armatak_current_side";
};
switch (str _side) do {
case "WEST": {
_affiliation = "f";
};

View File

@@ -0,0 +1,17 @@
params["_unit"];
_target = getSensorTargets (_unit);
{
_unit = _x select 0;
_position = _x select 1;
_status = _x select 2;
if (isNil {_unit getVariable "armatak_current_side"}) then {
_unit setVariable ["armatak_current_side", side _unit];
};
if (_status != "destroyed") then {
_unit call armatak_fnc_send_enemy_cot;
};
} forEach _target;

View File

@@ -16,6 +16,10 @@ if (roleDescription _unit != "") then {
};
};
if (side _unit == east) then {
_callsign = getText (configOf _unit >> "displayName");
};
armatak_attribute_unit_callsign = _unit getVariable "armatak_attribute_unit_callsign";
if (!isNil "armatak_attribute_unit_callsign" or armatak_attribute_unit_callsign != '') then {