Arma 3: Communication Menu
- Also known as Arma 3 Communication Menu
Topic · Markdown · JSON · original wiki page
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)
Note
Arma 2: For Arma 2 and additional information, see Arma 2: Custom Command Menu.
Available items are announced upon adding by a notification and remain visualized as icons next to the commanding menu.
Communication menu and icons
Configuration
Config
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).
Note
'CfgCommunicationMenu' is purely scripted config which requires the use of scripted function BIS_fnc_addCommMenuItem. It will not work with showCommandingMenu script command.
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 | ✓ |
| 0 | Always disabled | ✓ |
| cursorOnGround | Only callable when pointing at a valid position | ✓ |
| IsLeader | Player has to be the leader of his group | ✓ |
| IsAlone | ✗ | |
| IsAloneInVehicle | ✗ | |
| IsCommander | ✗ | |
| VehicleCommander | ✗ | |
| CommandsToGunner | ✗ | |
| CommandsToPilot | ✗ | |
| NotEmpty | ✗ | |
| NotEmptySoldiers | ✗ | |
| NotEmptyCommanders | ✗ | |
| NotEmptyMainTeam | ✗ | |
| NotEmptyRedTeam | ✗ | |
| NotEmptyGreenTeam | ✗ | |
| NotEmptyBlueTeam | ✗ | |
| NotEmptyYellowTeam | ✗ | |
| NotEmptySubgroups | ✗ | |
| NotEmptyInVehicle | ✗ | |
| SelectedTeam | ✗ | |
| SelectedUnit | ✗ | |
| FuelLow | ✗ | |
| AmmoLow | ✗ | |
| Injured | ✗ | |
| Multiplayer | ✗ | |
| AreActions | ✗ | |
| CursorOnGroupMember | ✗ | |
| CursorOnHoldingFire | ✗ | |
| CursorOnEmptyVehicle | ✗ | |
| CursorOnVehicleCanGetIn | ✗ | |
| CursorOnFriendly | ✗ | |
| CursorOnEnemy | ✗ | |
| CursorOnGround | ✗ | |
| CanSelectUnitFromBar | ✗ | |
| CanDeselectUnitFromBar | ✗ | |
| CanSelectVehicleFromBar | ✗ | |
| CanDeselectVehicleFromBar | ✗ | |
| CanSelectTeamFromBar | ✗ | |
| CanDeselectTeamFromBar | ✗ | |
| FormationLine | ✗ | |
| FormationDiamond | ✗ | |
| SomeSelectedHoldingFire | ✗ | |
| PlayableLeader | ✗ | |
| PlayableSelected | ✗ | |
| IsWatchCommanded | ✗ | |
| IsSelectedToAdd | ✗ | |
| HCIsLeader | ✗ | |
| HCCursorOnIcon | ✗ | |
| HCCursorOnIconSelectable | ✗ | |
| HCCanSelectUnitFromBar | ✗ | |
| HCCanDeselectUnitFromBar | ✗ | |
| HCCanSelectTeamFromBar | ✗ | |
| HCCanDeselectTeamFromBar | ✗ | |
| HCNotEmpty | ✗ | |
| PlayerVehicleCanGetIn | ✗ | |
| IsXbox | ✗ | |
| IsTeamSwitch | ✗ | |
| CursorOnNotEmptySubgroups | ✗ | |
| SomeSelectedHaveTarget | ✗ | |
| CursorOnGroupMemberSelected | ✗ | |
| HCCursorOnIconSelectableSelected | ✗ | |
| HCCursorOnIconenemy | ✗ | |
| PlayerOwnRadio | ✗ | |
| CursorOnNeedFirstAID | ✗ | |
| CursorOnNeedHeal | ✗ |
Add Menu Item
Use the 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.
Note
See all Communication Menu functions.
Submenu
Config
submenu = "#USER:MENU_COMMS_1"; // "MENU_COMMS_1" is just a global variable, can be named anything
SQF
A submenu is an array in format [menuInfo, item1, item2, ... itemX]:
- menuInfo: Array format [menuName, hasInputFocus]:
- itemX: Array format [itemName, assignedKey, submenuName, command, expression, isVisible, isActive, iconPath]:
- itemName: String - displayed title
- assignedKey: Array of Numbers (see DIK KeyCodes) - e.g 0 = no key, 1 = Esc, etc
- submenuName: String - user menu name string (e.g "#USER:MY_SUBMENU_NAME"), "" for script to execute.
- command: Number - for main menu, -1 = CMD_SEPARATOR, -2 = CMD_NOTHING, -3 = CMD_HIDE_MENU, -4 = CMD_BACK, -5 (custom menu only) = CMD_EXECUTE
- expression: Array of Strings format [type, codeString]:
- isVisible: String - visibility condition; "1" for true, "0" for false, or optional argument string e.g "CursorOnGround"
- isActive: String - enabled condition; "1" for true, "0" for false, or optional argument string e.g "CursorOnGround"
- iconPath: String - (Optional, default "") cursor icon path for this menu item
Example
MENU_COMMS_1 =
[
["MenuName", false],
["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"]
];
showCommandingMenu "#USER:MENU_COMMS_1"; // displays the custom menu
Existing Submenus
Some of the existing submenus:
| 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 |