Quick Start
The UI library is completely free — just load it from GitHub. No key needed to use the library or build your own scripts with it.
local StrawHat = loadstring(game:HttpGet(
"https://api.strawhat.lol/v1/lib"
))()
local Window = StrawHat:CreateWindow({
Name = "My Hub",
Theme = "Default",
Keybind = Enum.KeyCode.RightShift,
})
If you want to use our curated game scripts (ESP, aimbot, game-specific), those require a key. See Key System.
Key System
Keys are only required for our game-specific scripts — not the UI library. If you're building your own scripts, you can enable or disable key checking however you like.
| Type | Lock | Duration | How |
|---|---|---|---|
| Free | HWID | 24 hours | WorkInk task at strawhat.lol/get-key |
| Premium | HWID + Roblox ID | 30 day / Lifetime | Discord bot — ask an admin |
Passing a key in the loader is optional. If your script has key checking enabled, you can present the key input before the window opens:
local StrawHat = loadstring(game:HttpGet(
"https://api.strawhat.lol/v1/load?key=SH-XXXX-XXXX-XXXX"
))()
-- API validates key, HWID locks on first use, then returns the library
Themes
Pass Theme in CreateWindow, or call Window:SetTheme(name) at any time. All elements update simultaneously.
| Name | Feel |
|---|---|
| Default | Discord dark grey |
| Ocean | Deep navy |
| Crimson | Dark blood red |
| Forest | Deep forest green |
| Midnight | Dark purple |
| Sand | Warm amber |
CreateWindow
local Window = StrawHat:CreateWindow({
Name = "Hub Name",
LoadingTitle = "Hub Name",
LoadingSubtitle = "by You",
Logo = "rbxassetid://...", -- optional
LoadingDuration = 2.0,
Theme = "Default",
Keybind = Enum.KeyCode.RightShift,
ConfigurationSaving = {
Enabled = true,
FolderName = "MyHub",
FileName = "config",
},
})
CreateServer
local Main = Window:CreateServer({ Name = "Main" })
CreateChannel
local CharPage = Main:CreateChannel({ Name = "character" })
CreateSection
local Section = CharPage:CreateSection("Movement")
-- Update section title
Section:Set("New Title")
Toggle
local T = Section:CreateToggle({
Name = "Infinite Jump",
Flag = "InfJump",
CurrentValue = false,
Description = "Optional subtitle",
Callback = function(v) -- v: boolean end,
})
T:Set(true)
Slider
local S = Section:CreateSlider({
Name = "Walk Speed",
Flag = "WSpeed",
Range = {0, 500},
Increment = 1,
CurrentValue = 16,
Suffix = " studs",
Callback = function(v) end,
})
S:Set(100)
Button
Section:CreateButton({
Name = "Teleport Home",
ButtonText = "Go", -- optional
Danger = false, -- true = red
StaticColor = Color3.fromRGB(59,130,246), -- pin a color
Callback = function() end,
})
Dropdown
local D = Section:CreateDropdown({
Name = "Team",
Flag = "Team",
Values = {"Red", "Blue", "Green"},
CurrentOption = "Red",
Callback = function(v) end,
})
D:Set("Blue")
D:Refresh({"Option A", "Option B"})
Input
Section:CreateInput({
Name = "Custom Tag",
Flag = "Tag",
PlaceholderText = "Enter text...",
Callback = function(v, entered) end,
})
Keybind
Section:CreateKeybind({
Name = "Toggle Aimbot",
Flag = "KeyAim",
DefaultKey = Enum.KeyCode.F,
Callback = function() end,
})
Color Picker
Section:CreateColorPicker({
Name = "ESP Color",
Flag = "ESPCol",
DefaultColor = Color3.fromRGB(59, 130, 246),
Callback = function(c) end,
})
Progress Bar
Section:CreateProgressBar({
Name = "XP",
Value = 78,
Max = 100,
Color = "Green",
})
Paragraph
local P = Section:CreateParagraph({
Title = "Info",
Content = "Some description text.",
})
P:Set({ Title = "New", Content = "Updated" })
Label / Divider
Section:CreateLabel("Helper text")
Section:CreateDivider()
Notify
Window:Notify({
Title = "Loaded!",
Content = "Ready to use.",
Type = "Success", -- Success | Error | Warning | Info
Duration = 4,
})
SetTheme
Window:SetTheme("Ocean")
-- Default | Ocean | Crimson | Forest | Midnight | Sand
Visibility
Window:SetVisibility(false)
Window:IsVisible()
Window:Destroy()
Config Saving
Window:SaveConfig()
Window:LoadConfig()
-- Read any flag:
print(StrawHat.Flags["WSpeed"])