Installation
Load Ember with one line and check it runs.
Ember is one Lua file with no dependencies.
local Ember = loadstring(game:HttpGet('https://rbx.lol/ember.lua'))()That line works in any executor with loadstring and game:HttpGet.
Check it works
Paste this in. You get a window with one working toggle.
local Ember = loadstring(game:HttpGet('https://rbx.lol/ember.lua'))()
local win = Ember.new({ Title = "Hello", Subtitle = "first run" })
local main = win:Section("Main", "home")
main:Toggle({
Text = "It works",
Callback = function(on)
win:Notify({ Title = on and "On" or "Off", Icon = "check" })
end,
})Press RightShift to hide and show it.
For a much larger script, see the full showcase.
The three objects#
- Window —
Ember.newreturns it. Holds the frame, the sidebar, the keybind and the animations. - Section —
win:Sectionadds a sidebar tab and returns a page for controls. - Control —
main:Toggleadds a row and returns a handle for reading and setting the value later.
There are thirteen controls. Each takes one options table.
Pinning a version#
https://rbx.lol/ember.lua serves the current release, so your script follows
every update. To pin a version, host your own copy and point HttpGet at it, or
read a local file:
local Ember = loadstring(readfile("Ember.lua"))()Loading it twice
Running the same script again replaces its previous window instead of adding a second one. See Lifecycle and cleanup.
Requirements#
| Requirement | Notes |
|---|---|
loadstring | To run the library. Every executor has it. |
game:HttpGet | Only for loading from a URL. Not needed if you readfile a local copy. |
writefile / readfile / isfile | Optional. All three needed for saving settings; without them Ember still runs, but nothing persists. |
isfolder / makefolder / delfile | Optional. Used when present; Storage.Unique needs the folder pair, and deleting needs delfile. |
Nothing else is required.