Silly Hub SAB Modded
Key RequiredUniversal

Silly Hub SAB Modded

Universal ScriptChilliesosillyChilliesosilly 10.8K views 1.1K executesUpdated Sep 26, 2025
0.0/ 5(1 votes)
010% Positive
Lua Script•332 lines (13492 chars)
local Players = game:GetService("Players")
local TweenService = game:GetService("TweenService")
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local P = Players.LocalPlayer

-- Wait for character
local char = P.Character or P.CharacterAdded:Wait()
local hrp = char:WaitForChild("HumanoidRootPart")

-- Player state
local state = {playerESP=false, noclip=false, fly=false}

-- GUI
local G = Instance.new("ScreenGui")
G.Name = "ChillieGUI"
G.ResetOnSpawn = false
G.Parent = P:WaitForChild("PlayerGui")

-- Main frame
local F = Instance.new("Frame")
F.Size = UDim2.new(0,450,0,550)
F.Position = UDim2.new(0.5,0,0.5,0)
F.AnchorPoint = Vector2.new(0.5,0.5)
F.BackgroundColor3 = Color3.fromRGB(0,0,0)
F.Active = true
F.Draggable = true
F.Visible = true
F.Parent = G

local mainCorner = Instance.new("UICorner")
mainCorner.CornerRadius = UDim.new(0,15)
mainCorner.Parent = F

-- Top label
local topLabel = Instance.new("Frame")
topLabel.Size = UDim2.new(1,0,0,50)
topLabel.BackgroundColor3 = Color3.fromRGB(255,0,0)
topLabel.Parent = F

local topText = Instance.new("TextLabel")
topText.Size = UDim2.new(1,0,1,0)
topText.BackgroundTransparency = 1
topText.Text = "Silly Scripts"
topText.TextColor3 = Color3.new(1,1,1)
topText.TextScaled = true
topText.Font = Enum.Font.SourceSansBold
topText.Parent = topLabel

-- Show/Hide GUI button
local toggleBtn = Instance.new("TextButton")
toggleBtn.Size = UDim2.new(0,150,0,40)
toggleBtn.Position = UDim2.new(1,-160,0,10)
toggleBtn.Text = "Show/Hide GUI"
toggleBtn.TextScaled = true
toggleBtn.BackgroundColor3 = Color3.fromRGB(255,0,0)
toggleBtn.TextColor3 = Color3.new(1,1,1)
local toggleCorner = Instance.new("UICorner")
toggleCorner.CornerRadius = UDim.new(0,10)
toggleCorner.Parent = toggleBtn
toggleBtn.Parent = G
toggleBtn.MouseButton1Click:Connect(function()
    F.Visible = not F.Visible
end)

-- Helper function to create buttons
local function addBtn(parent, txt, y, callback)
    local btn = Instance.new("TextButton")
    btn.Size = UDim2.new(0,150,0,40)
    btn.Position = UDim2.new(0,10,0,y)
    btn.Text = txt
    btn.TextScaled = true
    btn.BackgroundColor3 = Color3.fromRGB(255,0,0)
    btn.TextColor3 = Color3.new(1,1,1)
    local corner = Instance.new("UICorner")
    corner.CornerRadius = UDim.new(0,8)
    corner.Parent = btn
    btn.Parent = parent
    btn.MouseButton1Click:Connect(callback)
    return btn
end

-- Generic popup creator
local function createPopup(titleText, elements)
    if G:FindFirstChild(titleText.."GUI") then G[titleText.."GUI"]:Destroy() end
    local popup = Instance.new("Frame")
    popup.Name = titleText.."GUI"
    popup.Position = UDim2.new(0.5,0,0.5,0)
    popup.AnchorPoint = Vector2.new(0.5,0.5)
    popup.BackgroundColor3 = Color3.fromRGB(0,0,0)
    popup.Active = true
    popup.Draggable = true
    popup.Parent = G

    local pc = Instance.new("UICorner")
    pc.CornerRadius = UDim.new(0,12)
    pc.Parent = popup

    local title = Instance.new("TextLabel", popup)
    title.Size = UDim2.new(1,-40,0,40)
    title.Position = UDim2.new(0,0,0,0)
    title.Text = titleText
    title.TextScaled = true
    title.BackgroundColor3 = Color3.fromRGB(255,0,0)
    title.TextColor3 = Color3.new(1,1,1)

    local closeBtn = Instance.new("TextButton", popup)
    closeBtn.Size = UDim2.new(0,40,0,40)
    closeBtn.Position = UDim2.new(1,-40,0,0)
    closeBtn.Text = "X"
    closeBtn.TextScaled = true
    closeBtn.BackgroundColor3 = Color3.fromRGB(255,0,0)
    closeBtn.TextColor3 = Color3.new(1,1,1)
    closeBtn.MouseButton1Click:Connect(function() popup:Destroy() end)

    local y = 50
    for _,el in ipairs(elements) do
        if el.type == "button" then
            local btn = Instance.new("TextButton", popup)
            btn.Size = UDim2.new(1,-20,0,40)
            btn.Position = UDim2.new(0,10,0,y)
            btn.Text = el.text
            btn.TextScaled = true
            btn.BackgroundColor3 = Color3.fromRGB(255,0,0)
            btn.TextColor3 = Color3.new(1,1,1)
            local bcorner = Instance.new("UICorner")
            bcorner.CornerRadius = UDim.new(0,8)
            bcorner.Parent = btn
            btn.MouseButton1Click:Connect(el.callback)
            y = y + 50
        elseif el.type == "textbox" then
            local tb = Instance.new("TextBox", popup)
            tb.Size = UDim2.new(1,-20,0,40)
            tb.Position = UDim2.new(0,10,0,y)
            tb.PlaceholderText = el.placeholder
            tb.Text = el.default
            tb.TextScaled = true
            tb.ClearTextOnFocus = false
            tb.BackgroundColor3 = Color3.fromRGB(255,255,255)
            tb.TextColor3 = Color3.new(0,0,0)
            el.boxRef(tb)
            y = y + 50
        end
    end
    popup.Size = UDim2.new(0,250,0,y + 10)
end

-- Tabs
local Tabs = {"ESP","Stealer","Helper","Fun"}
local currentBtns = {}
local scroll = Instance.new("Frame")
scroll.Size = UDim2.new(1,0,0,40)
scroll.Position = UDim2.new(0,0,0,50)
scroll.BackgroundColor3 = Color3.fromRGB(0,0,0)
scroll.Parent = F
local scrollCorner = Instance.new("UICorner")
scrollCorner.CornerRadius = UDim.new(0,8)
scrollCorner.Parent = scroll

for i,TN in pairs(Tabs) do
    local tbtn = Instance.new("TextButton")
    tbtn.Size = UDim2.new(0,90,0,30)
    tbtn.Position = UDim2.new(0,(i-1)*95,0,5)
    tbtn.Text = TN
    tbtn.TextScaled = true
    tbtn.BackgroundColor3 = Color3.fromRGB(255,0,0)
    tbtn.TextColor3 = Color3.new(1,1,1)
    local tcorner = Instance.new("UICorner")
    tcorner.CornerRadius = UDim.new(0,8)
    tcorner.Parent = tbtn
    tbtn.Parent = scroll

    tbtn.MouseButton1Click:Connect(function()
        for _,b in pairs(currentBtns) do b:Destroy() end
        currentBtns = {}
        local y = 100

        -- ESP Tab
        if TN == "ESP" then
            table.insert(currentBtns, addBtn(F,"Player ESP",y,function()
                state.playerESP = not state.playerESP
                for _,pl in pairs(Players:GetPlayers()) do
                    if pl.Character then
                        if state.playerESP then
                            if not pl.Character:FindFirstChild("Highlight") then
                                local h = Instance.new("Highlight")
                                h.FillTransparency = 0.7
                                h.OutlineTransparency = 0
                                h.OutlineColor = Color3.new(0,1,0)
                                h.Parent = pl.Character
                            end
                        else
                            if pl.Character:FindFirstChild("Highlight") then
                                pl.Character.Highlight:Destroy()
                            end
                        end
                    end
                end
            end))
        end

        -- Stealer Tab
        if TN == "Stealer" then
            table.insert(currentBtns, addBtn(F,"Sky Teleport",y,function()
                createPopup("Sky Teleport",{
                    {type="button", text="Teleport Up", callback=function() hrp.CFrame = hrp.CFrame + Vector3.new(0,500,0) end},
                    {type="button", text="Return Ground", callback=function() hrp.CFrame = hrp.CFrame - Vector3.new(0,500,0) end}
                })
            end))
            y = y + 50
            table.insert(currentBtns, addBtn(F,"Tween Steal",y,function()
                local saved
                createPopup("Tween Steal",{
                    {type="button", text="Set Position", callback=function() saved = hrp.CFrame end},
                    {type="button", text="Tween To Position", callback=function()
                        if saved then
                            local tween = TweenService:Create(hrp,TweenInfo.new((hrp.Position-saved.Position).Magnitude/100,Enum.EasingStyle.Quad,Enum.EasingDirection.Out),{CFrame=saved})
                            tween:Play()
                        end
                    end}
                })
            end))
            y = y + 50
            table.insert(currentBtns, addBtn(F,"Auto Steal",y,function()
                local saved
                createPopup("Auto Steal",{
                    {type="button", text="Set Position", callback=function() saved = hrp.CFrame end},
                    {type="button", text="TP to Position", callback=function() if saved then hrp.CFrame = saved end end}
                })
            end))
        end

        -- Helper Tab
        if TN == "Helper" then
            table.insert(currentBtns, addBtn(F,"Fly",y,function()
                createPopup("Fly",{
                    {type="textbox", placeholder="Flight speed", default="50", boxRef=function(tb) end},
                    {type="button", text="Fly", callback=function()
                        state.fly = not state.fly
                        local speed = 50
                        for _,c in pairs(G:GetChildren()) do
                            if c:IsA("Frame") and c.Name=="FlyGUI" then
                                for _,cb in pairs(c:GetChildren()) do
                                    if cb:IsA("TextBox") then
                                        speed = tonumber(cb.Text) or 50
                                    end
                                end
                            end
                        end
                        if state.fly then
                            local bv = Instance.new("BodyVelocity", hrp)
                            bv.MaxForce = Vector3.new(1e5,1e5,1e5)
                            local bg = Instance.new("BodyGyro", hrp)
                            bg.MaxTorque = Vector3.new(1e5,1e5,1e5)
                            state._flyLoop = spawn(function()
                                while state.fly do
                                    local move = Vector3.new()
                                    if UserInputService:IsKeyDown(Enum.KeyCode.W) then move = move + Vector3.new(0,0,-1) end
                                    if UserInputService:IsKeyDown(Enum.KeyCode.S) then move = move + Vector3.new(0,0,1) end
                                    if UserInputService:IsKeyDown(Enum.KeyCode.A) then move = move + Vector3.new(-1,0,0) end
                                    if UserInputService:IsKeyDown(Enum.KeyCode.D) then move = move + Vector3.new(1,0,0) end
                                    bv.Velocity = (workspace.CurrentCamera.CFrame.LookVector + move) * speed
                                    bg.CFrame = workspace.CurrentCamera.CFrame
                                    RunService.RenderStepped:Wait()
                                end
                                bv:Destroy()
                                bg:Destroy()
                            end)
                        else
                            state.fly = false
                        end
                    end}
                })
            end))
            y = y + 50
            table.insert(currentBtns, addBtn(F,"Noclip",y,function()
                createPopup("Noclip",{
                    {type="button", text="Toggle Noclip", callback=function()
                        state.noclip = not state.noclip
                        if state.noclip then
                            state._noclipLoop = spawn(function()
                                while state.noclip do
                                    for _,p in pairs(char:GetDescendants()) do
                                        if p:IsA("BasePart") then p.CanCollide = false end
                                    end
                                    wait(0.1)
                                end
                            end)
                        end
                    end}
                })
            end))
        end

        -- Fun Tab
        if TN == "Fun" then
            table.insert(currentBtns, addBtn(F,"Launch Yourself",y,function()
                createPopup("Launch Yourself",{
                    {type="textbox", placeholder="Jump height", default="200", boxRef=function(tb) end},
                    {type="button", text="Launch", callback=function()
                        local height = 200
                        for _,c in pairs(G:GetChildren()) do
                            if c:IsA("Frame") and c.Name=="Launch YourselfGUI" then
                                for _,cb in pairs(c:GetChildren()) do
                                    if cb:IsA("TextBox") then height = tonumber(cb.Text) or 200 end
                                end
                            end
                        end
                        hrp.Velocity = Vector3.new(0,height,0)
                    end}
                })
            end))
            y = y + 50
            table.insert(currentBtns, addBtn(F,"Low Gravity",y,function() workspace.Gravity = 50 end))
            y = y + 50
            table.insert(currentBtns, addBtn(F,"Reset Gravity",y,function() workspace.Gravity = 196.2 end))
            y = y + 50
            table.insert(currentBtns, addBtn(F,"Spin Yourself",y,function()
                local bg = Instance.new("BodyGyro", hrp)
                bg.MaxTorque = Vector3.new(0,math.huge,0)
                bg.CFrame = hrp.CFrame
                spawn(function()
                    for i=1,50 do
                        bg.CFrame = bg.CFrame * CFrame.Angles(0, math.rad(30),0)
                        wait(0.05)
                    end
                    bg:Destroy()
                end)
            end))
        end
    end)
end

Features & Information

This script has esp, fly, Noclip, tween steal, auto steal, sky teleport, low grav and more

Community Comments (1)

BrunoMR_8BrunoMR_8Sep 26, 2025

Obg

More Scripts for Universal Scripts