Communication Menu – Arma 3

From Bohemia Interactive Community
Jump to navigation Jump to search
(some formatting, added more simple expressions (untested))
m (Text replacement - "[[Arma 3 " to "[[Arma 3: ")
 
(11 intermediate revisions by 4 users not shown)
Line 3: Line 3:


The player can access it using following means:
The player can access it using following means:
* Open the '''quick command menu''' {{KeyboardShortcut|~}} and select "Communication" item
* Open the '''quick command menu''' {{Controls|~}} and select "Communication" item
* Press {{KeyboardShortcut|8}} then {{KeyboardShortcut|1}} (Reply - Communication)
* Press {{Controls|8}} then {{Controls|1}} (Reply - Communication)


Available items are announced upon adding by a [[Arma 3 Notification|notification]] and remain visualized as icons next to the commanding menu.<br>
{{Feature|arma2|For {{arma2}} and additional information, see [[Arma 2: Custom Command Menu]].}}
 
Available items are announced upon adding by a [[Arma 3: Notification|notification]] and remain visualized as icons next to the commanding menu.<br>
[[File:A3_commMenu.jpg|Communication menu and icons|500px]]
[[File:A3_commMenu.jpg|Communication menu and icons|500px]]


= Configuration =
 
== Config ==
== 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).
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).
{{Feature|informative|'CfgCommunicationMenu' is purely scripted config which requires the use of scripted function [[BIS_fnc_addCommMenuItem]]. It will not work with [[showCommandingMenu]] script command.}}


[[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 30: Line 37:
{
{
text = "Menu Comms 1";
text = "Menu Comms 1";
submenu = "#USER:MENU_COMMS_1"; // will open submenu that is defined as global variable MENU_COMMS_1
submenu = "#USER:MENU_COMMS_1"; // will open submenu that is defined as global variable MENU_COMMS_1
expression = "";
expression = "";
icon = "";
icon = "";
Line 37: Line 44:
removeAfterExpressionCall = 0;
removeAfterExpressionCall = 0;
};
};
};</syntaxhighlight>
};
</syntaxhighlight>


Available default icons:
Available default icons:
* <tt>"\a3\Ui_f\data\GUI\Cfg\CommunicationMenu\'''artillery_ca'''.paa"</tt>
* {{hl|"\a3\Ui_f\data\GUI\Cfg\CommunicationMenu\'''artillery_ca'''.paa"}}
* <tt>"\a3\Ui_f\data\GUI\Cfg\CommunicationMenu\'''attack_ca'''.paa"</tt>
* {{hl|"\a3\Ui_f\data\GUI\Cfg\CommunicationMenu\'''attack_ca'''.paa"}}
* <tt>"\a3\Ui_f\data\GUI\Cfg\CommunicationMenu\'''call_ca'''.paa"</tt>
* {{hl|"\a3\Ui_f\data\GUI\Cfg\CommunicationMenu\'''call_ca'''.paa"}}
* <tt>"\a3\Ui_f\data\GUI\Cfg\CommunicationMenu\'''cas_ca'''.paa"</tt>
* {{hl|"\a3\Ui_f\data\GUI\Cfg\CommunicationMenu\'''cas_ca'''.paa"}}
* <tt>"\a3\Ui_f\data\GUI\Cfg\CommunicationMenu\'''casheli_ca'''.paa"</tt>
* {{hl|"\a3\Ui_f\data\GUI\Cfg\CommunicationMenu\'''casheli_ca'''.paa"}}
* <tt>"\a3\Ui_f\data\GUI\Cfg\CommunicationMenu\'''defend_ca'''.paa"</tt>
* {{hl|"\a3\Ui_f\data\GUI\Cfg\CommunicationMenu\'''defend_ca'''.paa"}}
* <tt>"\a3\Ui_f\data\GUI\Cfg\CommunicationMenu\'''instructor_ca'''.paa"</tt>
* {{hl|"\a3\Ui_f\data\GUI\Cfg\CommunicationMenu\'''instructor_ca'''.paa"}}
* <tt>"\a3\Ui_f\data\GUI\Cfg\CommunicationMenu\'''mortar_ca'''.paa"</tt>
* {{hl|"\a3\Ui_f\data\GUI\Cfg\CommunicationMenu\'''mortar_ca'''.paa"}}
* <tt>"\a3\Ui_f\data\GUI\Cfg\CommunicationMenu\'''supplydrop_ca'''.paa"</tt>
* {{hl|"\a3\Ui_f\data\GUI\Cfg\CommunicationMenu\'''supplydrop_ca'''.paa"}}
* <tt>"\a3\Ui_f\data\GUI\Cfg\CommunicationMenu\'''transport_ca'''.paa"</tt>
* {{hl|"\a3\Ui_f\data\GUI\Cfg\CommunicationMenu\'''transport_ca'''.paa"}}


You can also preview pre-defined items using the [[BIS_fnc_configViewer|Splendid™ Config Viewer]].
You can also preview pre-defined items using the [[BIS_fnc_configViewer|Splendid™ Config Viewer]].


== Simple expressions ==
=== Simple expressions ===
 
<div style="display: inline-block; max-height: 40em; overflow: auto">
<div style="display: inline-block; max-height: 40em; overflow: auto">
{| class="wikitable sortable"
{| class="wikitable sortable"
Line 59: Line 68:
! Expression !! Effect !! Tested
! Expression !! Effect !! Tested
|-
|-
| 1 || Always available || {{Checkbox|yes}}
| 1 || Always available || {{Icon|checked}}
|-
|-
| 0 || Always disabled || {{Checkbox|yes}}
| 0 || Always disabled || {{Icon|checked}}
|-
|-
| cursorOnGround || Only callable when pointing at a valid position || {{Checkbox|yes}}
| cursorOnGround || Only callable when pointing at a valid position || {{Icon|checked}}
|-
|-
| IsLeader || || {{Checkbox|no}}
| IsLeader || Player has to be the leader of his group || {{Icon|checked}}
|-
|-
| IsAlone || || {{Checkbox|no}}
| IsAlone || || {{Icon|unchecked}}
|-
|-
| IsAloneInVehicle || || {{Checkbox|no}}
| IsAloneInVehicle || || {{Icon|unchecked}}
|-
|-
| IsCommander || || {{Checkbox|no}}
| IsCommander || || {{Icon|unchecked}}
|-
|-
| VehicleCommander || || {{Checkbox|no}}
| VehicleCommander || || {{Icon|unchecked}}
|-
|-
| CommandsToGunner || || {{Checkbox|no}}
| CommandsToGunner || || {{Icon|unchecked}}
|-
|-
| CommandsToPilot || || {{Checkbox|no}}
| CommandsToPilot || || {{Icon|unchecked}}
|-
|-
| NotEmpty || || {{Checkbox|no}}
| NotEmpty || || {{Icon|unchecked}}
|-
|-
| NotEmptySoldiers || || {{Checkbox|no}}
| NotEmptySoldiers || || {{Icon|unchecked}}
|-
|-
| NotEmptyCommanders || || {{Checkbox|no}}
| NotEmptyCommanders || || {{Icon|unchecked}}
|-
|-
| NotEmptyMainTeam || || {{Checkbox|no}}
| NotEmptyMainTeam || || {{Icon|unchecked}}
|-
|-
| NotEmptyRedTeam || || {{Checkbox|no}}
| NotEmptyRedTeam || || {{Icon|unchecked}}
|-
|-
| NotEmptyGreenTeam || || {{Checkbox|no}}
| NotEmptyGreenTeam || || {{Icon|unchecked}}
|-
|-
| NotEmptyBlueTeam || || {{Checkbox|no}}
| NotEmptyBlueTeam || || {{Icon|unchecked}}
|-
|-
| NotEmptyYellowTeam || || {{Checkbox|no}}
| NotEmptyYellowTeam || || {{Icon|unchecked}}
|-
|-
| NotEmptySubgroups || || {{Checkbox|no}}
| NotEmptySubgroups || || {{Icon|unchecked}}
|-
|-
| NotEmptyInVehicle || || {{Checkbox|no}}
| NotEmptyInVehicle || || {{Icon|unchecked}}
|-
|-
| SelectedTeam || || {{Checkbox|no}}
| SelectedTeam || || {{Icon|unchecked}}
|-
|-
| SelectedUnit || || {{Checkbox|no}}
| SelectedUnit || || {{Icon|unchecked}}
|-
|-
| FuelLow || || {{Checkbox|no}}
| FuelLow || || {{Icon|unchecked}}
|-
|-
| AmmoLow || || {{Checkbox|no}}
| AmmoLow || || {{Icon|unchecked}}
|-
|-
| Injured || || {{Checkbox|no}}
| Injured || || {{Icon|unchecked}}
|-
|-
| Multiplayer || || {{Checkbox|no}}
| Multiplayer || || {{Icon|unchecked}}
|-
|-
| AreActions || || {{Checkbox|no}}
| AreActions || || {{Icon|unchecked}}
|-
|-
| CursorOnGroupMember || || {{Checkbox|no}}
| CursorOnGroupMember || || {{Icon|unchecked}}
|-
|-
| CursorOnHoldingFire || || {{Checkbox|no}}
| CursorOnHoldingFire || || {{Icon|unchecked}}
|-
|-
| CursorOnEmptyVehicle || || {{Checkbox|no}}
| CursorOnEmptyVehicle || || {{Icon|unchecked}}
|-
|-
| CursorOnVehicleCanGetIn || || {{Checkbox|no}}
| CursorOnVehicleCanGetIn || || {{Icon|unchecked}}
|-
|-
| CursorOnFriendly || || {{Checkbox|no}}
| CursorOnFriendly || || {{Icon|unchecked}}
|-
|-
| CursorOnEnemy || || {{Checkbox|no}}
| CursorOnEnemy || || {{Icon|unchecked}}
|-
|-
| CursorOnGround || || {{Checkbox|no}}
| CursorOnGround || || {{Icon|unchecked}}
|-
|-
| CanSelectUnitFromBar || || {{Checkbox|no}}
| CanSelectUnitFromBar || || {{Icon|unchecked}}
|-
|-
| CanDeselectUnitFromBar || || {{Checkbox|no}}
| CanDeselectUnitFromBar || || {{Icon|unchecked}}
|-
|-
| CanSelectVehicleFromBar || || {{Checkbox|no}}
| CanSelectVehicleFromBar || || {{Icon|unchecked}}
|-
|-
| CanDeselectVehicleFromBar || || {{Checkbox|no}}
| CanDeselectVehicleFromBar || || {{Icon|unchecked}}
|-
|-
| CanSelectTeamFromBar || || {{Checkbox|no}}
| CanSelectTeamFromBar || || {{Icon|unchecked}}
|-
|-
| CanDeselectTeamFromBar || || {{Checkbox|no}}
| CanDeselectTeamFromBar || || {{Icon|unchecked}}
|-
|-
| FormationLine || || {{Checkbox|no}}
| FormationLine || || {{Icon|unchecked}}
|-
|-
| FormationDiamond || || {{Checkbox|no}}
| FormationDiamond || || {{Icon|unchecked}}
|-
|-
| SomeSelectedHoldingFire || || {{Checkbox|no}}
| SomeSelectedHoldingFire || || {{Icon|unchecked}}
|-
|-
| PlayableLeader || || {{Checkbox|no}}
| PlayableLeader || || {{Icon|unchecked}}
|-
|-
| PlayableSelected || || {{Checkbox|no}}
| PlayableSelected || || {{Icon|unchecked}}
|-
|-
| IsWatchCommanded || || {{Checkbox|no}}
| IsWatchCommanded || || {{Icon|unchecked}}
|-
|-
| IsSelectedToAdd || || {{Checkbox|no}}
| IsSelectedToAdd || || {{Icon|unchecked}}
|-
|-
| HCIsLeader || || {{Checkbox|no}}
| HCIsLeader || || {{Icon|unchecked}}
|-
|-
| HCCursorOnIcon || || {{Checkbox|no}}
| HCCursorOnIcon || || {{Icon|unchecked}}
|-
|-
| HCCursorOnIconSelectable || || {{Checkbox|no}}
| HCCursorOnIconSelectable || || {{Icon|unchecked}}
|-
|-
| HCCanSelectUnitFromBar || || {{Checkbox|no}}
| HCCanSelectUnitFromBar || || {{Icon|unchecked}}
|-
|-
| HCCanDeselectUnitFromBar || || {{Checkbox|no}}
| HCCanDeselectUnitFromBar || || {{Icon|unchecked}}
|-
|-
| HCCanSelectTeamFromBar || || {{Checkbox|no}}
| HCCanSelectTeamFromBar || || {{Icon|unchecked}}
|-
|-
| HCCanDeselectTeamFromBar || || {{Checkbox|no}}
| HCCanDeselectTeamFromBar || || {{Icon|unchecked}}
|-
|-
| HCNotEmpty || || {{Checkbox|no}}
| HCNotEmpty || || {{Icon|unchecked}}
|-
|-
| PlayerVehicleCanGetIn || || {{Checkbox|no}}
| PlayerVehicleCanGetIn || || {{Icon|unchecked}}
|-
|-
| IsXbox || || {{Checkbox|no}}
| IsXbox || || {{Icon|unchecked}}
|-
|-
| IsTeamSwitch || || {{Checkbox|no}}
| IsTeamSwitch || || {{Icon|unchecked}}
|-
|-
| CursorOnNotEmptySubgroups || || {{Checkbox|no}}
| CursorOnNotEmptySubgroups || || {{Icon|unchecked}}
|-
|-
| SomeSelectedHaveTarget || || {{Checkbox|no}}
| SomeSelectedHaveTarget || || {{Icon|unchecked}}
|-
|-
| CursorOnGroupMemberSelected || || {{Checkbox|no}}
| CursorOnGroupMemberSelected || || {{Icon|unchecked}}
|-
|-
| HCCursorOnIconSelectableSelected || || {{Checkbox|no}}
| HCCursorOnIconSelectableSelected || || {{Icon|unchecked}}
|-
|-
| HCCursorOnIconenemy || || {{Checkbox|no}}
| HCCursorOnIconenemy || || {{Icon|unchecked}}
|-
|-
| PlayerOwnRadio || || {{Checkbox|no}}
| PlayerOwnRadio || || {{Icon|unchecked}}
|-
|-
| CursorOnNeedFirstAID || || {{Checkbox|no}}
| CursorOnNeedFirstAID || || {{Icon|unchecked}}
|-
|-
| CursorOnNeedHeal || || {{Checkbox|no}}
| CursorOnNeedHeal || || {{Icon|unchecked}}
|}
|}
</div>
</div>
= 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:
* [[BIS_fnc_addCommMenuItem]]
* [[BIS_fnc_addCommMenuItem]]
Line 199: Line 211:
Number of slots is limited to 10, no pagination is implemented. Larger number is an edge case, no mission should need as many supports.
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 ==
 
=== Expression Arguments ===
 
Following arguments are passed into the expression field:
Following arguments are passed into the expression field:
  [caller, pos, target, is3D, id]
  [caller, pos, target, is3D, id]
Line 208: Line 222:
* '''id''': [[String]] - item ID as returned by [[BIS_fnc_addCommMenuItem]] function
* '''id''': [[String]] - item ID as returned by [[BIS_fnc_addCommMenuItem]] function


== Submenu ==
submenu = "#USER:MENU_COMMS_1"; {{cc|'MENU_COMMS_1' is just a global variable, can name it anything}}


[[showCommandingMenu]] '#USER:MENU_COMMS_1';  {{cc|if you wanted to show your custom menu on a keydown event or something}}
=== Submenu ===
 
<sqf>submenu = "#USER:MENU_COMMS_1"; // 'MENU_COMMS_1' is just a global variable, can be named anything</sqf>


<code>MENU_COMMS_1 =
<sqf>showCommandingMenu '#USER:MENU_COMMS_1'; // if you wanted to show your custom menu on a keydown event or something</sqf>
 
<sqf>
MENU_COMMS_1 =
[
[
{{cc|First array: "User menu" This will be displayed under the menu, bool value: has Input Focus or not.}}
// First array: "User menu" This will be displayed under the menu, bool value: has Input Focus or not.
{{cc|Note that as of version {{arma3}} 1.05, if the bool value is set to false, Custom Icons will not be displayed.}}
// 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]]],
["MenuName", false],
{{codecomment|// Syntax and semantics for following array elements:
// Syntax and semantics for following array elements:
// ["Title_in_menu", [assigned_key], "Submenu_name", CMD, <nowiki>[[</nowiki>"expression",script-string]], "isVisible", "isActive" (, optional icon path)]
// ["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
// 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
// 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.
// 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
// 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<nowiki>=</nowiki>CursorTarget,_pos<nowiki>=</nowiki>CursorPos)
// 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"
// 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.
// 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.}}
// optional icon path: The path to the texture of the cursor, that should be used on this menuitem.
["Teleport", [2], "", -5, <nowiki>[[</nowiki>"expression", "[[player]] [[setPos]] _pos;"]], "1", "1", "\A3\ui_f\data\IGUI\Cfg\Cursors\iconcursorsupport_ca.paa"],
["Teleport", [2], "", -5, [["expression", "player setPos _pos;"]], "1", "1", "\A3\ui_f\data\IGUI\Cfg\Cursors\iconcursorsupport_ca.paa"],
["Kill Target", [3], "", -5, <nowiki>[[</nowiki>"expression", "_target [[setDamage]] 1;"]], "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, <nowiki>[[</nowiki>"expression", ""]], "1", "0"],
["Disabled", [4], "", -5, [["expression", ""]], "1", "0"],
["Submenu", [5], "#USER:MENU_COMMS_2", -5, [<nowiki/>], "1", "1"]
["Submenu", [5], "#USER:MENU_COMMS_2", -5, [], "1", "1"]
];<br>
];
 
MENU_COMMS_2 =
MENU_COMMS_2 =
[
[
["Submenu", [[false]]],
["Submenu", false],
["Option 1", [2], "", -5, <nowiki>[[</nowiki>"expression", "[[hint]] 'Option 1';"]], "1", "1"],
["Option 1", [2], "", -5, [["expression", "hint 'Option 1';"]], "1", "1"],
["Option 2", [3], "", -5, <nowiki>[[</nowiki>"expression", "[[hint]] 'Option 2';"]], "1", "1"],
["Option 2", [3], "", -5, [["expression", "hint 'Option 2';"]], "1", "1"],
["Option 3", [4], "", -5, <nowiki>[[</nowiki>"expression", "[[hint]] 'Option 3';"]], "1", "1"]
["Option 3", [4], "", -5, [["expression", "hint 'Option 3';"]], "1", "1"]
];
];
</code>
</sqf>


=== Existing Submenus ===
==== Existing Submenus ====
Some of the existing submenus in {{arma3}}
Some of the existing submenus in {{arma3}}:
{| class="wikitable"
{| class="wikitable"
|-
|-
Line 270: Line 288:
| "#USER:BIS_MENU_SOM_Support" || Communication Support menu
| "#USER:BIS_MENU_SOM_Support" || Communication Support menu
|}
|}


{{GameCategory|arma3|Editing}}
{{GameCategory|arma3|Editing}}

Latest revision as of 10:38, 6 May 2024

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)
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).

'CfgCommunicationMenu' is purely scripted config which requires the use of scripted function BIS_fnc_addCommMenuItem. It will not work with showCommandingMenu script command.
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 Checked
0 Always disabled Checked
cursorOnGround Only callable when pointing at a valid position Checked
IsLeader Player has to be the leader of his group Checked
IsAlone Unchecked
IsAloneInVehicle Unchecked
IsCommander Unchecked
VehicleCommander Unchecked
CommandsToGunner Unchecked
CommandsToPilot Unchecked
NotEmpty Unchecked
NotEmptySoldiers Unchecked
NotEmptyCommanders Unchecked
NotEmptyMainTeam Unchecked
NotEmptyRedTeam Unchecked
NotEmptyGreenTeam Unchecked
NotEmptyBlueTeam Unchecked
NotEmptyYellowTeam Unchecked
NotEmptySubgroups Unchecked
NotEmptyInVehicle Unchecked
SelectedTeam Unchecked
SelectedUnit Unchecked
FuelLow Unchecked
AmmoLow Unchecked
Injured Unchecked
Multiplayer Unchecked
AreActions Unchecked
CursorOnGroupMember Unchecked
CursorOnHoldingFire Unchecked
CursorOnEmptyVehicle Unchecked
CursorOnVehicleCanGetIn Unchecked
CursorOnFriendly Unchecked
CursorOnEnemy Unchecked
CursorOnGround Unchecked
CanSelectUnitFromBar Unchecked
CanDeselectUnitFromBar Unchecked
CanSelectVehicleFromBar Unchecked
CanDeselectVehicleFromBar Unchecked
CanSelectTeamFromBar Unchecked
CanDeselectTeamFromBar Unchecked
FormationLine Unchecked
FormationDiamond Unchecked
SomeSelectedHoldingFire Unchecked
PlayableLeader Unchecked
PlayableSelected Unchecked
IsWatchCommanded Unchecked
IsSelectedToAdd Unchecked
HCIsLeader Unchecked
HCCursorOnIcon Unchecked
HCCursorOnIconSelectable Unchecked
HCCanSelectUnitFromBar Unchecked
HCCanDeselectUnitFromBar Unchecked
HCCanSelectTeamFromBar Unchecked
HCCanDeselectTeamFromBar Unchecked
HCNotEmpty Unchecked
PlayerVehicleCanGetIn Unchecked
IsXbox Unchecked
IsTeamSwitch Unchecked
CursorOnNotEmptySubgroups Unchecked
SomeSelectedHaveTarget Unchecked
CursorOnGroupMemberSelected Unchecked
HCCursorOnIconSelectableSelected Unchecked
HCCursorOnIconenemy Unchecked
PlayerOwnRadio Unchecked
CursorOnNeedFirstAID Unchecked
CursorOnNeedHeal Unchecked


Adding

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

submenu = "#USER:MENU_COMMS_1"; // 'MENU_COMMS_1' is just a global variable, can be named 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