dismantled callsign function from units and markers

This commit is contained in:
Valmo Trindade
2025-05-10 05:38:53 -03:00
parent 9bb4a8feaa
commit 5d6846c5fa
4 changed files with 80 additions and 9 deletions

View File

@@ -4,14 +4,14 @@ class Cfg3den {
class armatak_3den_attributes {
displayName = "ARMA Team Awareness Kit";
class Attributes {
class armatak_attribute_callsign {
class armatak_attribute_unit_callsign {
displayName = "Unit Callsign";
tooltip = "Unit callsign on TAK";
property = "armatak_attribute_callsign";
property = "armatak_attribute_unit_callsign";
control = "Edit";
expression = "_this setVariable ['armatak_attribute_callsign',_value]";
expression = "_this setVariable ['armatak_attribute_unit_callsign',_value]";
defaultValue = "''";
condition = "object";
condition = "objectBrain";
typeName = "STRING";
};
class armatak_attribute_unit_role {
@@ -58,6 +58,16 @@ class Cfg3den {
unique = 0;
condition = "objectBrain";
};
class armatak_attribute_marker_callsign {
displayName = "Marker Callsign";
tooltip = "Marker Callsign on TAK";
property = "armatak_attribute_marker_callsign";
control = "Edit";
expression = "_this setVariable ['armatak_attribute_marker_callsign',_value]";
defaultValue = "''";
condition = "objectVehicle";
typeName = "STRING";
};
class armatak_attribute_marker_type {
displayName = "Marker Type";
tooltip = "Marker type on TAK";

View File

@@ -28,21 +28,24 @@ class CfgFunctions {
class stop_tcp_socket {
file = "\armatak\armatak\armatak_main\functions\api\fn_stop_tcp_socket.sqf";
};
class extract_callsign {
file = "\armatak\armatak\armatak_main\functions\extract_data\fn_extract_callsign.sqf";
};
class extract_group_color {
file = "\armatak\armatak\armatak_main\functions\extract_data\fn_extract_group_color.sqf";
};
class extract_group_role {
file = "\armatak\armatak\armatak_main\functions\extract_data\fn_extract_group_role.sqf";
};
class extract_role {
file = "\armatak\armatak\armatak_main\functions\extract_data\fn_extract_role.sqf";
class extract_marker_callsign {
file = "\armatak\armatak\armatak_main\functions\extract_data\fn_extract_marker_callsign.sqf";
};
class extract_position {
file = "\armatak\armatak\armatak_main\functions\extract_data\fn_extract_position.sqf";
};
class extract_role {
file = "\armatak\armatak\armatak_main\functions\extract_data\fn_extract_role.sqf";
};
class extract_unit_callsign {
file = "\armatak\armatak\armatak_main\functions\extract_data\fn_extract_unit_callsign.sqf";
};
class extract_uuid {
file = "\armatak\armatak\armatak_main\functions\extract_data\fn_extract_uuid.sqf";
};

View File

@@ -0,0 +1,33 @@
// function name: armatak_fnc_extract_marker_callsign
// function author: Valmo
// function description: Gets the unit name or classname to be used as TAK callsign in a Marker
params["_unit"];
private _callsign = "";
if ((([_unit] call BIS_fnc_objectType) select 0) == "Vehicle") then {
_callsign = getText (configFile >> "CfgVehicles" >> typeOf _unit >> "displayName");
if (!isNull driver _unit) then {
_callsign = getText (configFile >> "CfgVehicles" >> typeOf _unit >> "displayName") + " | " + ([name (driver _unit)] call armatak_fnc_shorten_name);
};
};
if (unitIsUAV _unit) then {
_callsign = getText (configFile >> "CfgVehicles" >> typeOf _unit >> "displayName");
if (isUAVConnected _unit) then {
_callsign = (_callsign) + "[ON]";
} else {
_callsign = (_callsign) + "[OFF]";
}
};
armatak_attribute_marker_callsign = _unit getVariable "armatak_attribute_marker_callsign";
if (!isNil "armatak_attribute_marker_callsign" or armatak_attribute_marker_callsign != '') then {
_callsign = armatak_attribute_marker_callsign;
};
_callsign

View File

@@ -0,0 +1,25 @@
// function name: armatak_fnc_extract_unit_callsign
// function author: Valmo
// function description: Gets the unit name or classname to be used as TAK callsign from a unit
params["_unit"];
private _callsign = "";
if (roleDescription _unit != "") then {
_callsign = ([name _unit] call armatak_fnc_shorten_name) + " | " + roleDescription _unit;
} else {
_callsign = name _unit;
if (_callsign == "Error: No unit") then {
_callsign = getText (configFile >> "CfgVehicles" >> typeOf _unit >> "displayName");
};
};
armatak_attribute_unit_callsign = _unit getVariable "armatak_attribute_unit_callsign";
if (!isNil "armatak_attribute_unit_callsign" or armatak_attribute_unit_callsign != '') then {
_callsign = armatak_attribute_unit_callsign;
};
_callsign