Silly Hub
Key Required

Silly Hub

Steal a BrainrotChilliesosillyChilliesosilly 5.1K views 131 executesUpdated Sep 26, 2025
0.0/ 5(1 votes)
010% Positive
Lua Script•254 lines (9495 chars)
-- Silly Hub GUI (Delta + Mobile Friendly, full merged)
local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
local RunService = game:GetService("RunService")
local UIS = game:GetService("UserInputService")

-- Helper function
local function createUI(class, props)
    local inst = Instance.new(class)
    for k,v in pairs(props) do inst[k] = v end
    return inst
end

-- Draggable function
local function makeDraggable(frame)
    local dragging, dragInput, dragStart, startPos
    frame.InputBegan:Connect(function(input)
        if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
            dragging = true
            dragStart = input.Position
            startPos = frame.Position
            input.Changed:Connect(function()
                if input.UserInputState == Enum.UserInputState.End then dragging = false end
            end)
        end
    end)
    frame.InputChanged:Connect(function(input)
        if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then
            dragInput = input
        end
    end)
    UIS.InputChanged:Connect(function(input)
        if input == dragInput and dragging then
            local delta = input.Position - dragStart
            frame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X,
                                       startPos.Y.Scale, startPos.Y.Offset + delta.Y)
        end
    end)
end

-- Main GUI
local screenGui = createUI("ScreenGui",{Parent=LocalPlayer:WaitForChild("PlayerGui"), Name="SillyHub"})
local mainFrame = createUI("Frame",{
    Parent=screenGui,
    Size=UDim2.new(0,250,0,180),
    Position=UDim2.new(0.5,-125,0.5,-90),
    BackgroundColor3=Color3.fromRGB(0,0,0),
    BorderSizePixel=0
})
createUI("UICorner",{Parent=mainFrame, CornerRadius=UDim.new(0,10)})
makeDraggable(mainFrame)

-- Add red outline to Main GUI
local mainOutline = Instance.new("UIStroke")
mainOutline.Color = Color3.fromRGB(255,0,0)
mainOutline.Thickness = 2
mainOutline.Parent = mainFrame

-- Title
local titleBar = createUI("Frame",{Parent=mainFrame, Size=UDim2.new(1,0,0,30), BackgroundColor3=Color3.fromRGB(139,0,0)})
createUI("UICorner",{Parent=titleBar, CornerRadius=UDim.new(0,10)})
local titleLabel = createUI("TextLabel",{
    Parent = titleBar,
    Size = UDim2.new(1,-30,1,0),
    BackgroundTransparency = 1,
    Text = "Silly Hub",
    TextColor3 = Color3.fromRGB(255,255,255),
    TextSize = 18,
    Font = Enum.Font.SourceSansBold,
    TextXAlignment = Enum.TextXAlignment.Center
})
local closeBtn = createUI("TextButton",{Parent=titleBar, Size=UDim2.new(0,30,1,0), Position=UDim2.new(1,-30,0,0),
    BackgroundTransparency=1, Text="X", TextColor3=Color3.fromRGB(255,255,255), Font=Enum.Font.SourceSansBold, TextSize=18})

-- Red line under title
local lineUnder = createUI("Frame",{Parent=mainFrame, Size=UDim2.new(1,0,0,2), Position=UDim2.new(0,0,0,30), BackgroundColor3=Color3.fromRGB(255,0,0)})

-- Buttons stacked evenly
local buttonHolder = createUI("Frame",{Parent=mainFrame, Size=UDim2.new(1,-20,1,-40-2), Position=UDim2.new(0,10,0,32), BackgroundTransparency=1})
local listLayout = createUI("UIListLayout",{Parent=buttonHolder, FillDirection=Enum.FillDirection.Vertical,
    HorizontalAlignment=Enum.HorizontalAlignment.Center, VerticalAlignment=Enum.VerticalAlignment.Center, Padding=UDim.new(0,10)})

local function createButton(text)
    local btn = createUI("TextButton",{Size=UDim2.new(1,0,0.5,-5), BackgroundColor3=Color3.fromRGB(40,40,40),
        Text=text, TextColor3=Color3.fromRGB(255,255,255), Font=Enum.Font.SourceSansBold, TextSize=18})
    createUI("UICorner",{Parent=btn, CornerRadius=UDim.new(0,8)})
    return btn
end

local floatV1Btn = createButton("Float V1")
floatV1Btn.Parent = buttonHolder
local partFloatBtn = createButton("Part Float")
partFloatBtn.Parent = buttonHolder

-- FLOAT V1 GUI
local floatGui = createUI("Frame",{Parent=screenGui, Size=UDim2.new(0,200,0,120),
    Position=UDim2.new(0.5,-100,0.5,-60), BackgroundColor3=Color3.fromRGB(0,0,0), BorderSizePixel=0, Visible=false})
createUI("UICorner",{Parent=floatGui, CornerRadius=UDim.new(0,10)})
makeDraggable(floatGui)

-- Add red outline to Float V1 GUI
local floatOutline = Instance.new("UIStroke")
floatOutline.Color = Color3.fromRGB(255,0,0)
floatOutline.Thickness = 2
floatOutline.Parent = floatGui

local floatBtn = createButton("Float")
floatBtn.Parent = floatGui
floatBtn.Size = UDim2.new(0.8,0,0.4,0)
floatBtn.Position = UDim2.new(0.1,0,0.3,0)

-- Add red outline to Float button
local floatBtnOutline = Instance.new("UIStroke")
floatBtnOutline.Color = Color3.fromRGB(255,0,0)
floatBtnOutline.Thickness = 2
floatBtnOutline.Parent = floatBtn

-- FLOAT V1 logic (free movement + very slow downward)
local floating = false
local floatConn

local function toggleFloating(state)
    local char = LocalPlayer.Character
    if not char or not char:FindFirstChild("HumanoidRootPart") then return end
    local hrp = char.HumanoidRootPart

    if state then
        floating = true
        floatBtn.Text = "Floating..."
        if hrp:FindFirstChild("FloatBodyVelocity") then hrp.FloatBodyVelocity:Destroy() end

        local bv = Instance.new("BodyVelocity")
        bv.Name = "FloatBodyVelocity"
        bv.MaxForce = Vector3.new(0, math.huge, 0)
        bv.Velocity = Vector3.new(0, -0.05, 0) -- very slow downward
        bv.P = 1000
        bv.Parent = hrp

        floatConn = RunService.Heartbeat:Connect(function()
            if not floating or not hrp or not bv then
                floatConn:Disconnect()
                if bv then bv:Destroy() end
                return
            end
            -- maintain player X/Z movement, Y slowly descends
            local vx = hrp.Velocity.X
            local vz = hrp.Velocity.Z
            bv.Velocity = Vector3.new(vx, -0.05, vz)
        end)
    else
        floating = false
        floatBtn.Text = "Float"
        if floatConn then floatConn:Disconnect() floatConn = nil end
        if hrp:FindFirstChild("FloatBodyVelocity") then hrp.FloatBodyVelocity:Destroy() end
    end
end

floatBtn.MouseButton1Click:Connect(function() toggleFloating(not floating) end)
floatV1Btn.MouseButton1Click:Connect(function() floatGui.Visible = not floatGui.Visible end)

-- PART FLOAT GUI
local partFloatGui = createUI("Frame",{Parent=screenGui, Size=UDim2.new(0,220,0,180),
    Position=UDim2.new(0.5,-110,0.5,-90), BackgroundColor3=Color3.fromRGB(0,0,0), BorderSizePixel=0, Visible=false})
createUI("UICorner",{Parent=partFloatGui, CornerRadius=UDim.new(0,10)})
makeDraggable(partFloatGui)

-- Add red outline to Part Float GUI
local partOutline = Instance.new("UIStroke")
partOutline.Color = Color3.fromRGB(255,0,0)
partOutline.Thickness = 2
partOutline.Parent = partFloatGui

-- Buttons
local pfBtn = createButton("Part Float")
pfBtn.Parent = partFloatGui
pfBtn.Size = UDim2.new(0.8,0,0,50)
pfBtn.Position = UDim2.new(0.1,0,0.1,0)

local upwardsBtn = createButton("Upwards")
upwardsBtn.Parent = partFloatGui
upwardsBtn.Size = UDim2.new(0.8,0,0,40)
upwardsBtn.Position = UDim2.new(0.1,0,0.5,0)
upwardsBtn.BackgroundColor3 = Color3.fromRGB(255,0,0)

local stayLevelBtn = createButton("Stay Level")
stayLevelBtn.Parent = partFloatGui
stayLevelBtn.Size = UDim2.new(0.8,0,0,40)
stayLevelBtn.Position = UDim2.new(0.1,0,0.75,0)
stayLevelBtn.BackgroundColor3 = Color3.fromRGB(255,0,0)

-- Part Float logic
local pfPart, pfConn
local pfActive = false
local pfMode = "stay"
local currentY = 0

local function spawnPart()
    if not pfPart then
        pfPart = Instance.new("Part")
        pfPart.Size = Vector3.new(6,1,6)
        pfPart.Anchored = true
        pfPart.CanCollide = true
        pfPart.Transparency = 0.5
        pfPart.Parent = workspace
    end
end

local function updatePart()
    if pfConn then pfConn:Disconnect() end
    pfConn = RunService.Heartbeat:Connect(function()
        local char = LocalPlayer.Character
        if not pfActive or not char or not char:FindFirstChild("HumanoidRootPart") then return end
        local hrp = char.HumanoidRootPart
        if currentY == 0 then currentY = hrp.Position.Y - 3 end
        if pfMode == "upwards" then currentY = currentY + 0.2 end
        pfPart.Position = Vector3.new(hrp.Position.X, currentY, hrp.Position.Z)
    end)
end

pfBtn.MouseButton1Click:Connect(function()
    pfActive = not pfActive
    if pfActive then
        pfBtn.Text = "Floating with part..."
        spawnPart()
        currentY = 0
        updatePart()
    else
        pfBtn.Text = "Part Float"
        if pfConn then pfConn:Disconnect() pfConn=nil end
        if pfPart then pfPart:Destroy() pfPart=nil end
    end
end)

upwardsBtn.MouseButton1Click:Connect(function() pfMode = "upwards" end)
stayLevelBtn.MouseButton1Click:Connect(function() pfMode = "stay" end)
partFloatBtn.MouseButton1Click:Connect(function() partFloatGui.Visible = not partFloatGui.Visible end)

-- OPEN FLOAT GUI BUTTON when main GUI closed
local openFloatBtn = createButton("Open Main GUI")
openFloatBtn.Parent = screenGui
openFloatBtn.Size = UDim2.new(0,120,0,30)
openFloatBtn.Position = UDim2.new(1,-130,0,10)
makeDraggable(openFloatBtn)
openFloatBtn.Visible = false

closeBtn.MouseButton1Click:Connect(function()
    mainFrame.Visible = false
    openFloatBtn.Visible = true
end)

openFloatBtn.MouseButton1Click:Connect(function()
    mainFrame.Visible = true
    openFloatBtn.Visible = false
end)

Features & Information

This script has part float, and float, used for steal a brainrot, or any other game really

Community Comments (1)

BrunoMR_8BrunoMR_8Sep 26, 2025

Ilove silly

More Scripts for Steal a Brainrot