Difference between revisions of "Arma 3: Communication Menu"

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "{{Checkbox|yes}}" to "{{Icon|checked}}")
m (Text replacement - "};</syntaxhighlight>" to "}; </syntaxhighlight>")
(2 intermediate revisions by 2 users not shown)
Line 14: Line 14:
[[File:CommunicationMenuIconsA3Beta.jpg|thumb|Preview and path for icons]]
[[File:CommunicationMenuIconsA3Beta.jpg|thumb|Preview and path for icons]]
<syntaxhighlight lang="cpp">class CfgCommunicationMenu
<syntaxhighlight lang="cpp">
class CfgCommunicationMenu
class myArtillery
class myArtillery
Line 37: Line 38:
removeAfterExpressionCall = 0;
removeAfterExpressionCall = 0;
Available default icons:
Available default icons:
Line 65: Line 67:
| cursorOnGround || Only callable when pointing at a valid position || {{Icon|checked}}
| cursorOnGround || Only callable when pointing at a valid position || {{Icon|checked}}
| IsLeader  || || {{Icon|unchecked}}
| IsLeader  || Player has to be the leader of his group || {{Icon|checked}}
| IsAlone ||  || {{Icon|unchecked}}
| IsAlone ||  || {{Icon|unchecked}}
Line 192: Line 194:
= Adding =
= Adding =
Use following functions to add the item in your mission or system:
Use following functions to add the item in your mission or system:

Revision as of 10:07, 25 May 2021

Communication menu is a commanding menu where support or mission requests are placed.

The player can access it using following means:

  • Open the quick command menu ~ and select "Communication" item
  • Press 8 then 1 (Reply - Communication)

Available items are announced upon adding by a notification and remain visualized as icons next to the commanding menu.
Communication menu and icons



Communication menu items can be defined in config - global Config.cpp, Campaign Description.ext or mission Description.ext (searched in this order, the latter has the highest priority).

Preview and path for icons
class CfgCommunicationMenu
	class myArtillery
		text = "Artillery Strike";		// Text displayed in the menu and in a notification
		submenu = "";					// Submenu opened upon activation (expression is ignored when submenu is not empty.)
		expression = "player setVariable ['BIS_SUPP_request', ['Artillery', _pos]];";	// Code executed upon activation
		icon = "\a3\Ui_f\data\GUI\Cfg\CommunicationMenu\artillery_ca.paa";				// Icon displayed permanently next to the command menu
		cursor = "\a3\Ui_f\data\IGUI\Cfg\Cursors\iconCursorSupport_ca.paa";				// Custom cursor displayed when the item is selected
		enable = "1";					// Simple expression condition for enabling the item
		removeAfterExpressionCall = 1;	// 1 to remove the item after calling

	class menu_comms_1
		text = "Menu Comms 1";
		submenu = "#USER:MENU_COMMS_1";  // will open submenu that is defined as global variable MENU_COMMS_1
		expression = "";
		icon = "";
		cursor = "";
		enable = "1";
		removeAfterExpressionCall = 0;

Available default icons:

  • "\a3\Ui_f\data\GUI\Cfg\CommunicationMenu\artillery_ca.paa"
  • "\a3\Ui_f\data\GUI\Cfg\CommunicationMenu\attack_ca.paa"
  • "\a3\Ui_f\data\GUI\Cfg\CommunicationMenu\call_ca.paa"
  • "\a3\Ui_f\data\GUI\Cfg\CommunicationMenu\cas_ca.paa"
  • "\a3\Ui_f\data\GUI\Cfg\CommunicationMenu\casheli_ca.paa"
  • "\a3\Ui_f\data\GUI\Cfg\CommunicationMenu\defend_ca.paa"
  • "\a3\Ui_f\data\GUI\Cfg\CommunicationMenu\instructor_ca.paa"
  • "\a3\Ui_f\data\GUI\Cfg\CommunicationMenu\mortar_ca.paa"
  • "\a3\Ui_f\data\GUI\Cfg\CommunicationMenu\supplydrop_ca.paa"
  • "\a3\Ui_f\data\GUI\Cfg\CommunicationMenu\transport_ca.paa"

You can also preview pre-defined items using the Splendid™ Config Viewer.

Simple expressions

Expression Effect Tested
1 Always available Ico ok.png
0 Always disabled Ico ok.png
cursorOnGround Only callable when pointing at a valid position Ico ok.png
IsLeader Player has to be the leader of his group Ico ok.png
IsAlone Ico none.png
IsAloneInVehicle Ico none.png
IsCommander Ico none.png
VehicleCommander Ico none.png
CommandsToGunner Ico none.png
CommandsToPilot Ico none.png
NotEmpty Ico none.png
NotEmptySoldiers Ico none.png
NotEmptyCommanders Ico none.png
NotEmptyMainTeam Ico none.png
NotEmptyRedTeam Ico none.png
NotEmptyGreenTeam Ico none.png
NotEmptyBlueTeam Ico none.png
NotEmptyYellowTeam Ico none.png
NotEmptySubgroups Ico none.png
NotEmptyInVehicle Ico none.png
SelectedTeam Ico none.png
SelectedUnit Ico none.png
FuelLow Ico none.png
AmmoLow Ico none.png
Injured Ico none.png
Multiplayer Ico none.png
AreActions Ico none.png
CursorOnGroupMember Ico none.png
CursorOnHoldingFire Ico none.png
CursorOnEmptyVehicle Ico none.png
CursorOnVehicleCanGetIn Ico none.png
CursorOnFriendly Ico none.png
CursorOnEnemy Ico none.png
CursorOnGround Ico none.png
CanSelectUnitFromBar Ico none.png
CanDeselectUnitFromBar Ico none.png
CanSelectVehicleFromBar Ico none.png
CanDeselectVehicleFromBar Ico none.png
CanSelectTeamFromBar Ico none.png
CanDeselectTeamFromBar Ico none.png
FormationLine Ico none.png
FormationDiamond Ico none.png
SomeSelectedHoldingFire Ico none.png
PlayableLeader Ico none.png
PlayableSelected Ico none.png
IsWatchCommanded Ico none.png
IsSelectedToAdd Ico none.png
HCIsLeader Ico none.png
HCCursorOnIcon Ico none.png
HCCursorOnIconSelectable Ico none.png
HCCanSelectUnitFromBar Ico none.png
HCCanDeselectUnitFromBar Ico none.png
HCCanSelectTeamFromBar Ico none.png
HCCanDeselectTeamFromBar Ico none.png
HCNotEmpty Ico none.png
PlayerVehicleCanGetIn Ico none.png
IsXbox Ico none.png
IsTeamSwitch Ico none.png
CursorOnNotEmptySubgroups Ico none.png
SomeSelectedHaveTarget Ico none.png
CursorOnGroupMemberSelected Ico none.png
HCCursorOnIconSelectableSelected Ico none.png
HCCursorOnIconenemy Ico none.png
PlayerOwnRadio Ico none.png
CursorOnNeedFirstAID Ico none.png
CursorOnNeedHeal Ico none.png


Use following functions to add the item in your mission or system:

Number of slots is limited to 10, no pagination is implemented. Larger number is an edge case, no mission should need as many supports.

Expression Arguments

Following arguments are passed into the expression field:

[caller, pos, target, is3D, id]


submenu = "#USER:MENU_COMMS_1"; // 'MENU_COMMS_1' is just a global variable, can name it anything
showCommandingMenu '#USER:MENU_COMMS_1';  // if you wanted to show your custom menu on a keydown event or something

MENU_COMMS_1 = [ // First array: "User menu" This will be displayed under the menu, bool value: has Input Focus or not. // Note that as of version Arma 3 1.05, if the bool value is set to false, Custom Icons will not be displayed. ["MenuName", false], // Syntax and semantics for following array elements: // ["Title_in_menu", [assigned_key], "Submenu_name", CMD, [["expression",script-string]], "isVisible", "isActive" (, optional icon path)] // Title_in_menu: string that will be displayed for the player // Assigned_key: 0 - no key, 1 - escape key, 2 - key-1, 3 - key-2, ... , 10 - key-9, 11 - key-0, 12 and up... the whole keyboard // Submenu_name: User menu name string (eg "#USER:MY_SUBMENU_NAME" ), "" for script to execute. // CMD: (for main menu:) CMD_SEPARATOR -1; CMD_NOTHING -2; CMD_HIDE_MENU -3; CMD_BACK -4; (for custom menu:) CMD_EXECUTE -5 // script-string: command to be executed on activation. (_target=CursorTarget,_pos=CursorPos) // isVisible - Boolean 1 or 0 for yes or no, - or optional argument string, eg: "CursorOnGround" // isActive - Boolean 1 or 0 for yes or no - if item is not active, it appears gray. // optional icon path: The path to the texture of the cursor, that should be used on this menuitem. ["Teleport", [2], "", -5, [["expression", "player setPos _pos;"]], "1", "1", "\A3\ui_f\data\IGUI\Cfg\Cursors\iconcursorsupport_ca.paa"], ["Kill Target", [3], "", -5, [["expression", "_target setDamage 1;"]], "1", "1", "\A3\ui_f\data\IGUI\Cfg\Cursors\iconcursorsupport_ca.paa"], ["Disabled", [4], "", -5, [["expression", ""]], "1", "0"], ["Submenu", [5], "#USER:MENU_COMMS_2", -5, [], "1", "1"] ];
MENU_COMMS_2 = [ ["Submenu", false], ["Option 1", [2], "", -5, [["expression", "hint 'Option 1';"]], "1", "1"], ["Option 2", [3], "", -5, [["expression", "hint 'Option 2';"]], "1", "1"], ["Option 3", [4], "", -5, [["expression", "hint 'Option 3';"]], "1", "1"] ];

Existing Submenus

Some of the existing submenus in Arma 3

Menu Menu Location
"#User:BIS_fnc_addCommMenuItem_menu" Group/Reply communication menu /High Command Group reply menu
"#User:BIS_MENU_GroupCommunication" High Command/UAV Reply communication menu
"#USER:BIS_VR_commMenu_1" VR Training Mission menu
"#USER:HCWPWaitRadio" High Command/UAV Waypoints waitRadio menu
"#USER:HCWPWaitUntil" High Command/UAV Waypoints waitUnitl menu
"#USER:HC_Custom_0" High Command/UAV Action menu
"#USER:HC_Missions_0" High Command/UAV Missions menu
"#USER:HC_Targets_0" High Command/UAV Targets menu
"#USER:BIS_fnc_kbMenu_menu" Conversation menu
"#USER:BIS_MENU_SOM_SecOps" Communication menu
"#USER:BIS_MENU_SOM_Support" Communication Support menu