Home Scripting Commands GUI Control - Event Handlers inGameUISetEventHandler inGameUISetEventHandler
Local effect Arma 3 v0.50 First in Armed Assault v1.00
Command · also in Event Handlers , Interaction · Markdown · JSON · original wiki page
Description
Sets given event handler of in-game UI. If EH function returns true , performed action is overridden. Event handlers available are:
"PrevAction" - mouse scroll up
"Action" - action key press
"NextAction" - mouse scroll down
In order to remove a previously added event handler, set it again with an empty code string "".
Note
Since Arma 3 v2.22 consider using hideActions
Important
This is a "set" command, which means event handlers are not stackable and will replace previously set event handlers of the same type.
Note
Arma 3: Since Arma 3 v1.50 the event handler receives an array of the selected/activated action's arguments in _this variable:
params ["_target" , "_caller" , "_index" , "_engineName" , "_text" , "_priority" , "_showWindow" , "_hideOnUse" , "_shortcut" , "_visibleMenu" , "_eventName" ];
_target: Object - target object to which action is attached
_caller: Object - caller object, basically player
_index: Number - index of the action in action menu (0 - top most)
_engineName: String - engine based action name ("User" for user added actions)
_text: String - localize d action plain text as seen by the caller
_priority: Number - action priority value
_showWindow: Boolean - action showWindow value
_hideOnUse: Boolean - action hideOnUse value
_shortcut: String - action shortcut name or ""
_visibleMenu: Boolean - action menu visibility - on first scroll or action press the menu is still invisible, the menu is shown but no action is performed
_eventName: String - event name
Syntax
inGameUISetEventHandler [handlerName, code]
Parameters:
Returns: Nothing
Examples
Example 1
inGameUISetEventHandler ["Action" , "hint 'Lights, Camera, Action!'; true" ];
sleep 10 ;
inGameUISetEventHandler ["Action" , "" ];
Example 2
inGameUISetEventHandler ["PrevAction" , "hint str _this; false" ];
inGameUISetEventHandler ["NextAction" , "hint str _this; false" ];
inGameUISetEventHandler ["Action" , "hint str _this; false" ];
Example 3
Deny any weapon disassembly:
inGameUISetEventHandler ["Action" , "
if (_this select 3 == 'DisAssemble') then {
hint 'You are not allowed to do this';
true
}
" ];
Example 4
Detect explosive/mine placement:
private _onMagazineUse = '
params ["_target", "", "", "_action", "", "", "", "", "", "", "_event"];
if (_action == "UseMagazine") then {
if (_event == "Action") then {
_target spawn {
waitUntil {!(all_magazines isEqualTo magazines _this)};
{
0 = all_magazines deleteAt (all_magazines find _x);
} count magazines _this;
hint format ["Magazine Used: %1", all_magazines select 0];
};
} else {
all_magazines = magazines _target;
};
};
false
' ;
inGameUISetEventHandler ["PrevAction" , _onMagazineUse ];
inGameUISetEventHandler ["NextAction" , _onMagazineUse ];
inGameUISetEventHandler ["Action" , _onMagazineUse ];
See also
isActionMenuVisible · addEventHandler · ctrlAddEventHandler · displayAddEventHandler · actionIDs · actionParams · addAction · setUserActionText · showHUD · inputAction · removeAction · removeAllActions · action · enableWeaponDisassembly
In case of the "Action" event, (_showWindow || _visibleMenu ) also denotes if the action is performed or not. For example, if the action menu is closed or fading off, pressing Spacebar will bring it up and trigger an "Action" event; in that case, _visibleMenu is false. But if the action menu is open, and Spacebar is pressed to perform the selected action, then _visibleMenu will be true. If _showWindow is true, then it means the action was performed, regardless of _visibleMenu .