Menu API #
ImGui widgets for script settings panels (
onMenu/sdk2.Menu.*).
core.menu.Checkbox #
core.menu.Checkbox(name, value)
Toggle. Returns updated boolean.
enabled = core.menu.Checkbox("Enable", enabled)
core.menu.SliderInt #
core.menu.SliderInt(name, value, min, max)
Integer slider. Returns updated value.
delay = core.menu.SliderInt("Delay frames", delay, 0, 30)
core.menu.SliderFloat #
core.menu.SliderFloat(name, value, min, max)
Float slider. Returns updated value.
Demo:
speed = core.menu.SliderFloat("Speed", speed, 0.0, 1.0)
core.menu.Combo #
core.menu.Combo(name, index, items)
items is Lua array of strings. Returns selected index.
mode = core.menu.Combo("Mode", mode, { "Auto", "Manual" })
core.menu.Button #
core.menu.Button(name)
Returns true when clicked.
Demo:
if core.menu.Button("Run test") then print("clicked") end
core.menu.Text #
core.menu.Text(text)
Label, (?) tooltip, horizontal rule.
Demo:
core.menu.Text("Settings")
core.menu.help #
core.menu.help(tooltip)
Shows a (?) icon with tooltip on hover.
Demo:
core.menu.Text("Option")
core.menu.help("Tooltip shown on (?) icon")
2
core.menu.Separator #
core.menu.Separator()
Horizontal divider line.
Demo:
core.menu.Text("Section A")
core.menu.Separator()
core.menu.Text("Section B")
2
3
core.menu.Begin #
core.menu.Begin(name [, flags])
Window begin/end.
Demo:
if core.menu.Begin("My Panel") then
core.menu.Text("Inside window")
core.menu.End()
end
2
3
4
core.menu.End #
core.menu.End()
End ImGui window started with Begin().
Demo:
core.menu.End() -- pair with Begin()
core.menu.BeginChild #
core.menu.BeginChild(name, size, border [, flags])
size is { x, y } table.
Demo:
core.menu.BeginChild("Child", { 200, 120 }, true)
core.menu.Text("Child area")
core.menu.EndChild()
2
3
core.menu.EndChild #
core.menu.EndChild()
End child region started with BeginChild().
Demo:
core.menu.EndChild() -- pair with BeginChild()
core.menu.SetNextWindowPos #
core.menu.SetNextWindowPos(vec2)
Set position for the next window (before Begin()). vec2 is { x, y }.
Demo:
core.menu.SetNextWindowPos({ 100, 100 })
core.menu.Begin("Positioned")
2
core.menu.SetNextWindowSize #
core.menu.SetNextWindowSize(vec2)
Set size for the next window (before Begin()). vec2 is { x, y }.
Demo:
core.menu.SetNextWindowSize({ 320, 240 })
core.menu.Begin("Sized")
2
core.menu.ColorEdit #
core.menu.ColorEdit(name, color)
RGBA table { r, g, b, a }.
Demo:
print(getLocalColorEdit(), getOpponentColorEdit())
core.menu.Image #
core.menu.Image(file, size)
Draw texture; size is { x, y }.
Demo:
print(getLocalImage(), getOpponentImage())
core.menu.KeySelect #
core.menu.KeySelect(name, vk)
Virtual-key picker; returns selected VK.
Demo:
hotkey = core.menu.KeySelect("Hotkey", hotkey or 0x70)
core.menu.PushID #
core.menu.PushID(id)
Scope widget IDs.
Demo:
core.menu.PushID("unique")
core.menu.Checkbox("Only once", enabled)
core.menu.PopID()
2
3
core.menu.PopID #
core.menu.PopID()
Pop ID scope pushed with PushID().
Demo:
core.menu.PopID()
core.menu.PushStyleFloat #
core.menu.PushStyleFloat(idx, value)
Push float ImGui style var. Pair with PopStyleVar().
Demo:
core.menu.PushStyleFloat(0, 1.2)
core.menu.Text("Scaled")
core.menu.PopStyleVar(1)
2
3
core.menu.PushStyleVec2 #
core.menu.PushStyleVec2(idx, vec2)
Push ImVec2 style var. Pair with PopStyleVar().
Demo:
core.menu.PushStyleVec2(1, { 8, 8 })
core.menu.Button("Spaced")
core.menu.PopStyleVar(1)
2
3
core.menu.PopStyleVar #
core.menu.PopStyleVar(count)
Pop count style vars pushed with PushStyle*.
Demo:
core.menu.PopStyleVar(1)
core.menu.uts #
core.menu.uts(str)
UTF-8 ↔ system locale encoding for ImGui text.
Demo:
local label = core.menu.uts("中文标签")
core.menu.stu #
core.menu.stu(str)
Convert system locale string to UTF-8.
Demo:
local text = core.menu.stu(label)
core.menu.SameLine #
core.menu.SameLine()
Continue on same ImGui line.
Demo:
core.menu.Text("A")
core.menu.SameLine()
core.menu.Button("B")
2
3