<- Back to full API list
Global FunctionUI and Dialogs

RadioGroup(options, defaultIndex)

Creates a single-selection option group for dialogs.

Detailed Explanation

This section explains when to use the API, how to call it, and which structures it works best with in production flow.

What It Does

RadioGroup(options, defaultIndex) performs one focused job in script flow and can be chained cleanly with other API steps. Creates a single-selection option group for dialogs.

When To Use It

In dialog and HUD flow, validate user input and complete the sequence with close/dispose steps to keep the UI stable. This API becomes most valuable in multi-step chained scenarios.

Parameters and Return

options, defaultIndex define the purpose of the call; preparing them in clearly named variables before execution makes production debugging easier. The safest usage pattern is to store the call result in a variable, wrap it with pcall, and pass it into later steps in a controlled way.

Best Combined With

You can combine it with Setting.builder(), Dialog, Checkbox, EditText, Hud, and Console to build richer operator-facing flows.

Example Usage

The snippet below is a starter pattern that can be applied directly in runtime flow.

lua
RadioGroup({"Slow", "Fast"}, 0)

Copyable Progressive Examples

From foundation to combined usage, each level is provided as a separate code block so you can copy the level you need and adapt it directly.

Foundation

Shows the shortest direct way to call the API.

Foundation
lua
RadioGroup({"Slow", "Fast"}, 0)

Simple

Wraps the base call with minimal flow control.

Simple
lua
local stepOk = true
RadioGroup({"Slow", "Fast"}, 0)
if stepOk then
  wait(200)
end

Practical Flow

A practical pattern for real macros with pcall, logging, and guards.

Practical Flow
lua
local ok, result = pcall(function()
  RadioGroup({"Slow", "Fast"}, 0)
end)

if not ok then
  print("API step failed: RadioGroup(options, defaultIndex)")
  requestStop()
end

Detailed

This level packages the API into a reusable helper with error reporting.

Detailed
lua
-- In dialog and HUD flow, validate user input and complete the sequence with close/dispose steps to keep the UI stable.
local function run_radiogroup_step()
  RadioGroup({"Slow", "Fast"}, 0)
end

local ok, err = pcall(run_radiogroup_step)
if not ok then
  toast("Step failed")
  print(err)
end

Combined

Combines the API with related structures to form a more realistic workflow.

Combined
lua
local dialog = Setting.builder()
dialog:add("delay", EditText("500", 1, "Delay"))
dialog:add("enabled", Checkbox(true, "Enabled"))
Setting.setDialog(dialog:build())
Setting.show()
RadioGroup({"Slow", "Fast"}, 0)