From 00f06f81d1e37f5801d8a3f53236c3ceddbd36a6 Mon Sep 17 00:00:00 2001 From: looterz Date: Thu, 25 Feb 2016 07:57:32 -0600 Subject: [PATCH] Added Show Player Names option to Blue Force Tracking Module --- addons/map/ACE_Settings.hpp | 6 +++++ addons/map/CfgVehicles.hpp | 8 +++++- .../functions/fnc_blueForceTrackingModule.sqf | 1 + .../functions/fnc_blueForceTrackingUpdate.sqf | 25 +++++++++++++++++-- addons/map/stringtable.xml | 24 ++++++++++++++++++ 5 files changed, 61 insertions(+), 3 deletions(-) diff --git a/addons/map/ACE_Settings.hpp b/addons/map/ACE_Settings.hpp index c0d2718c1f..8c7f5957ba 100644 --- a/addons/map/ACE_Settings.hpp +++ b/addons/map/ACE_Settings.hpp @@ -17,6 +17,12 @@ class ACE_Settings { displayName = CSTRING(BFT_HideAiGroups_DisplayName); description = CSTRING(BFT_HideAiGroups_Description); }; + class GVAR(BFT_ShowPlayerNames) { + value = 0; + typeName = "BOOL"; + displayName = CSTRING(BFT_ShowPlayerNames_DisplayName); + description = CSTRING(BFT_ShowPlayerNames_Description); + }; class GVAR(mapIllumination) { value = 1; typeName = "BOOL"; diff --git a/addons/map/CfgVehicles.hpp b/addons/map/CfgVehicles.hpp index 7d7f98207f..df52756eee 100644 --- a/addons/map/CfgVehicles.hpp +++ b/addons/map/CfgVehicles.hpp @@ -104,9 +104,15 @@ class CfgVehicles { typeName = "BOOL"; defaultValue = 0; }; + class ShowPlayerNames { + displayName = CSTRING(BFT_ShowPlayerNames_DisplayName); + description = CSTRING(BFT_ShowPlayerNames_Description); + typeName = "BOOL"; + defaultValue = 0; + }; }; class ModuleDescription { description = CSTRING(BFT_Module_Description); }; }; -}; \ No newline at end of file +}; diff --git a/addons/map/functions/fnc_blueForceTrackingModule.sqf b/addons/map/functions/fnc_blueForceTrackingModule.sqf index 77275ffd4c..fd839cbb38 100644 --- a/addons/map/functions/fnc_blueForceTrackingModule.sqf +++ b/addons/map/functions/fnc_blueForceTrackingModule.sqf @@ -18,5 +18,6 @@ params ["_logic"]; [_logic, QGVAR(BFT_Enabled), "Enabled"] call EFUNC(common,readSettingFromModule); [_logic, QGVAR(BFT_Interval), "Interval"] call EFUNC(common,readSettingFromModule); [_logic, QGVAR(BFT_HideAiGroups), "HideAiGroups"] call EFUNC(common,readSettingFromModule); +[_logic, QGVAR(BFT_ShowPlayerNames), "ShowPlayerNames"] call EFUNC(common,readSettingFromModule); ACE_LOGINFO_3("Blue Force Tracking Module Initialized:", GVAR(BFT_Enabled), GVAR(BFT_Interval), GVAR(BFT_HideAiGroups)); diff --git a/addons/map/functions/fnc_blueForceTrackingUpdate.sqf b/addons/map/functions/fnc_blueForceTrackingUpdate.sqf index 3e966ca5f6..1fe9c503eb 100644 --- a/addons/map/functions/fnc_blueForceTrackingUpdate.sqf +++ b/addons/map/functions/fnc_blueForceTrackingUpdate.sqf @@ -2,7 +2,7 @@ #include "script_component.hpp" // BEGIN_COUNTER(blueForceTrackingUpdate); -private ["_groupsToDrawMarkers", "_playerSide", "_anyPlayers", "_colour", "_marker"]; +private ["_groupsToDrawMarkers", "_playersToDrawMarkers", "_playerSide", "_anyPlayers", "_colour", "_marker"]; // Delete last set of markers (always) { @@ -17,6 +17,7 @@ if (GVAR(BFT_Enabled) and {(!isNil "ACE_player") and {alive ACE_player}}) then { _playerSide = call EFUNC(common,playerSide); _groupsToDrawMarkers = allGroups select {side _x == _playerSide}; + _playersToDrawMarkers = allPlayers select {side _x == _playerSide}; if (GVAR(BFT_HideAiGroups)) then { _groupsToDrawMarkers = _groupsToDrawMarkers select { @@ -26,6 +27,26 @@ if (GVAR(BFT_Enabled) and {(!isNil "ACE_player") and {alive ACE_player}}) then { }; }; + if (GVAR(BFT_ShowPlayerNames)) then { + { + private _markerType = [_x] call EFUNC(common,getMarkerType); + private _colour = format ["Color%1", side _x]; + + private _marker = createMarkerLocal [format ["ACE_BFT_%1", _forEachIndex], [(getPos leader _x) select 0, (getPos leader _x) select 1]]; + _marker setMarkerTypeLocal _markerType; + _marker setMarkerColorLocal _colour; + _marker setMarkerTextLocal (name _x); + + GVAR(BFT_markers) pushBack _marker; + } forEach _playersToDrawMarkers; + + _groupsToDrawMarkers = _groupsToDrawMarkers select { + { + !(_x call EFUNC(common,isPlayer)); + } count units _x > 0; + }; + }; + { private _markerType = [_x] call EFUNC(common,getMarkerType); private _colour = format ["Color%1", side _x]; @@ -33,7 +54,7 @@ if (GVAR(BFT_Enabled) and {(!isNil "ACE_player") and {alive ACE_player}}) then { private _marker = createMarkerLocal [format ["ACE_BFT_%1", _forEachIndex], [(getPos leader _x) select 0, (getPos leader _x) select 1]]; _marker setMarkerTypeLocal _markerType; _marker setMarkerColorLocal _colour; - _marker setMarkerTextLocal (groupID _x); + _marker setMarkerTextLocal (groupId _x); GVAR(BFT_markers) pushBack _marker; } forEach _groupsToDrawMarkers; diff --git a/addons/map/stringtable.xml b/addons/map/stringtable.xml index 1ed523bef6..50c01d9fa3 100644 --- a/addons/map/stringtable.xml +++ b/addons/map/stringtable.xml @@ -225,6 +225,30 @@ Скрыть маркеры групп, которые состоят полностью из ботов? Nascondi markers per gruppi di sole IA? + + Show player names? + Pokaż imiona graczy? + Mostrar nombres de los jugadores? + Zeigen Sie die Namen der Spieler? + Zobrazit jména hráčů? + Mostrar os nomes dos jogadores? + Afficher les noms des joueurs? + Itt található az a játékos nevét? + Показать имена игроков? + Mostra i nomi dei giocatori? + + + Show individual player names? + Pokaż poszczególne imiona graczy? + Mostrar nombres de los jugadores individuales? + Zeigen einzelnen Spielernamen? + Zobrazit názvy jednotlivých hráčů? + Mostrar nomes individuais dos jogadores? + Afficher les noms des joueurs individuels? + Itt található az adott játékos neveket? + Показать отдельные имена игроков? + Mostra i nomi dei giocatori singoli? + This module allows the tracking of allied units with BFT map markers. Pozwala śledzić na mapie pozycje sojuszniczych jednostek za pomocą markerów BFT.