Creating a nice CBA Rose Menu is very useful in Arma 3. You may only need to press one button and this can open a menu that has multiple options. This requires the CBA mod for Arma 3, but it is an awesome looking feature for this mod. A very easy way to make a custom menu instead of using the retarded scroll menu. But I can not find any useful documentation on this, so I need to work things out myself.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | desert_storm_fnc_Earplugs = { if (soundVolume == 1) then { 1 fadeSound 0.2; } else { 1 fadeSound 1; }; }; test_flex = { [ ["Testing", "Desert Storm Reshmaan.", "CBA_flexiMenu_rscRose"], [ ["Player Menu", { (findDisplay 49) closeDisplay 0; _ok = createDialog "MyDialog"; true }, "", "", [], 0x12, true, true], ["Earplugs", { _this call desert_storm_fnc_Earplugs; true }, "", "", [], 0x12, true, true], ["Mission information.", { _nul = call KER_fnc_openpage; true }, "", "", [], 0x12, true, true], ["Dynamic groups.", { _ok = createDialog 'RscDisplayDynamicGroups'; true }, "", "", [], 0x12, true, true], ["RHS Options menu.", { _n = createDialog 'RHS_Options_Menu'; true }, "", "", [], 0x12, true, true] ] ]; }; ["Test Mod", "Open Menu", ["player", [], -100, "_this call test_flex"], [0xDC, false, false, false] ] call CBA_fnc_registerKeybindToFleximenu; |
Put the code above into the initPlayerLocal.sqf file. This will create a lovely menu when the right Windows key is pressed. This is a very easy way to make a CBA Rose Menu work in Arma 3.
This version of the Rose menu has icons and tooltips when you hover over each option.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | desert_storm_fnc_Earplugs = { if (soundVolume == 1) then { 1 fadeSound 0.2; } else { 1 fadeSound 1; }; }; test_flex = { [ ["Testing", "Desert Storm Reshmaan", "CBA_flexiMenu_rscRose"], [ ["Heal yourself.", { (findDisplay 49) closeDisplay 0; _ok = createDialog "MyDialog"; true }, "\A3\ui_f\data\map\mapcontrol\taskIconCreated_ca.paa", "Open a player menu.", [], 0x12, true, true], ["Earplugs", { _this call desert_storm_fnc_Earplugs; true }, "\a3\ui_f\data\igui\cfg\simpletasks\letters\e_ca.paa", "Use earplugs.", [], 0x12, true, true], ["Mission information.", { _nul = call KER_fnc_openpage; true }, "\A3\ui_f\data\map\mapcontrol\taskIcon_ca.paa", "Pertinent background information about the mission.", [], 0x12, true, true], ["Dynamic groups.", { _ok = createDialog 'RscDisplayDynamicGroups'; true }, "\UK3CB_Factions\addons\UK3CB_Factions_ANA\Flag\ana_marker_co.paa", "Dynamic groups dialog.", [], 0x12, true, true], ["RHS Options menu.", { _n = createDialog 'RHS_Options_Menu'; true }, "\rhsafrf\addons\rhs_main\data\rhs_logo_ca.paa", "Open the RHS options menu.", [], 0x12, true, true] ] ]; }; ["Desert Storm Reshmaan", "Open Menu", ["player", [], -100, "_this call test_flex"], [0xDC, false, false, false] ] call CBA_fnc_registerKeybindToFleximenu; |
See the screenshot below. This shows the all-new menu in action.
Use this code to create a custom pause menu in Arma 3.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | [missionNamespace,"OnGameInterrupt", { _this spawn { params ["_display"]; _display displayCtrl 2 ctrlSetText "Player Menu."; _display displayCtrl 103 ctrlShow false; _display displayCtrl 115099 ctrlShow false; _display displayCtrl 523 ctrlShow false; _display displayCtrl 104 ctrlSetText "Quit current mission..."; _display displayCtrl 2 ctrlSetBackgroundColor [0.7, 0.3, 0.9, 1]; _display displayCtrl 2 ctrlAddEventHandler ["MouseButtonDown",{(findDisplay 49) closeDisplay 0; _ok = createDialog "MyDialog";}]; _display displayCtrl 1005 ctrlSetText format ["CO80 Afghan ops. %1 : Arma 3 v%2.%3!", "1.80", (productVersion select 2), (productVersion select 3)]; _display displayCtrl 120 ctrlSetText "Enemy insurgents have invaded Afghanistan. Destroy their assets and remove all enemies. Hold the Alt key and then use - and + keys to change the view distance."; _display displayCtrl 6455 ctrlShow true; _display displayCtrl 6455 ctrlSetText format ["%1", profileName]; }; }] call BIS_fnc_addScriptedEventHandler; |