gui
Info
If you need to get a container ID or an existing control ID, enable SCRIPTS > General > Debug mode and hover on a groupbox or any element.
Info
You can stack most control in line with other controls. To do that, pass the ID of a control that already exists into the container_id argument of the function.
is_menu_open
gui.is_menu_open() -> bool
Returns true if the menu window is open.
Usage
if gui.is_menu_open() then
-- ...
end
get_menu_rect
gui.get_menu_rect() -> number, number, number, number
Returns menu window rectangle.
Usage
local x1, y1, x2, y2 = gui.get_menu_rect();
checkbox
gui.checkbox(id: string, container_id: string, label: string) -> checkbox
Creates a new checkbox.
Parameters
| Name | Type | Description |
|---|---|---|
id |
string | ID |
container_id |
string | Container ID |
label |
string | Label |
Usage
local item = gui.checkbox('scripts.elements_a.test', 'scripts.elements_a', 'My item');
get_checkbox
gui.get_checkbox(id: string) -> checkbox
Returns an existing checkbox or nil if not found.
Parameters
| Name | Type | Description |
|---|---|---|
id |
string | ID |
Usage
local item = gui.get_checkbox('scripts.elements_a.test');
slider
gui.slider(id: string, container_id: string, label: string, min: number, max: number, format: string = '%.0f', step: number = 1.0) -> slider
Creates a new slider.
Note
Format argument documentation: here
Parameters
| Name | Type | Description |
|---|---|---|
id |
string | ID |
container_id |
string | Container ID |
label |
string | Label |
min |
number | Minimal value |
max |
number | Maximal value |
format |
string | Display format. Defaults to %.0f |
step |
number | Step value. Defaults to 1.0 |
Usage
local item = gui.slider('scripts.elements_a.test', 'scripts.elements_a', 'My item', 0, 100);
get_slider
gui.get_slider(id: string) -> slider
Returns an existing slider or nil if not found.
Parameters
| Name | Type | Description |
|---|---|---|
id |
string | ID |
Usage
local item = gui.get_slider('scripts.elements_a.test');
combobox
gui.combobox(id: string, container_id: string, label: string, values: string...) -> combobox
Creates a new combobox.
Parameters
| Name | Type | Description |
|---|---|---|
id |
string | ID |
container_id |
string | Container ID |
label |
string | Label |
values |
string... | Items |
Usage
local item = gui.combobox('scripts.elements_a.test', 'scripts.elements_a', 'My item', 'Item 1', 'Item 2', 'Item 3');
combobox
gui.combobox(id: string, container_id: string, label: string, is_multi: bool, values: string...) -> combobox
Creates a new (multiselect-)combobox.
Parameters
| Name | Type | Description |
|---|---|---|
id |
string | ID |
container_id |
string | Container ID |
label |
string | Label |
is_multi |
bool | Determines if this combobox should act as a multiselect |
values |
string... | Items |
Usage
local item = gui.combobox('scripts.elements_a.test', 'scripts.elements_a', 'My item', true, 'Item 1', 'Item 2', 'Item 3');
get_combobox
gui.get_combobox(id: string) -> combobox
Returns an existing combobox or nil if not found.
Parameters
| Name | Type | Description |
|---|---|---|
id |
string | ID |
Usage
local item = gui.get_combobox('scripts.elements_a.test');
button
gui.button(id: string, container_id: string, label: string) -> button
Creates a new button.
Parameters
| Name | Type | Description |
|---|---|---|
id |
string | ID |
container_id |
string | Container ID |
label |
string | Label |
Usage
local item = gui.button('scripts.elements_a.test', 'scripts.elements_a', 'My item');
get_button
gui.get_button(id: string) -> button
Returns an existing button or nil if not found.
Parameters
| Name | Type | Description |
|---|---|---|
id |
string | ID |
Usage
local item = gui.get_button('scripts.elements_a.test');
label
gui.label(id: string, container_id: string, label: string) -> label
Creates a new label.
Parameters
| Name | Type | Description |
|---|---|---|
id |
string | ID |
container_id |
string | Container ID |
label |
string | Label |
Usage
local item = gui.label('scripts.elements_a.test', 'scripts.elements_a', 'My item');
get_label
gui.get_label(id: string) -> label
Returns an existing label or nil if not found.
Parameters
| Name | Type | Description |
|---|---|---|
id |
string | ID |
Usage
local item = gui.get_label('scripts.elements_a.test');
textbox
gui.textbox(id: string, container_id: string) -> textbox
Creates a new textbox.
Parameters
| Name | Type | Description |
|---|---|---|
id |
string | ID |
container_id |
string | Container ID |
Usage
local item = gui.textbox('scripts.elements_a.test', 'scripts.elements_a');
get_textbox
gui.get_textbox(id: string) -> textbox
Returns an existing textbox or nil if not found.
Parameters
| Name | Type | Description |
|---|---|---|
id |
string | ID |
Usage
local item = gui.get_textbox('scripts.elements_a.test');
color_picker
gui.color_picker(id: string, container_id: string, label: string, default: table, allow_alpha: bool = true) -> color_picker
Creates a new color picker.
Parameters
| Name | Type | Description |
|---|---|---|
id |
string | ID |
container_id |
string | Container ID |
label |
string | Label |
default |
table | Default color |
allow_alpha |
bool | Determines whether this item should allow alpha modification. Defaults to true |
Usage
local item = gui.color_picker('scripts.elements_a.test', 'scripts.elements_a', 'My item', render.color('#fff'));
get_color_picker
gui.get_color_picker(id: string) -> color_picker
Returns an existing color picker or nil if not found.
Parameters
| Name | Type | Description |
|---|---|---|
id |
string | ID |
Usage
local item = gui.get_color_picker('scripts.elements_a.test');
for_each_hotkey
gui.for_each_hotkey(fn: (string, number, number, bool))
Loops through all bound keys.
Callback parameters
| Name | Type | Description |
| ---- | ---- | ----------- |
| name | string | Item name |
| key | number | Active key (documentation) |
| mode | enum | Hotkey mode |
| is_active | bool | True if currently active |
Parameters
| Name | Type | Description |
|---|---|---|
fn |
function(string, number, number, bool) | Callback function |
Usage
gui.for_each_hotkey(function (name, key, mode, is_active)
print('Hotkey ' .. name .. ':');
print('\tkey = ' .. tostring(key));
print('\tmode = ' .. tostring(mode));
print('\tis_active = ' .. tostring(is_active));
end);
add_notification
gui.add_notification(title: string, message: string)
Adds a new notification.
Parameters
| Name | Type | Description |
|---|---|---|
title |
string | Title |
message |
string | Message |
Usage
gui.add_notification('Hello', 'This lua was loaded!');
show_message
gui.show_message(id: string, title: string, message: string)
Shows a message box.
Note
Message contents will be automatically wrapped and centered.
Parameters
| Name | Type | Description |
|---|---|---|
id |
string | Message box ID |
title |
string | Title |
message |
string | Message |
Usage
gui.show_message('my_message', 'Hello!', 'Click OK to close this message.');
show_dialog
gui.show_dialog(id: string, title: string, message: string, buttons: enum, callback: (enum))
Shows a dialog box.
Note
Message contents will be automatically wrapped and centered.
Parameters
| Name | Type | Description |
|---|---|---|
id |
string | Message box ID |
title |
string | Title |
message |
string | Message |
button |
enum | Dialog box buttons |
callback |
function(enum) | Result callback |
Usage
gui.show_dialog('my_dialog', 'Hello!', 'Do you like cats?', gui.dialog_buttons_yes_no, function (res)
if res == gui.dialog_result_affirmative then
gui.show_message('my_message', 'Hey!', 'Me too ^^');
else
gui.show_message('my_message', ':(', 'What about otters?');
end
end);