Also has everything from ElementHandle.
A slider. Value is always kept inside [min, max].
| |
|---|
| Value type | number (clamped to [min, max]) |
| Created by | Section:AddSlider |
Creation
section:AddSlider(key, label, default, min, max, step, prefix?, suffix?)
Increment for nudge and optional snap.
Text shown before the number.
Text shown after the number, e.g. "%".
SetValue
slider:SetValue(value: number, snapToStep: boolean?): ()
Set the value. Always clamped into range. Pass true for snapToStep to round to the nearest step.
SetFromAlpha
slider:SetFromAlpha(alpha: number): ()
Set using 0..1 instead of the real range. 0.5 is the middle.
SetFromText
slider:SetFromText(text: string): boolean
Try to set from a typed-in string. Returns true if the string was valid.
GetAlpha
slider:GetAlpha(): number
Current value as 0..1.
Nudge
slider:Nudge(direction: number): ()
Bump the value up (+1) or down (-1) by a sensible amount.
SetValueTextOverrides
slider:SetValueTextOverrides(map: { [number]: string }): ()
Show custom text for specific numbers, e.g. { [0] = "Off" } displays “Off” instead of 0.
Example
local vol = section:AddSlider("volume", "Volume", 50, 0, 100, 1, nil, "%")
vol:SetValueTextOverrides({ [0] = "Mute" })
vol:SetFromAlpha(0.75)
-- Listen to the display string (not the raw number):
vol:Watch("formattedValue", function(s) print(s) end)