diwako 413 Posted March 19, 2019 ACE has its own setting to hide it. it was added to DUI for people not playing with ACE. So check out aces Interface Settings. 1 Share this post Link to post Share on other sites
HBAOplus 14 Posted March 22, 2019 Okay, it was solved , thanks for the tip Share this post Link to post Share on other sites
diwako 413 Posted April 9, 2019 Version 1.5.2 released! Added: - Feature for bearing number above compass showing leading zeros (Example: "007" instead of just "7") - feature for indicators scaling based on distance - feature for indicators scaling based on FoV zoom level - Feature for indicators using ACE Nametags logic (requires ACE Nametags to be present and to be enabled!) (by 654wak654) - Feature for indicators for toggling medic and sql icon inside the indicators on or off (by synixebrett) - Custom color definitions, set any group color to what ever you want - Feature to hide the namelist when being sql. For people preferring the vanilla squad bar Updated: - Brazilian Portuguese translations (by aradiel) - Japanese translations (by classicarma) Changed: - Assign buddy option for ACE interaction moved to "Team Management" Node when available - Buddy feature is now its own PBO, for groups that do not want to use this feature, they can safely delete the buddy pbo - Internal detection for medic status enhanced (by dystopian) Fixed: - String table formatting and syntax errors Downloads: https://steamcommunity.com/sharedfiles/filedetails/?id=1638341685 https://github.com/diwako/diwako_dui/releases/tag/1.5.2 3 Share this post Link to post Share on other sites
diwako 413 Posted April 28, 2019 Version 1.5.3 released! Added: - Sort namelist feature (Sort by name, rank, fireteam color or create your own sorting algorithm) - "Remove Buddy" ACE self interaction, for when you know it won't work out Updated: - Brazilian/Portuguese translations (by aradiel) - Russian translations (by topden) - Polish translations (by 3Mydlo3) Fixed: - Bearing numbers disappearing when looking straight north and not using leading zeroes Changed: - Map open check removed as UI elements have this built in (namelist and compass appear immediately again after closing map now) - Hide the vanilla squad bar option is hidden if ACE Interface is detected Example for custom sorting algorithm: https://github.com/diwako/diwako_dui/wiki/Custom-namelist-sorting Downloads: https://github.com/diwako/diwako_dui/releases/tag/1.5.3 https://steamcommunity.com/sharedfiles/filedetails/?id=1638341685 3 Share this post Link to post Share on other sites
diwako 413 Posted May 5, 2019 Small update regarding the creator DLC Added: - Support for the compasses of the creator DLC "GM" Note: The compasses bearing range go up to 6000 or 6400 as these are using mils! Downloads: https://github.com/diwako/diwako_dui/releases/tag/1.5.4 https://steamcommunity.com/sharedfiles/filedetails/?id=1638341685 1 Share this post Link to post Share on other sites
diwako 413 Posted July 21, 2019 Update released! Fixed: - Several fixes to the buddy addon - Do not add actions on HC and dedicated server - Handle respawn of buddy Updated: - Japanese translations (by classicarma) Added: - Support for unit specific icons (see: https://github.com/diwako/diwako_dui/wiki/Custom-unit-specific-icon) - Added setting to group unit icons on the radar by vehicle - Added support for ACE_finger (Pointing in ACE) Download: https://steamcommunity.com/sharedfiles/filedetails/?id=1638341685https://github.com/diwako/diwako_dui/releases/tag/1.5.5 3 Share this post Link to post Share on other sites
Rich_R 1087 Posted July 23, 2019 I have two questions. I’ve goggled this but I’m not sure if the answers. 1) I know this can only be a clientside mod. If I put it on the dedicated server (to make sure everyone is running it) does it need to be in the players modpack? 2) When playing with it the other day I noticed my icon on the squad radar would fade in and out and my name would disappear from the squad list on the side. They would disappear and reappear at the same time. Thanks for this excellent mod!!! Share this post Link to post Share on other sites
LSValmont 789 Posted July 23, 2019 I just cannot play Arma 3 without this mod anymore! Quick question, can we get a flat compass (ala Squad/PUBG) option? I know this is a Squad Radar but It would be also very nice to have and diwako's modding skills are far above the task. Keep up with this Must Have tool! Share this post Link to post Share on other sites
diwako 413 Posted July 23, 2019 @Rich_R 1) if your server runs signature checks, clients need to run at least the same mods as the server has in it -mod parameter. if you add the mod in there people will not be able to join without it. It is also possible to use ACE's pbo check as DUI is a CBA template mod. 2) You are describing the occlusion feature, normally that should not happen with your own icon and the name should not disappear from the namelist, so i am scratching my head on that one @LSValmont You mean a horizontal one that just has the bearing numbers, cardinal points and some lines? Was thinking about making this as a standalone mod, but i prefer the current radar style more right now. 1 Share this post Link to post Share on other sites
LSValmont 789 Posted July 23, 2019 2 minutes ago, diwako said: @LSValmont You mean a horizontal one that just has the bearing numbers, cardinal points and some lines? Was thinking about making this as a standalone mod, but i prefer the current radar style more right now. Exactly! I've seen some implementations that even show nearby friendlies functioning almost like a radar. Would be an awesome option to have even as a stand alone mod. Besides the coding (scripting) won't be much different. I've got a script version but it is too heavy on resources so I am just using yours now. Share this post Link to post Share on other sites
diwako 413 Posted July 23, 2019 10 minutes ago, LSValmont said: Exactly! I've seen some implementations that even show nearby friendlies functioning almost like a radar. Would be an awesome option to have even as a stand alone mod. Besides the coding (scripting) won't be much different. I've got a script version but it is too heavy on resources so I am just using yours now. Right now there are no plans for this. not sure if I even have time to start on a new project any time soon. 1 Share this post Link to post Share on other sites
Rich_R 1087 Posted July 23, 2019 1 hour ago, diwako said: @Rich_R 1) if your server runs signature checks, clients need to run at least the same mods as the server has in it -mod parameter. if you add the mod in there people will not be able to join without it. It is also possible to use ACE's pbo check as DUI is a CBA template mod. 2) You are describing the occlusion feature, normally that should not happen with your own icon and the name should not disappear from the namelist, so i am scratching my head on that one Hey @diwako thanks for the quick reply! 1) This isn’t a public server so we won’t be checking signatures. If that’s the case, just have it on the server? 2) I actually looked at the occlusion options and realized they were for other players. I’ll play with it a little more, see what happened and let you know if it keeps happening 😉 1 Share this post Link to post Share on other sites
diwako 413 Posted July 23, 2019 @Rich_R Only way I can think with existing mods is via ace pbo check, maybe. Other than that you cannot out of the box force people to use it if you are not checking signatures Could also run a server mod which checks if a player runs it or not. 1 Share this post Link to post Share on other sites
LSValmont 789 Posted July 24, 2019 22 hours ago, diwako said: Right now there are no plans for this. not sure if I even have time to start on a new project any time soon. Here is the script I am talking about, perhaps it can serve you at least as an example 😉: Spoiler waitUntil {sleep 1; time > 5}; fnc_removeString = { params ["_from", "_to", "_string"]; _stringArray = _string splitString ""; _stringArray deleteRange [_from, _to]; _stringArray = _stringArray joinString ""; private _returnMe = _stringArray; _returnMe }; fnc_loadSettings = { //systemchat "init fnc_loadSettings"; _nc_settings = profileNamespace getVariable "nc_settings"; if (isNil "_nc_settings") then { _nc_settings = [0.499889,0.0346965,3.16098,1.86439,0,1.18143,"C0",0.753254,"PuristaLight",0,1,1,-0.0340903,5,1,0,"B1B1","FFFFFF"]; }; private _returnMe = _nc_settings; _returnMe; }; fnc_saveSettings = { //systemchat "init fnc_saveSettings"; params ["_ncX", "_ncY","_ncW","_ncSpan","_ncType","_ncFontSize","_ncAlpha","_ncAlphaNr","_ncFontOption","_ncInvert","_ncShadow","_ncMarkerVisibility","_ncMarkerY","_ncFontOptionNr","_ncColorNr","_ncTypeNr","_ncColorCustom","_ncColor"]; profileNamespace setVariable ["nc_settings",[_ncX,_ncY,_ncW,_ncSpan,_ncType,_ncFontSize,_ncAlpha,_ncAlphaNr,_ncFontOption,_ncInvert,_ncShadow,_ncMarkerVisibility,_ncMarkerY,_ncFontOptionNr,_ncColorNr,_ncTypeNr,_ncColorCustom,_ncColor]]; saveProfileNamespace; //systemchat "saving complete"; }; fnc_showSettings = { //systemchat "init fnc_showSettings"; disableSerialization; ncColorOption = "f9f9f9"; nc_lb_colorOption = [ ncColorOption, "FFFFFF", "000000"]; nc_lb_fontOption = [ "EtelkaMonospacePro", "EtelkaMonospaceProBold", "EtelkaNarrowMediumPro", "LucidaConsoleB", "PuristaBold", "PuristaLight", "PuristaMedium", "PuristaSemiBold", "RobotoCondensed", "RobotoCondensedBold", "RobotoCondensedLight", "TahomaB"]; folder = [] call fnc_loadSettings; if (isNil "folder") then { folder = [0.499889,0.0346965,3.16098,1.86439,0,1.18143,"C0",0.753254,"PuristaLight",0,1,1,-0.0340903,5,1,0,"B1B1","FFFFFF"]; }; ncX = folder select 0; ncY = folder select 1; ncW = folder select 2; ncSpan = folder select 3; ncType = folder select 4; ncFontSize = folder select 5; ncAlpha = folder select 6; ncAlphaNr = folder select 7; ncFontOption = folder select 8; ncInvert = folder select 9; ncShadow = folder select 10; ncMarkerVisibility = folder select 11; ncMarkerY = folder select 12; ncFontOptionNr = folder select 13; ncColorNr = folder select 14; ncTypeNr = folder select 15; ncColor = folder select 17; nc_barOffsetX = (ncX * safezoneW + safezoneX); nc_barOffsetY = (ncY * safezoneH + safezoneY); nc_marker_offset = ncMarkerY + nc_barOffsetY; nc_dialog_controls = [ [1000,"nc_background",[1,"",[0.29375 * safezoneW + safezoneX,0.225 * safezoneH + safezoneY,0.170156 * safezoneW,0.759 * safezoneH],[-1,-1,-1,-1],[0.07,0.07,0.07,1],[-1,-1,-1,-1],"","RscText"],[]], [1004,"nc_background_char",[1,"",[0.304062 * safezoneW + safezoneX,0.489 * safezoneH + safezoneY,0.149531 * safezoneW,0.264 * safezoneH],[-1,-1,-1,-1],[0.03,0.03,0.03,1],[-1,-1,-1,-1],"","RscText"],[]], [1001,"nc_background_pos",[1,"",[0.304062 * safezoneW + safezoneX,0.28 * safezoneH + safezoneY,0.149531 * safezoneW,0.154 * safezoneH],[-1,-1,-1,-1],[0.03,0.03,0.03,1],[-1,-1,-1,-1],"","RscText"],[]], [1007,"nc_background_features",[1,"",[0.304062 * safezoneW + safezoneX,0.808 * safezoneH + safezoneY,0.149531 * safezoneW,0.11 * safezoneH],[-1,-1,-1,-1],[0.03,0.03,0.03,1],[-1,-1,-1,-1],"","RscText"],[]], [1002,"nc_background_title_pos",[1,"STAND & SPOT",[0.304062 * safezoneW + safezoneX,0.247 * safezoneH + safezoneY,0.149531 * safezoneW,0.033 * safezoneH],[-1,-1,-1,-1],[0.11,0.11,0.11,1],[-1,-1,-1,-1],"","RscText"],[]], [1103,"nc_background_pos_x",[1,"X",[0.314375 * safezoneW + safezoneX,0.291 * safezoneH + safezoneY,0.0154688 * safezoneW,0.022 * safezoneH],[-1,-1,-1,-1],[0,0,0,0],[-1,-1,-1,-1],"HORIZONTAL POSITION. Set the correct horizontal position you desire.","RscStructuredText"],[]], [1104,"nc_background_pos_y",[1,"Y",[0.314375 * safezoneW + safezoneX,0.324 * safezoneH + safezoneY,0.0154688 * safezoneW,0.022 * safezoneH],[-1,-1,-1,-1],[0,0,0,0],[-1,-1,-1,-1],"VERTICAL POSITION. Set the correct vertical position you desire.","RscStructuredText"],[]], [1106,"nc_background_pos_w",[1,"W",[0.314375 * safezoneW + safezoneX,0.357 * safezoneH + safezoneY,0.0154688 * safezoneW,0.022 * safezoneH],[-1,-1,-1,-1],[0,0,0,0],[-1,-1,-1,-1],"WIDTH. Exact range of visibility for points.","RscStructuredText"],[]], [1107,"nc_background_pos_s",[1,"S",[0.314375 * safezoneW + safezoneX,0.39 * safezoneH + safezoneY,0.0154688 * safezoneW,0.022 * safezoneH],[-1,-1,-1,-1],[0,0,0,0],[-1,-1,-1,-1],"SPAN. Change the distance between the points.","RscStructuredText"],[]], [1003,"nc_background_title_char",[1,"CHARACTERISTICS",[0.304062 * safezoneW + safezoneX,0.456 * safezoneH + safezoneY,0.149531 * safezoneW,0.033 * safezoneH],[-1,-1,-1,-1],[0.11,0.11,0.11,1],[-1,-1,-1,-1],"","RscText"],[]], [1100,"nc_background_fontSize",[1,"sS",[0.314375 * safezoneW + safezoneX,0.544 * safezoneH + safezoneY,0.020625 * safezoneW,0.022 * safezoneH],[-1,-1,-1,-1],[0,0,0,0],[-1,-1,-1,-1],"SIZE-FONT. Determines the size of the individual cardinal points.","RscStructuredText"],[]], [1102,"nc_background_fontAlpha",[1,"A",[0.314375 * safezoneW + safezoneX,0.577 * safezoneH + safezoneY,0.0154688 * safezoneW,0.022 * safezoneH],[1,1,1,0.5],[0,0,0,0],[-1,-1,-1,-1],"TRANSPARENCY. Set the visibility of the whole compass.","RscStructuredText"],[]], [1109,"nc_background_fontColor",[1,"#",[0.314375 * safezoneW + safezoneX,0.621 * safezoneH + safezoneY,0.0154688 * safezoneW,0.022 * safezoneH],[1,0,0,1],[0,0,0,0],[-1,-1,-1,-1],"COLOR-CODE. put #HEX color here for custom color.","RscStructuredText"],[]], [1110,"nc_background_shadow",[1,"Shadow",[0.402031 * safezoneW + safezoneX,0.709 * safezoneH + safezoneY,0.0360937 * safezoneW,0.022 * safezoneH],[-1,-1,-1,-1],[0,0,0,0],[-1,-1,-1,-1],"SHADOW. Enable the dropshadow for the cardinal points.","RscStructuredText"],[]], [1111,"nc_background_invert",[1,"Invert",[0.355625 * safezoneW + safezoneX,0.709 * safezoneH + safezoneY,0.0309375 * safezoneW,0.022 * safezoneH],[-1,-1,-1,-1],[0,0,0,0],[-1,-1,-1,-1],"INVERT. Switch between the option of the needles being at the top or bottom of the cardinal points.","RscStructuredText"],[]], [1006,"nc_background_title_features",[1,"MARKERS & FEATURES",[0.304062 * safezoneW + safezoneX,0.775 * safezoneH + safezoneY,0.149531 * safezoneW,0.033 * safezoneH],[-1,-1,-1,-1],[0.11,0.11,0.11,1],[-1,-1,-1,-1],"","RscText"],[]], [1112,"nc_background_pos_markerY",[1,"Y",[0.314375 * safezoneW + safezoneX,0.83 * safezoneH + safezoneY,0.0154688 * safezoneW,0.022 * safezoneH],[-1,-1,-1,-1],[0,0,0,0],[-1,-1,-1,-1],"VERTICAL OFFSET. Set the correct vertical offset you desire.","RscStructuredText"],[]], [1113,"nc_background_visibility",[1,"Visbility",[0.402031 * safezoneW + safezoneX,0.874 * safezoneH + safezoneY,0.0360937 * safezoneW,0.022 * safezoneH],[-1,-1,-1,-1],[0,0,0,0],[-1,-1,-1,-1],"VISIBILITY. Toggle it.","RscStructuredText"],[]], [1114,"nc_background_info_soon",[1,"more features soon",[0.314375 * safezoneW + safezoneX,0.874 * safezoneH + safezoneY,0.0825 * safezoneW,0.022 * safezoneH],[1,1,1,0.3],[0,0,0,0],[-1,-1,-1,-1],"INFO. Future updates coming. Stay tuned","RscText"],[]], [1115,"nc_background_impressum",[1,"Voyager Compass 1.1",[0.304062 * safezoneW + safezoneX,0.94 * safezoneH + safezoneY,0.0825 * safezoneW,0.022 * safezoneH],[1,1,1,0.3],[0,0,0,0],[-1,-1,-1,-1],"Creator: Unknown_GTX & Flax","RscText"],[]], [2400,"nc_save",[1,"SAVE",[0.412344 * safezoneW + safezoneX,0.94 * safezoneH + safezoneY,0.04125 * safezoneW,0.022 * safezoneH],[0.07,0.07,0.07,1],[0.93,0.93,0.93,1],[0.07,0.07,0.07,1],"Permanently save changes. (stays even after restarting the game)","RscButton"],[], ["profileNamespace setVariable ['nc_settings',folder]; saveProfileNamespace;"]], [2401,"nc_close",[1,"X",[0.391719 * safezoneW + safezoneX,0.94 * safezoneH + safezoneY,0.0154688 * safezoneW,0.022 * safezoneH],[0.07,0.07,0.07,1],[0.93,0.93,0.93,1],[-1,-1,-1,-1],"Close without save.","RscButton"],[], ["(uiNamespace getVariable 'nc_dialogDisplay') closeDisplay 2"]], [2800,"ncShadow",[1,"",[0.391719 * safezoneW + safezoneX,0.709 * safezoneH + safezoneY,0.0103125 * safezoneW,0.022 * safezoneH],[-1,-1,-1,-1],[-1,-1,-1,-1],[-1,-1,-1,-1],"SHADOW. Enable the dropshadow for the cardinal points.","RscCheckBox"],[], [ncShadow, "folder set [10, (_this select 1)]; switch (_this select 1) do { case (0): { ncShadow = 0; }; case (1): { ncShadow = 2; };}; _comp = [ncType, ncInvert, ncFontSize, ncShadow, ncFontOption, ncAlpha, ncColorOption] call fnc_compileCompass;"]], [1901,"ncX",[1,"",[0.340156 * safezoneW + safezoneX,0.302 * safezoneH + safezoneY,0.0979687 * safezoneW,0.011 * safezoneH],[-1,-1,-1,-1],[1,1,1,1],[-1,-1,-1,-1],"HORIZONTAL POSITION. Set the correct horizontal position you desire.","RscSlider"],[], [[/*range*/0,1, ncX], "folder set [0, (_this select 1)]; nc_barOffsetX = ((_this select 1) * safezoneH + safezoneY)"]], [1900,"nc_y",[1,"",[0.340156 * safezoneW + safezoneX,0.335 * safezoneH + safezoneY,0.0979687 * safezoneW,0.011 * safezoneH],[-1,-1,-1,-1],[1,1,1,1],[-1,-1,-1,-1],"VERTICAL POSITION. Set the correct vertical position you desire.","RscSlider"],[], [[/*range*/0,1, ncY], "folder set [1, (_this select 1)]; nc_barOffsetY = ((_this select 1) * safezoneH + safezoneY); nc_marker_offset = ncMarkerY + nc_barOffsetY;"]], [1902,"nc_w",[1,"",[0.340156 * safezoneW + safezoneX,0.368 * safezoneH + safezoneY,0.0979687 * safezoneW,0.011 * safezoneH],[-1,-1,-1,-1],[1,1,1,1],[-1,-1,-1,-1],"WIDTH. Exact range of visibility for points.","RscSlider"],[], [[/*range*/0,5, ncW], "folder set [2, (_this select 1)]; ncW = (_this select 1)"]], [1903,"nc_s",[1,"",[0.340156 * safezoneW + safezoneX,0.401 * safezoneH + safezoneY,0.0979687 * safezoneW,0.011 * safezoneH],[-1,-1,-1,-1],[1,1,1,1],[-1,-1,-1,-1],"SPAN. Change the distance between the points.","RscSlider"],[], [[/*range*/1,3, ncSpan], "folder set [3, (_this select 1)]; ncSpan = (_this select 1)"]], [2100,"nc_type",[1,"",[0.319531 * safezoneW + safezoneX,0.511 * safezoneH + safezoneY,0.118594 * safezoneW,0.022 * safezoneH],[-1,-1,-1,-1],[-1,-1,-1,-1],[-1,-1,-1,-1],"TYPE. Work in progress.","RscCombo"],[], [["Battlegrounds","Arma 3"], "folder set [15, (_this select 1)]; ncType = (_this select 1)", ncTypeNr]], [1904,"nc_fontSize",[1,"",[0.340156 * safezoneW + safezoneX,0.555 * safezoneH + safezoneY,0.0979687 * safezoneW,0.011 * safezoneH],[-1,-1,-1,-1],[1,1,1,1],[-1,-1,-1,-1],"SIZE-FONT. Determines the size of the individual cardinal points.","RscSlider"],[], [[/*range*/0.8,1.4, ncFontSize], "folder set [5, (_this select 1)]; ncFontSize = (_this select 1); _comp = [ncType, ncInvert, ncFontSize, ncShadow, ncFontOption, ncAlpha, ncColorOption] call fnc_compileCompass;"]], [1905,"nc_fontAlpha",[1,"",[0.340156 * safezoneW + safezoneX,0.588 * safezoneH + safezoneY,0.0979687 * safezoneW,0.011 * safezoneH],[-1,-1,-1,-1],[1,1,1,1],[-1,-1,-1,-1],"TRANSPARENCY. Set the visibility of the whole compass.","RscSlider"],[], [[/*range*/0,1,ncAlphaNr], "folder set [7, (_this select 1)]; _clr = [0,0,0,(_this select 1)] call BIS_fnc_ColorRGBAtoHTML; _cutBelow = [0,1, _clr] call fnc_removeString; _cutAbove = [2,6, _cutBelow] call fnc_removeString; folder set [6, _cutAbove]; ncAlpha = _cutAbove; _comp = [ncType, ncInvert, ncFontSize, ncShadow, ncFontOption, ncAlpha, ncColorOption] call fnc_compileCompass;"]], [2103,"nc_font",[1,"",[0.319531 * safezoneW + safezoneX,0.665 * safezoneH + safezoneY,0.118594 * safezoneW,0.022 * safezoneH],[-1,-1,-1,-1],[1,1,1,1],[-1,-1,-1,-1],"FONT. Switch between different looks with the font.","RscCombo"],[], [["EtelkaMonospacePro","EtelkaMonospaceProBold","EtelkaNarrowMediumPro","LucidaConsoleB","PuristaBold","PuristaLight","PuristaMedium","PuristaSemiBold","RobotoCondensed","RobotoCondensedBold","RobotoCondensedLight","TahomaB"], "folder set [13, (_this select 1)];folder set [8, (nc_lb_fontOption select (_this select 1))]; ncFontOptionNr = (_this select 1); ncFontOption = nc_lb_fontOption select (_this select 1); _comp = [ncType, ncInvert, ncFontSize, ncShadow, ncFontOption, ncAlpha, ncColorOption] call fnc_compileCompass;", ncFontOptionNr]], [1005,"ncColor_code",[1,"",[0.326719 * safezoneW + safezoneX,0.621 * safezoneH + safezoneY,0.04125 * safezoneW,0.022 * safezoneH],[1,1,1,1],[0.03,0.03,0.03,1],[-1,-1,-1,-1],"","RscEdit"],[]], [2102,"ncColor",[1,"",[0.371094 * safezoneW + safezoneX,0.621 * safezoneH + safezoneY,0.0670312 * safezoneW,0.022 * safezoneH],[-1,-1,-1,-1],[-1,-1,-1,-1],[-1,-1,-1,-1],"COLOR. Choose between predefined colors.","RscCombo"],[], [["Custom","White","Black"], "folder set [14, (_this select 1)]; folder set [17, (nc_lb_colorOption select (_this select 1))]; ncColorOption = nc_lb_colorOption select (_this select 1); _comp = [ncType, ncInvert, ncFontSize, ncShadow, ncFontOption, ncAlpha, ncColorOption] call fnc_compileCompass;", ncColorNr]], [2801,"nc_invert",[1,"",[0.345312 * safezoneW + safezoneX,0.709 * safezoneH + safezoneY,0.0103125 * safezoneW,0.022 * safezoneH],[-1,-1,-1,-1],[-1,-1,-1,-1],[-1,-1,-1,-1],"INVERT. Switch between the option of the needles being at the top or bottom of the cardinal points.","RscCheckBox"],[], [ncInvert, "folder set [9, (_this select 1)]; ncInvert = (_this select 1); _comp = [ncType, ncInvert, ncFontSize, ncShadow, ncFontOption, ncAlpha, ncColorOption] call fnc_compileCompass;"]], [1906,"nc_markerY",[1,"",[0.340156 * safezoneW + safezoneX,0.841 * safezoneH + safezoneY,0.0979687 * safezoneW,0.011 * safezoneH],[-1,-1,-1,-1],[1,1,1,1],[-1,-1,-1,-1],"VERTICAL OFFSET. Set the correct vertical offset you desire.","RscSlider"],[], [[/*range*/-2,2, ncMarkerY], "folder set [12, (_this select 1)]; nc_marker_offset = (_this select 1) + nc_barOffsetY; ncMarkerY = (_this select 1);"]], [2802,"nc_visibility",[1,"",[0.391719 * safezoneW + safezoneX,0.874 * safezoneH + safezoneY,0.0103125 * safezoneW,0.022 * safezoneH],[-1,-1,-1,-1],[-1,-1,-1,-1],[-1,-1,-1,-1],"VISIBILITY. Toggle it.","RscCheckBox"],[], [ncMarkerVisibility, "folder set [11, (_this select 1)]; ncMarkerVisibility = (_this select 1)"]] ]; with uiNamespace do { nc_dialogDisplay = findDisplay 46 createDisplay "RscDisplayEmpty"; }; { _idc = _x select 0; _type = (_x select 2) select 7; _pos = (_x select 2) select 2; _tooltip = (_x select 2)select 6; _background_color = (_x select 2) select 4; _txt = (_x select 2) select 1; _display = uiNamespace getVariable "nc_dialogDisplay"; switch (_type) do { case ("RscText"): { _ctrl = _display ctrlCreate [_type, _idc]; _ctrl ctrlSetText _txt; //hint format ["x: %1, x: %2, x: %3, x: %4", _posx, _posy, _posw, _posh]; _ctrl ctrlSetTextColor [1, 1, 1, 1]; _ctrl ctrlSetBackgroundColor _background_color; }; case ("RscStructuredText"): { _ctrl = _display ctrlCreate [_type, _idc]; _ctrl ctrlSetText _txt; _ctrl ctrlSetTextColor [1, 1, 1, 1]; _ctrl ctrlSetBackgroundColor _background_color; }; case ("RscSlider"): { _sliderRange_start = ((_x select 4) select 0) select 0; _sliderRange_end = ((_x select 4) select 0) select 1; _sliderPos = ((_x select 4) select 0) select 2; _func = compile ((_x select 4) select 1); _ctrl = _display ctrlCreate [_type, _idc]; _ctrl sliderSetRange [_sliderRange_start, _sliderRange_end]; _ctrl sliderSetPosition _sliderPos; _ctrl ctrlAddEventHandler ["SliderPosChanged",_func]; }; case ("RscCombo"): { _ctrl = _display ctrlCreate [_type, _idc]; _func = compile ((_x select 4) select 1); for "_i" from 0 to (count ((_x select 4) select 0)-1) do { _lbItem = ((_x select 4) select 0) select _i; _index = _ctrl lbAdd _lbItem; }; _indexy = (_x select 4) select 2; _ctrl lbSetCurSel _indexy; _ctrl ctrlAddEventHandler ["LBSelChanged",_func]; }; case ("RscCheckBox"): { _ctrl = _display ctrlCreate [_type, _idc]; if ((_x select 4) select 0 == 1) then { _ctrl cbSetChecked true; }; _func = compile ((_x select 4) select 1); _ctrl ctrlAddEventHandler ["CheckedChanged",_func]; if (ncInvert == 1) then { _ctrl ctrlSetChecked true; }else{_ctrl ctrlSetChecked false;}; }; case ("RscButton"): { _ctrl = _display ctrlCreate [_type, _idc]; _ctrl ctrlSetText _txt; _func = compile ((_x select 4) select 0); _ctrl ctrlAddEventHandler ["ButtonClick",_func]; }; case ("RscEdit"): { _ctrl = _display ctrlCreate [_type, _idc]; _ctrl ctrlSetTextColor [1, 1, 1, 1]; _ctrl ctrlSetBackgroundColor [0, 0, 0, 1]; _ctrl ctrlAddEventHandler ["KeyUp",{ncColorOption = ctrlText ((uiNamespace getVariable "nc_dialogDisplay") displayCtrl 1005); _comp = [ncType, ncInvert, ncFontSize, ncShadow, ncFontOption, ncAlpha, ncColorOption] call fnc_compileCompass;}]; _ctrl ctrlSetText ncColorOption; }; }; _ctrl = _display displayCtrl _idc; _ctrl ctrlSetPosition _pos; _ctrl ctrlCommit 0; _ctrl ctrlSetTooltip _tooltip; } forEach nc_dialog_controls; }; fnc_showCompass = { //systemchat "init fnc_showCompass"; disableSerialization; _nc_settings = [] call fnc_loadSettings; if (isNil "_nc_settings") then { _nc_settings = [0.499889,0.0346965,3.16098,1.86439,0,1.18143,"C0",0.753254,"PuristaLight",0,1,1,-0.0340903,5,1,0,"B1B1","FFFFFF"]; }; ncX = _nc_settings select 0; ncY = _nc_settings select 1; ncW = _nc_settings select 2; ncSpan = _nc_settings select 3; ncType = _nc_settings select 4; ncFontSize = _nc_settings select 5; ncAlpha = _nc_settings select 6; ncFontOption = _nc_settings select 8; ncInvert = _nc_settings select 9; ncShadow = _nc_settings select 10; ncMarkerVisibility = _nc_settings select 11; ncMarkerY = _nc_settings select 12; ncColorOption = "f9f9f9"; nc_barOffsetX = (ncX * safezoneW + safezoneX); nc_barOffsetY = (ncY * safezoneH + safezoneY); nc_marker_offset = ncMarkerY + nc_barOffsetY; ("compassTitle" call BIS_fnc_rscLayer) cutRsc ["RscTitleDisplayEmpty", "PLAIN"]; switch (ncShadow) do { case (0): { ncShadow = 0; }; case (1): { ncShadow = 2; };}; _comp = [ncType, ncInvert, ncFontSize, ncShadow, ncFontOption, ncAlpha, ncColorOption] call fnc_compileCompass; /// rendering of compass allUserMarkers = []; currentMarkers = []; combMarkers = []; ["0", "onEachFrame",{ _compassNeedle = ((uiNamespace getVariable "RscTitleDisplayEmpty") displayCtrl 3399); _compassNeedle ctrlSetPosition [nc_barOffsetX - (0.1/2),nc_barOffsetY,0.1,0.015 * safezoneH]; _compassNeedle ctrlCommit 0; { _ctrl = _x select 0; _pos = (_x select 1) / 100; _degreeControl = ((uiNamespace getVariable "RscTitleDisplayEmpty") displayCtrl _ctrl); _playerDir = (getDir player)/100; _controlPos = (ctrlPosition _degreeControl) select 0; if (_controlPos > ((ncW / 10 * safezoneW + safezoneX) - (0.1/2)) && _controlPos < (1 - ((ncW / 10 * safezoneW + safezoneX))- (0.1/2))) then { _degreeControl ctrlSetPosition [ nc_barOffsetX + ((_pos - _playerDir) / ncSpan) - (0.1/2),nc_barOffsetY,0.1,0.4]; }else{ _degreeControl ctrlSetPosition [ nc_barOffsetX + ((_pos - _playerDir) / ncSpan) - (0.1/2),nc_barOffsetY,0.0,0.4]; }; _degreeControl ctrlCommit 0; } forEach compass_pos; { _ctrl = _x select 0; _marker = _x select 1; _ctrl2 = _ctrl + 100; _playerDir = (getDir player)/100; _relativeDir = ([player, markerPos _marker] call BIS_fnc_relativeDirTo)/100; _MarkerControl = ((uiNamespace getVariable "RscTitleDisplayEmpty") displayCtrl _ctrl); _MarkerControl2 = ((uiNamespace getVariable "RscTitleDisplayEmpty") displayCtrl _ctrl2); _controlPos = (ctrlPosition _MarkerControl) select 0; _controlPos2 = (ctrlPosition _MarkerControl2) select 0; if (_controlPos > (((ncW / 10 * safezoneW + safezoneX) - (0.1/2)) * ncMarkerVisibility) && _controlPos < (((1 - (ncW / 10 * safezoneW + safezoneX))- (0.1/2)) * ncMarkerVisibility)) then { _MarkerControl ctrlSetPosition [ nc_barOffsetX + (_relativeDir / ncSpan) - (0.05/2),nc_marker_offset,0.05,0.09]; }else{ _MarkerControl ctrlSetPosition [ nc_barOffsetX + (_relativeDir / ncSpan) - (0.05/2),nc_marker_offset,0.00,0.09]; }; if (_controlPos2 > (((ncW / 10 * safezoneW + safezoneX) - (0.1/2)) * ncMarkerVisibility) && _controlPos2 < ((((1 - (ncW / 10 * safezoneW + safezoneX))- (0.1/2))) * ncMarkerVisibility)) then { _MarkerControl2 ctrlSetPosition [ nc_barOffsetX + (_relativeDir / ncSpan) - (3.6/ncSpan) - (0.05/2),nc_marker_offset,0.05,0.09]; }else{ _MarkerControl2 ctrlSetPosition [ nc_barOffsetX + (_relativeDir / ncSpan) - (3.6/ncSpan) - (0.05/2),nc_marker_offset,0.00,0.09]; }; _MarkerControl ctrlCommit 0; _MarkerControl2 ctrlCommit 0; } forEach combMarkers; //hint format ["degr: %1", getDir player]; }] call BIS_fnc_addStackedEventHandler; /// waitUntil {ncMarkerVisibility == 1;}; while {true} do { /// create user array [marker] { if !(_x in currentMarkers) then { _a = toArray _x; _a resize 15; if (toString _a == "_USER_DEFINED #") then { allUserMarkers pushBack _x; }; }; } forEach allMapMarkers; /// /// create double array ([marker], [idc,marker]) { if !(_x in currentMarkers) then { _display = uiNamespace getVariable "RscTitleDisplayEmpty"; _index = allUserMarkers find _x; _idc = 5500 + _index; _edit = _display ctrlCreate ["RscStructuredText", _idc]; _edit2 = _display ctrlCreate ["RscStructuredText", _idc + 100]; _edit ctrlSetPosition [-2, -2, 0.05, 0.05]; _edit2 ctrlSetPosition [-2, -2, 0.05, 0.05]; _img = getText (configfile >> "cfgMarkers" >> markerType _x >> "icon"); _txt = parseText format ["<img image='%1' align='center'/>", _img]; _edit ctrlSetStructuredText _txt; _edit2 ctrlSetStructuredText _txt; _edit ctrlCommit 0; _edit2 ctrlCommit 0; currentMarkers pushBack _x; combMarkers pushBack [_idc, _x]; //}; //systemChat format ["created: %1", _x]; }; } forEach allUserMarkers; /// /// delete IF marker from [idc,marker] aint alive anymore { if !(_x in allMapMarkers) then { allUserMarkers = allUserMarkers - [_x]; currentMarkers = currentMarkers - [_x]; }; } forEach allUserMarkers; { if !((_x select 1) in allUserMarkers) then { _display = uiNamespace getVariable "RscTitleDisplayEmpty"; ctrlDelete (_display displayCtrl (_x select 0)); ctrlDelete (_display displayCtrl ((_x select 0)+100)); combMarkers = combMarkers - [_x]; }; } forEach combMarkers; /// sleep 0.2; }; }; fnc_compileCompass = { /// coordinates of compass angles compass_pos = [ [3400, -225 ,"SE" ], [3401, -210 ,"140"], [3402, -195 ,"165"], [3403, -180 ,"S" ], [3405, -165 ,"195"], [3406, -150 ,"210"], [3407, -135 ,"SW" ], [3408, -120 ,"240"], [3409, -105 ,"255"], [3410, -090 ,"W" ], [3421, -075 ,"285"], [3422, -060 ,"300"], [3423, -045 ,"NW" ], [3424, -030 ,"330"], [3425, -015 ,"345"], [3426, 0 ,"N" ], [3427, 015 ,"15" ], [3428, 030 ,"30" ], [3429, 045 ,"NE" ], [3430, 060 ,"60" ], [3431, 075 ,"75" ], [3432, 090 ,"E" ], [3433, 105 ,"105" ], [3434, 120 ,"120" ], [3435, 135 ,"SE" ], [3436, 150 ,"150" ], [3437, 165 ,"165" ], [3438, 180 ,"S" ], [3439, 195 ,"195" ], [3440, 210 ,"210" ], [3441, 225 ,"SW" ], [3442, 240 ,"240" ], [3443, 255 ,"255" ], [3445, 270 ,"W" ], [3446, 285 ,"285" ], [3447, 300 ,"300" ], [3448, 315 ,"NW" ], [3449, 330 ,"330" ], [3450, 345 ,"345" ], [3451, 360 ,"N" ], [3452, 375 ,"15" ], [3453, 390 ,"30" ], [3454, 405 ,"NE" ], [3455, 420 ,"60" ], [3456, 435 ,"75" ], [3457, 450 ,"E" ], [3458, 465 ,"105" ], [3459, 480 ,"120" ], [3460, 495 ,"SE" ], [3461, 510 ,"150" ], [3462, 525 ,"165" ], [3463, 540 ,"S" ], [3464, 555 ,"195" ], [3465, 570 ,"210" ], [3466, 585 ,"SW" ] ]; compass_pos_a3 = [ [3410, 0 ,"no" ] ]; /// _nc_lb_type = [compass_pos, compass_pos_a3]; disableSerialization; params ["_compassType", "_ncNeedle","_ncFontSize","_ncShadow","_ncFontOption", "_ncAlpha", "_ncColorOption"]; switch (_ncShadow) do { case (0): { _ncShadow = 0; }; case (1): { _ncShadow = 2; }; default { _ncShadow = 2; };}; _display = uiNamespace getVariable "RscTitleDisplayEmpty"; for "_i" from 3399 to 3499 do { ctrlDelete (_display displayCtrl _i); }; _compass = _nc_lb_type select _compassType; _compassNeedle = _display ctrlCreate ["RscStructuredText", 3399]; _compassNeedle ctrlSetPosition [-2, -2, 0.05, 0.05]; _compassNeedle ctrlSetStructuredText parseText format["<t shadow=2><t shadowColor='#ff0000' align='center' size='%1' color='#f9f9f9'>|</t>", 0.65]; for "_i" from 0 to (count _compass - 1) do { _idc = ((_compass select _i) select 0); _dir = ((_compass select _i) select 2); _arrayIndex = _i;//_compassType find _x; nc_sizeX = 0.65 * _ncFontSize; if (_arrayIndex % 6 == 3) then { nc_sizeX = 1 * _ncFontSize; }; if (_arrayIndex % 6 == 0) then { nc_sizeX = 0.8 * _ncFontSize; }; _edit = _display ctrlCreate ["RscStructuredText", _idc]; _edit ctrlSetPosition [-2, -2, 0.05, 0.05]; _var_needle = ""; switch (_ncNeedle) do { case (1): { _var_needle = _dir + "<br />|</t>"; }; case (0): { _var_needle = "|<br />" + _dir + "</t>"; }; }; _edit ctrlSetStructuredText parseText ("<t shadow=" + str _ncShadow + "><t shadowColor='#000000' align='center' size='" + str nc_sizeX + "' font='" + _ncFontOption + "' color='#" + _ncAlpha + _ncColorOption + "'>" + _var_needle); _edit ctrlCommit 0; }; }; waitUntil {!isNull player}; [] spawn fnc_showCompass; [] spawn { while {true} do { waitUntil {!isNull (findDisplay 49)}; disableSerialization; _display = findDisplay 49; _ctrl = _display ctrlCreate ["RscButton", 3399]; _ctrl ctrlSetPosition [ (1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX)), (2.2 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + safezoneY), (15 * (((safezoneW / safezoneH) min 1.2) / 40)), (1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25))]; _ctrl ctrlSetActiveColor [0.204,0.286,0.369,1]; _ctrl ctrlSetText "COMPASS OPTIONS"; _ctrl ctrlCommit 0; _ctrl buttonSetAction "(findDisplay 49) closeDisplay 1; [] call fnc_showSettings;"; waitUntil{isNull (findDisplay 49)}; }; }; Share this post Link to post Share on other sites
XDrake 11 Posted September 9, 2019 Hello, I altered my FOV and now the squad radar is stretched and "out of bounds" it seems. Is this a known issue or is there a way I can fix this? Spoiler Edit: Seems to be an error that Bohemia has to fix. Share this post Link to post Share on other sites
diwako 413 Posted September 9, 2019 3 hours ago, XDrake said: Hello, I altered my FOV and now the squad radar is stretched and "out of bounds" it seems. Is this a known issue or is there a way I can fix this? Hide contents Edit: Seems to be an error that Bohemia has to fix. Sadly, yes. There is no way to fix this on my end. I already opened up a ticket, tho we all know how much that will work out.https://feedback.bistudio.com/T136844 Share this post Link to post Share on other sites
diwako 413 Posted September 11, 2019 DUI - Squad Radar updated to 1.5.6: Quote Fixed: - ACE Pointing showing up on map and when compass was hidden due to being alone in the group #112 Updated: - PT-BR translations by aradiel #106 Changed: - Priority for custom unit specific icon is now above the buddy icon #107 Downloads:https://github.com/diwako/diwako_dui/releases/tag/1.5.6https://steamcommunity.com/sharedfiles/filedetails/?id=1638341685 1 1 Share this post Link to post Share on other sites
HBAOplus 14 Posted September 24, 2019 Hi diwako, very well work you have done! Could you please consider making a generic vehicle turret/hull indicator(like the one in ACE2 mod), using squad radar technics?Some of the vehicles(like RHS M1A2) do not have a vanilla indicator on the gunner's/commander's sight, make it hard to coordinate crew members. Thanks in advance! image illustrate: https://imgchr.com/i/ukZEwR Share this post Link to post Share on other sites
diwako 413 Posted January 11, 2020 Small update DUI - Squad Radar updated to 1.6.0: Fixed: - Show milradians twice when using compasses with milradians (#121) - Compass was rendered below ACE goggles overlay (#120) Added: - Support for IFA compasses by veteran29 (#123) - Added Custom icon support for indicators by synixebrett (#114) Updated: - Japanese translations by classicarma (#118) Downloads:https://github.com/diwako/diwako_dui/releases/tag/1.6.0https://steamcommunity.com/sharedfiles/filedetails/?id=1638341685 4 Share this post Link to post Share on other sites
LSValmont 789 Posted May 1, 2020 On 1/11/2020 at 10:29 AM, diwako said: DUI - Squad Radar updated to 1.6.0: hey @diwako, is this Compass the Russians are using yours? Share this post Link to post Share on other sites
diwako 413 Posted May 1, 2020 11 minutes ago, LSValmont said: hey @diwako, is this Compass the Russians are using yours? uuuh, can you provide a time stamp? Share this post Link to post Share on other sites
LSValmont 789 Posted May 1, 2020 1 hour ago, diwako said: uuuh, can you provide a time stamp? 34:30 top center of the screen. Share this post Link to post Share on other sites
diwako 413 Posted May 1, 2020 7 minutes ago, LSValmont said: 34:30 top center of the screen. Does not look like it, would need to see the code of that but I doubt that is available. 1 Share this post Link to post Share on other sites
diwako 413 Posted May 12, 2020 Small sneak peak from what's to come. Further ACRE/TFAR support 3 2 Share this post Link to post Share on other sites
LSValmont 789 Posted May 13, 2020 8 hours ago, diwako said: Small sneak peak from what's to come. Further ACRE/TFAR support That looks nice! Will that only work with ACRE/TFAR or also A3's default comms? Share this post Link to post Share on other sites