mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
afde7264ba
* UI - Add keybind to hide all hud elements * Handle advFatigue stamina bar * Update stringtable.xml * Update docs/wiki/framework/ui-framework.md Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com> --------- Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
2.9 KiB
2.9 KiB
layout | title | description | group | order | parent | mod | version | ||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
wiki | User Interface Framework | Explains how to use the selective user interface framework to add custom elements and toggle them using different methods. | framework | 5 | wiki | ace |
|
Only advanced elements can be modified using Selective User Interface framework, basic elements can only be changed using showHUD
SQF command.
1. Config Values
1.1 Adding an element
class ACE_UI {
class elementName {
idd = 300; // IDD of display where the element is located
elements[] = {3000, 3001}; // List of control IDCs of the elements to toggle (some can have background as a separate control, this allows grouping them together)
location = 0; // Location where the element is present (0 - anywhere, 1 - ground only, 2 - vehicle only)
// Custom conditions base class (read below)
class conditions {};
};
};
1.2 Setting an existing element
class ACE_UI {
class elementName {
// Custom conditions of where the element can be visible, each condition has its own entry (use prefixes for easy identification and prevention of overwriting)
// As soon as one condition returns `false` the element will be hidden, this can be included when adding a new element
class conditions {
my_source = "vehicle player == 'B_Heli_Attack_01_F'"; // Condition which makes the element visible only when player is in `'B_Heli_Attack_01_F'` vehicle.
};
};
};
2. Scripting
Adding new elements through scripting is currently not possible.
2.1 Setting an existing element
ace_ui_fnc_setElementVisibility
Arguments | Type | Optional (default value) | |
---|---|---|---|
0 | Source | String | Required |
1 | Set/Unset | Boolean | Required |
2 | Element Name | String | Required |
3 | Show/Hide | Boolean | Optional (default: false ) |
R | Successfully Modified | Boolean | Return value |
2.1.1 Example
["ace_reload", true, "ammoCount", false] call ace_ui_fnc_setElementVisibility;
Arguments | Explanation | |
---|---|---|
0 | "ace_reload" |
Source displayed in hint when trying to edit this element from in-game settings or in RPT when some other source tries to edit it |
1 | true |
Set element, preventing others to change it (except config, which always has priority) |
2 | "ammoCount" |
Element name to modify |
3 | false |
Hide the element |
2.2 Hide UI Keybind
There is a keybind that will hide most UI elements (Ctrl-F12 by default). It triggers an event that is listenable allowing other mods to hide their displays.
Event Key | Parameters | Locality | Type | Description |
---|---|---|---|---|
ace_ui_hideHud |
[_set] |
Local | Listen | _set=true means things should be hidden |