Wurst Client Random Universal Script
Just a baseplate Keyless
Wurst Client Random Universal Script
👤 alexriderr 👁 40 views ❤️ 0 likes ⏱ Sep 12, 2026
This **Wurst Client–inspired script** comes with plenty of **combat-related functions, customizable settings, movement features, Auto Switch**, and much more cool stuff. It’s definitely worth trying if you’re looking for a feature-packed script.
✨ Features
Fly Speed BHop Fastfat Derp Auto respawn Follow Protect Regen Fightbot Anti spam Throw Auto build Spider Timer Jesus Flight Bunny hop Auto walk
📋 Script Code
local UserInputService = game:GetService("UserInputService")
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local Lighting = game:GetService("Lighting")

local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")
local camera = workspace.CurrentCamera

-- Master Containers
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "WurstClientGui"
screenGui.ResetOnSpawn = false
screenGui.Parent = playerGui

local hudGui = Instance.new("ScreenGui")
hudGui.Name = "WurstHUD"
hudGui.ResetOnSpawn = false
hudGui.Parent = playerGui

-- Fonts & Palette
local PIXEL_FONT = Enum.Font.Arcade
local CLEAN_FONT = Enum.Font.Code

-- =================================================================
-- Global State Store
-- =================================================================

local Settings = {
    FlightSpeed = 50,
    WalkSpeedVal = 32,
    JumpPowerVal = 100,
    TimerSpeed = 1.0,
    FastBreakSpeed = 2.0,
    FOVVal = 90
}

local Modules = {}
local activeLabels = {}

local function getChar()
    local char = player.Character
    if not char then return nil, nil end
    local hum = char:FindFirstChildOfClass("Humanoid")
    local root = char:FindFirstChild("HumanoidRootPart")
    return hum, root
end

-- =================================================================
-- 1. HUD: TOP-LEFT BADGE & ACTIVE ARRAY-LIST
-- =================================================================

local logoFrame = Instance.new("Frame")
logoFrame.Size = UDim2.new(0, 110, 0, 28)
logoFrame.Position = UDim2.new(0, 10, 0, 10)
logoFrame.BackgroundColor3 = Color3.fromRGB(225, 105, 0)
logoFrame.BorderSizePixel = 1
logoFrame.BorderColor3 = Color3.fromRGB(0, 0, 0)
logoFrame.Parent = hudGui

local logoText = Instance.new("TextLabel")
logoText.Size = UDim2.new(1, 0, 1, 0)
logoText.BackgroundTransparency = 1
logoText.Text = "WURST"
logoText.TextColor3 = Color3.fromRGB(0, 0, 0)
logoText.Font = PIXEL_FONT
logoText.TextSize = 22
logoText.Parent = logoFrame

local arrayList = Instance.new("Frame")
arrayList.Size = UDim2.new(0, 180, 0.85, 0)
arrayList.Position = UDim2.new(0, 10, 0, 44)
arrayList.BackgroundTransparency = 1
arrayList.Parent = hudGui

local arrayLayout = Instance.new("UIListLayout")
arrayLayout.SortOrder = Enum.SortOrder.LayoutOrder
arrayLayout.Padding = UDim.new(0, 1)
arrayLayout.Parent = arrayList

local function setHUDItem(name, state)
    if state then
        if not activeLabels[name] then
            local lbl = Instance.new("TextLabel")
            lbl.Size = UDim2.new(1, 0, 0, 16)
            lbl.BackgroundTransparency = 1
            lbl.Text = name
            lbl.TextColor3 = Color3.fromRGB(240, 240, 240)
            lbl.Font = CLEAN_FONT
            lbl.TextSize = 13
            lbl.TextXAlignment = Enum.TextXAlignment.Left
            lbl.TextStrokeTransparency = 0.3
            lbl.TextStrokeColor3 = Color3.fromRGB(0, 0, 0)
            lbl.Parent = arrayList
            activeLabels[name] = lbl
        end
    else
        if activeLabels[name] then
            activeLabels[name]:Destroy()
            activeLabels[name] = nil
        end
    end
end

-- =================================================================
-- 2. DRAGGING ENGINE
-- =================================================================

local function makeDraggable(frame, handle)
    local dragging, dragStart, startPos
    handle.InputBegan:Connect(function(input)
        if input.UserInputType == Enum.UserInputType.MouseButton1 then
            dragging = true
            dragStart = input.Position
            startPos = frame.Position
        end
    end)

    UserInputService.InputChanged:Connect(function(input)
        if dragging and input.UserInputType == Enum.UserInputType.MouseMovement 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)

    UserInputService.InputEnded:Connect(function(input)
        if input.UserInputType == Enum.UserInputType.MouseButton1 then
            dragging = false
        end
    end)
end

-- =================================================================
-- 3. CONTEXT SLIDERS (RIGHT-CLICK TO EDIT)
-- =================================================================

local contextWindow = Instance.new("Frame")
contextWindow.Size = UDim2.new(0, 160, 0, 120)
contextWindow.Position = UDim2.new(0, 500, 0, 200)
contextWindow.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
contextWindow.BorderSizePixel = 1
contextWindow.BorderColor3 = Color3.fromRGB(0, 0, 0)
contextWindow.Visible = false
contextWindow.Parent = screenGui

local contextHeader = Instance.new("TextLabel")
contextHeader.Size = UDim2.new(1, 0, 0, 20)
contextHeader.BackgroundColor3 = Color3.fromRGB(35, 35, 35)
contextHeader.BorderSizePixel = 0
contextHeader.Text = " Module Settings"
contextHeader.TextColor3 = Color3.fromRGB(240, 240, 240)
contextHeader.Font = PIXEL_FONT
contextHeader.TextSize = 13
contextHeader.TextXAlignment = Enum.TextXAlignment.Left
contextHeader.Parent = contextWindow
makeDraggable(contextWindow, contextHeader)

local contextList = Instance.new("Frame")
contextList.Size = UDim2.new(1, 0, 1, -20)
contextList.Position = UDim2.new(0, 0, 0, 20)
contextList.BackgroundTransparency = 1
contextList.Parent = contextWindow

local contextLayout = Instance.new("UIListLayout")
contextLayout.SortOrder = Enum.SortOrder.LayoutOrder
contextLayout.Padding = UDim.new(0, 4)
contextLayout.Parent = contextList

local function openSettingsFor(modName, sliders)
    for _, child in ipairs(contextList:GetChildren()) do
        if child:IsA("Frame") then child:Destroy() end
    end

    contextHeader.Text = " " .. modName .. " Options"
    local count = 0

    for _, sData in ipairs(sliders or {}) do
        count = count + 1
        local frame = Instance.new("Frame")
        frame.Size = UDim2.new(1, -8, 0, 26)
        frame.Position = UDim2.new(0, 4, 0, 0)
        frame.BackgroundTransparency = 1
        frame.Parent = contextList

        local lbl = Instance.new("TextLabel")
        lbl.Size = UDim2.new(0.6, 0, 0, 12)
        lbl.BackgroundTransparency = 1
        lbl.Text = sData.Name
        lbl.TextColor3 = Color3.fromRGB(180, 180, 180)
        lbl.Font = CLEAN_FONT
        lbl.TextSize = 11
        lbl.TextXAlignment = Enum.TextXAlignment.Left
        lbl.Parent = frame

        local valLbl = Instance.new("TextLabel")
        valLbl.Size = UDim2.new(0.4, 0, 0, 12)
        valLbl.Position = UDim2.new(0.6, 0, 0, 0)
        valLbl.BackgroundTransparency = 1
        valLbl.Text = string.format("%.1f", sData.Get())
        valLbl.TextColor3 = Color3.fromRGB(0, 200, 0)
        valLbl.Font = CLEAN_FONT
        valLbl.TextSize = 11
        valLbl.TextXAlignment = Enum.TextXAlignment.Right
        valLbl.Parent = frame

        local bar = Instance.new("TextButton")
        bar.Size = UDim2.new(1, 0, 0, 8)
        bar.Position = UDim2.new(0, 0, 0, 14)
        bar.BackgroundColor3 = Color3.fromRGB(10, 10, 10)
        bar.BorderSizePixel = 0
        bar.Text = ""
        bar.AutoButtonColor = false
        bar.Parent = frame

        local fill = Instance.new("Frame")
        local pct = math.clamp((sData.Get() - sData.Min) / (sData.Max - sData.Min), 0, 1)
        fill.Size = UDim2.new(pct, 0, 1, 0)
        fill.BackgroundColor3 = Color3.fromRGB(0, 200, 0)
        fill.BorderSizePixel = 0
        fill.Parent = bar

        local function updateVal(inputX)
            local rel = math.clamp((inputX - bar.AbsolutePosition.X) / bar.AbsoluteSize.X, 0, 1)
            fill.Size = UDim2.new(rel, 0, 1, 0)
            local calculated = sData.Min + (rel * (sData.Max - sData.Min))
            sData.Set(calculated)
            valLbl.Text = string.format("%.1f", calculated)
        end

        local sliding = false
        bar.InputBegan:Connect(function(input)
            if input.UserInputType == Enum.UserInputType.MouseButton1 then
                sliding = true
                updateVal(input.Position.X)
            end
        end)
        UserInputService.InputChanged:Connect(function(input)
            if sliding and input.UserInputType == Enum.UserInputType.MouseMovement then
                updateVal(input.Position.X)
            end
        end)
        UserInputService.InputEnded:Connect(function(input)
            if input.UserInputType == Enum.UserInputType.MouseButton1 then
                sliding = false
            end
        end)
    end

    if count > 0 then
        contextWindow.Size = UDim2.new(0, 160, 0, 26 + (count * 30))
        local mousePos = UserInputService:GetMouseLocation()
        contextWindow.Position = UDim2.new(0, mousePos.X, 0, mousePos.Y - 36)
        contextWindow.Visible = true
    end
end

-- =================================================================
-- 4. FUNCTIONAL MECHANICS & UTILITIES
-- =================================================================

-- Flight
local flightAttachment, flightVelocity, flightOrientation
local function toggleFlight(enabled)
    local _, root = getChar()
    if not root then return end

    if enabled then
        flightAttachment = Instance.new("Attachment")
        flightAttachment.Parent = root
        flightVelocity = Instance.new("LinearVelocity")
        flightVelocity.Attachment0 = flightAttachment
        flightVelocity.MaxForce = math.huge
        flightVelocity.VectorVelocity = Vector3.zero
        flightVelocity.Parent = root
        flightOrientation = Instance.new("AlignOrientation")
        flightOrientation.Attachment0 = flightAttachment
        flightOrientation.Mode = Enum.OrientationAlignmentMode.OneAttachment
        flightOrientation.MaxTorque = math.huge
        flightOrientation.Responsiveness = 200
        flightOrientation.Parent = root
    else
        if flightVelocity then flightVelocity:Destroy() flightVelocity = nil end
        if flightOrientation then flightOrientation:Destroy() flightOrientation = nil end
        if flightAttachment then flightAttachment:Destroy() flightAttachment = nil end
    end
end

-- Fullbright
local origBrightness = Lighting.Brightness
local origClock = Lighting.ClockTime
local origShadows = Lighting.GlobalShadows
local function toggleFullbright(enabled)
    if enabled then
        Lighting.Brightness = 2
        Lighting.ClockTime = 14
        Lighting.GlobalShadows = false
    else
        Lighting.Brightness = origBrightness
        Lighting.ClockTime = origClock
        Lighting.GlobalShadows = origShadows
    end
end

-- LSD Visual Effect
local colorCorrection = nil
local function toggleLSD(enabled)
    if enabled then
        colorCorrection = Instance.new("ColorCorrectionEffect")
        colorCorrection.Saturation = 3
        colorCorrection.Contrast = 0.5
        colorCorrection.Parent = Lighting
    else
        if colorCorrection then colorCorrection:Destroy() colorCorrection = nil end
    end
end

-- Highlight ESP
local espHighlights = {}
local function toggleESP(enabled)
    if enabled then
        for _, p in ipairs(Players:GetPlayers()) do
            if p ~= player and p.Character then
                local hl = Instance.new("Highlight")
                hl.FillColor = Color3.fromRGB(0, 255, 0)
                hl.OutlineColor = Color3.fromRGB(255, 255, 255)
                hl.Parent = p.Character
                espHighlights[p] = hl
            end
        end
    else
        for _, hl in pairs(espHighlights) do
            if hl then hl:Destroy() end
        end
        espHighlights = {}
    end
end

-- Tracers
local tracerLines = {}
local tracerFolder = Instance.new("Folder")
tracerFolder.Name = "TracersContainer"
tracerFolder.Parent = workspace

local function updateTracers(enabled)
    if not enabled then
        for _, adorn in pairs(tracerLines) do adorn:Destroy() end
        tracerLines = {}
        return
    end

    local _, root = getChar()
    if not root then return end

    for _, p in ipairs(Players:GetPlayers()) do
        if p ~= player and p.Character and p.Character:FindFirstChild("HumanoidRootPart") then
            local targetRoot = p.Character.HumanoidRootPart
            local line = tracerLines[p]
            if not line then
                line = Instance.new("LineHandleAdornment")
                line.Color3 = Color3.fromRGB(0, 255, 0)
                line.Thickness = 2
                line.AlwaysOnTop = true
                line.ZIndex = 5
                line.Adornee = root
                line.Parent = tracerFolder
                tracerLines[p] = line
            end
            line.Length = (targetRoot.Position - root.Position).Magnitude
            line.CFrame = CFrame.lookAt(Vector3.zero, root.CFrame:PointToObjectSpace(targetRoot.Position))
        else
            if tracerLines[p] then
                tracerLines[p]:Destroy()
                tracerLines[p] = nil
            end
        end
    end
end

-- =================================================================
-- 5. RUNTIME PHYSICS / RENDER LOOP
-- =================================================================

RunService.RenderStepped:Connect(function()
    local hum, root = getChar()
    if not hum or not root then return end

    -- Flight Controls
    if Modules["Flight"] and flightVelocity and flightOrientation then
        local camCF = camera.CFrame
        local dir = Vector3.zero
        if UserInputService:IsKeyDown(Enum.KeyCode.W) then dir = dir + camCF.LookVector end
        if UserInputService:IsKeyDown(Enum.KeyCode.S) then dir = dir - camCF.LookVector end
        if UserInputService:IsKeyDown(Enum.KeyCode.A) then dir = dir - camCF.RightVector end
        if UserInputService:IsKeyDown(Enum.KeyCode.D) then dir = dir + camCF.RightVector end
        if UserInputService:IsKeyDown(Enum.KeyCode.Space) then dir = dir + Vector3.new(0, 1, 0) end
        if UserInputService:IsKeyDown(Enum.KeyCode.LeftShift) then dir = dir - Vector3.new(0, 1, 0) end

        flightVelocity.VectorVelocity = (dir.Magnitude > 0) and (dir.Unit * Settings.FlightSpeed) or Vector3.zero
        flightOrientation.CFrame = camCF
    end

    -- Movement Modifications
    if Modules["AutoSprint"] then hum.WalkSpeed = Settings.WalkSpeedVal end
    if Modules["HighJump"] then hum.UseJumpPower = true hum.JumpPower = Settings.JumpPowerVal end
    if Modules["BunnyHop"] and hum.FloorMaterial ~= Enum.Material.Air and hum.MoveDirection.Magnitude > 0 then
        hum:ChangeState(Enum.HumanoidStateType.Jumping)
    end
    if Modules["Spider"] then
        local ray = workspace:Raycast(root.Position, root.CFrame.LookVector * 2)
        if ray and ray.Instance then
            root.AssemblyLinearVelocity = Vector3.new(root.AssemblyLinearVelocity.X, 35, root.AssemblyLinearVelocity.Z)
        end
    end
    if Modules["Step"] then hum.MaxSlopeAngle = 89 end
    if Modules["FastLadder"] and hum:GetState() == Enum.HumanoidStateType.Climbing then
        root.AssemblyLinearVelocity = Vector3.new(root.AssemblyLinearVelocity.X, 35, root.AssemblyLinearVelocity.Z)
    end
    if Modules["Jesus"] then
        local ray = workspace:Raycast(root.Position, Vector3.new(0, -3.5, 0))
        if ray and ray.Material == Enum.Material.Water then
            root.AssemblyLinearVelocity = Vector3.new(root.AssemblyLinearVelocity.X, 0, root.AssemblyLinearVelocity.Z)
            root.Position = Vector3.new(root.Position.X, ray.Position.Y + 3, root.Position.Z)
        end
    end
    if Modules["NoFall"] and root.AssemblyLinearVelocity.Y < -40 then
        local ray = workspace:Raycast(root.Position, Vector3.new(0, -6, 0))
        if ray and ray.Instance then
            root.AssemblyLinearVelocity = Vector3.new(root.AssemblyLinearVelocity.X, -2, root.AssemblyLinearVelocity.Z)
        end
    end

    -- Derp Random Animation Mod
    if Modules["Derp"] then
        root.CFrame = root.CFrame * CFrame.Angles(0, math.rad(math.random(1, 360)), 0)
    end

    -- LSD Hue Cycle
    if Modules["LSD"] and colorCorrection then
        local hue = (tick() % 5) / 5
        colorCorrection.TintColor = Color3.fromHSV(hue, 0.8, 1)
    end

    -- Camera Zoom Mod
    if Modules["Overlay"] or Modules["Search"] then
        camera.FieldOfView = Settings.FOVVal
    end

    -- Tracers Sync
    if Modules["Tracers"] then updateTracers(true) else updateTracers(false) end
end)

-- =================================================================
-- 6. COMPLETE MODULE DEFINITION (ALL SCREENSHOT WINDOWS)
-- =================================================================

local GUI_DATA = {
    {
        Name = "Render", X = 130, Y = 20, W = 135, H = 400,
        Modules = {
            {"AntiBlind", false},
            {"ChestESP", true},
            {"Freecam", false},
            {"Fullbright", true, toggleFullbright},
            {"HealthTags", true},
            {"ItemESP", true},
            {"LSD", false, toggleLSD},
            {"MobESP", false},
            {"NameProtect", false},
            {"NameTags", true},
            {"NoHurtcam", false},
            {"Overlay", true},
            {"PlayerESP", false, toggleESP},
            {"RemoteView", false},
            {"Search", false},
            {"Tracers", false},
            {"TrueSight", true},
            {"X-Ray", false}
        }
    },
    {
        Name = "Movement", X = 275, Y = 20, W = 135, H = 400,
        Modules = {
            {"AutoSprint", false, nil, {{Name = "Speed", Min = 16, Max = 150, Get = function() return Settings.WalkSpeedVal end, Set = function(v) Settings.WalkSpeedVal = v end}}},
            {"AutoWalk", false},
            {"BunnyHop", false},
            {"Dolphin", false},
            {"FastLadder", true},
            {"Flight", false, toggleFlight, {{Name = "Speed", Min = 10, Max = 250, Get = function() return Settings.FlightSpeed end, Set = function(v) Settings.FlightSpeed = v end}}},
            {"Glide", false},
            {"HighJump", false, nil, {{Name = "Power", Min = 50, Max = 300, Get = function() return Settings.JumpPowerVal end, Set = function(v) Settings.JumpPowerVal = v end}}},
            {"Jesus", false},
            {"Jetpack", false},
            {"NoFall", true},
            {"NoSlow", true},
            {"Phase", false},
            {"Sneak", false},
            {"Spider", true},
            {"Step", true},
            {"Timer", false}
        }
    },
    {
        Name = "Blocks", X = 420, Y = 20, W = 135, H = 250,
        Modules = {
            {"AutoSign", false},
            {"AutoTool", true},
            {"FastBreak", true},
            {"FastPlace", false},
            {"Kaboom", false},
            {"Liquids", false},
            {"Nuker", false},
            {"NukerLegit", false},
            {"AutoBuild", false}
        }
    },
    {
        Name = "Misc", X = 565, Y = 20, W = 135, H = 210,
        Modules = {
            {"AutoSwitch", false},
            {"Derp", false},
            {"FastEat", true},
            {"Headless", false, function(active)
                local char = player.Character
                local head = char and char:FindFirstChild("Head")
                if head then head.Transparency = active and 1 or 0 end
            end},
            {"Miley Cyrus", false},
            {"YesCheat+", false},
            {"Panic", false, function(active)
                if active then
                    for k, _ in pairs(Modules) do
                        Modules[k] = false
                        setHUDItem(k, false)
                    end
                    toggleFlight(false)
                    toggleFullbright(false)
                    toggleESP(false)
                    toggleLSD(false)
                    updateTracers(false)
                    screenGui.Enabled = false
                    contextWindow.Visible = false
                end
            end},
            {"Throw", false}
        }
    },
    {
        Name = "Chat", X = 565, Y = 240, W = 135, H = 120,
        Modules = {
            {"AntiSpam", true},
            {"ForceOP", false},
            {"Joomla", false},
            {"MassTPA", false}
        }
    },
    {
        Name = "Combat", X = 710, Y = 20, W = 135, H = 360,
        Modules = {
            {"AntiKnockback", true},
            {"AutoRespawn", true, function(active)
                if active then
                    local hum = getChar()
                    if hum then
                        hum.Died:Connect(function()
                            task.wait(0.5)
                            player:LoadCharacter()
                        end)
                    end
                end
            end},
            {"BowAimbot", false},
            {"Criticals", true},
            {"FightBot", false},
            {"Follow", false},
            {"Invisibility", false},
            {"Killaura", false},
            {"KillauraLegit", false},
            {"MultiAura", false},
            {"Only mobs", false},
            {"Only players", false},
            {"Protect", false},
            {"Regen", true}
        }
    }
}

local SLIDERS_DATA = {
    {"FastBreak speed", 0, 5, 2.0},
    {"Flight speed", 10, 250, 50.0},
    {"Killaura fov/ww", 0, 360, 128.0},
    {"Killaura hitrate", 0, 50, 20.0},
    {"Killaura range", 0, 10, 4.25},
    {"Nuker range", 0, 10, 4.5},
    {"Timer speed", 0, 5, 2.0}
}

-- =================================================================
-- 7. UI BUILDER
-- =================================================================

local function buildWindow(config)
    local win = Instance.new("Frame")
    win.Size = UDim2.new(0, config.W, 0, config.H)
    win.Position = UDim2.new(0, config.X, 0, config.Y)
    win.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
    win.BackgroundTransparency = 0.55
    win.BorderSizePixel = 1
    win.BorderColor3 = Color3.fromRGB(15, 15, 15)
    win.Parent = screenGui

    local header = Instance.new("Frame")
    header.Size = UDim2.new(1, 0, 0, 22)
    header.BackgroundColor3 = Color3.fromRGB(45, 45, 45)
    header.BorderSizePixel = 0
    header.Parent = win
    makeDraggable(win, header)

    local title = Instance.new("TextLabel")
    title.Size = UDim2.new(1, -30, 1, 0)
    title.Position = UDim2.new(0, 5, 0, 0)
    title.BackgroundTransparency = 1
    title.Text = config.Name
    title.TextColor3 = Color3.fromRGB(240, 240, 240)
    title.Font = PIXEL_FONT
    title.TextSize = 15
    title.TextXAlignment = Enum.TextXAlignment.Left
    title.Parent = header

    local redBox = Instance.new("TextButton")
    redBox.Size = UDim2.new(0, 9, 0, 9)
    redBox.Position = UDim2.new(1, -22, 0.5, -4)
    redBox.BackgroundColor3 = Color3.fromRGB(180, 30, 30)
    redBox.BorderSizePixel = 0
    redBox.Text = ""
    redBox.Parent = header

    local greenBox = Instance.new("TextButton")
    greenBox.Size = UDim2.new(0, 9, 0, 9)
    greenBox.Position = UDim2.new(1, -10, 0.5, -4)
    greenBox.BackgroundColor3 = Color3.fromRGB(30, 180, 30)
    greenBox.BorderSizePixel = 0
    greenBox.Text = ""
    greenBox.Parent = header

    local scroll = Instance.new("ScrollingFrame")
    scroll.Size = UDim2.new(1, 0, 1, -22)
    scroll.Position = UDim2.new(0, 0, 0, 22)
    scroll.BackgroundTransparency = 1
    scroll.BorderSizePixel = 0
    scroll.ScrollBarThickness = 2
    scroll.CanvasSize = UDim2.new(0, 0, 0, #config.Modules * 21)
    scroll.Parent = win

    local collapsed = false
    greenBox.MouseButton1Click:Connect(function()
        collapsed = not collapsed
        scroll.Visible = not collapsed
        win.Size = collapsed and UDim2.new(0, config.W, 0, 22) or UDim2.new(0, config.W, 0, config.H)
    end)

    local list = Instance.new("UIListLayout")
    list.SortOrder = Enum.SortOrder.LayoutOrder
    list.Padding = UDim.new(0, 1)
    list.Parent = scroll

    for _, mod in ipairs(config.Modules) do
        local name = mod[1]
        local defaultOn = mod[2]
        local callback = mod[3]
        local sliders = mod[4]

        Modules[name] = defaultOn

        local btn = Instance.new("TextButton")
        btn.Size = UDim2.new(1, 0, 0, 20)
        btn.BorderSizePixel = 0
        btn.Text = " " .. name
        btn.Font = CLEAN_FONT
        btn.TextSize = 13
        btn.TextXAlignment = Enum.TextXAlignment.Left
        btn.AutoButtonColor = false
        btn.Parent = scroll

        local function updateAppearance()
            local active = Modules[name]
            if active then
                btn.BackgroundColor3 = Color3.fromRGB(0, 200, 0)
                btn.BackgroundTransparency = 0.1
                btn.TextColor3 = Color3.fromRGB(0, 0, 0)
            else
                btn.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
                btn.BackgroundTransparency = 0.6
                btn.TextColor3 = Color3.fromRGB(180, 180, 180)
            end
            setHUDItem(name, active)
            if callback then callback(active) end
        end

        btn.MouseButton1Click:Connect(function()
            Modules[name] = not Modules[name]
            updateAppearance()
        end)

        btn.MouseButton2Click:Connect(function()
            if sliders then openSettingsFor(name, sliders) end
        end)

        updateAppearance()
    end
end

for _, winData in ipairs(GUI_DATA) do
    buildWindow(winData)
end

-- Build Live Settings Panel (Bottom Right)
local function buildSettingsPanel()
    local win = Instance.new("Frame")
    win.Size = UDim2.new(0, 185, 0, 240)
    win.Position = UDim2.new(0, 860, 0, 240)
    win.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
    win.BackgroundTransparency = 0.55
    win.BorderSizePixel = 1
    win.BorderColor3 = Color3.fromRGB(15, 15, 15)
    win.Parent = screenGui

    local header = Instance.new("Frame")
    header.Size = UDim2.new(1, 0, 0, 22)
    header.BackgroundColor3 = Color3.fromRGB(45, 45, 45)
    header.BorderSizePixel = 0
    header.Parent = win
    makeDraggable(win, header)

    local title = Instance.new("TextLabel")
    title.Size = UDim2.new(1, 0, 1, 0)
    title.Position = UDim2.new(0, 5, 0, 0)
    title.BackgroundTransparency = 1
    title.Text = "Settings"
    title.TextColor3 = Color3.fromRGB(240, 240, 240)
    title.Font = PIXEL_FONT
    title.TextSize = 15
    title.TextXAlignment = Enum.TextXAlignment.Left
    title.Parent = header

    local scroll = Instance.new("ScrollingFrame")
    scroll.Size = UDim2.new(1, 0, 1, -22)
    scroll.Position = UDim2.new(0, 0, 0, 22)
    scroll.BackgroundTransparency = 1
    scroll.BorderSizePixel = 0
    scroll.ScrollBarThickness = 2
    scroll.CanvasSize = UDim2.new(0, 0, 0, #SLIDERS_DATA * 32)
    scroll.Parent = win

    local list = Instance.new("UIListLayout")
    list.SortOrder = Enum.SortOrder.LayoutOrder
    list.Padding = UDim.new(0, 2)
    list.Parent = scroll

    for _, s in ipairs(SLIDERS_DATA) do
        local name, minVal, maxVal, curVal = s[1], s[2], s[3], s[4]

        local frame = Instance.new("Frame")
        frame.Size = UDim2.new(1, -6, 0, 28)
        frame.BackgroundTransparency = 1
        frame.Parent = scroll

        local lbl = Instance.new("TextLabel")
        lbl.Size = UDim2.new(0.65, 0, 0, 14)
        lbl.BackgroundTransparency = 1
        lbl.Text = name
        lbl.TextColor3 = Color3.fromRGB(190, 190, 190)
        lbl.Font = CLEAN_FONT
        lbl.TextSize = 11
        lbl.TextXAlignment = Enum.TextXAlignment.Left
        lbl.Parent = frame

        local valLbl = Instance.new("TextLabel")
        valLbl.Size = UDim2.new(0.35, 0, 0, 14)
        valLbl.Position = UDim2.new(0.65, 0, 0, 0)
        valLbl.BackgroundTransparency = 1
        valLbl.Text = string.format("%.1f", curVal)
        valLbl.TextColor3 = Color3.fromRGB(150, 150, 150)
        valLbl.Font = CLEAN_FONT
        valLbl.TextSize = 11
        valLbl.TextXAlignment = Enum.TextXAlignment.Right
        valLbl.Parent = frame

        local bar = Instance.new("TextButton")
        bar.Size = UDim2.new(1, 0, 0, 4)
        bar.Position = UDim2.new(0, 0, 0, 18)
        bar.BackgroundColor3 = Color3.fromRGB(15, 15, 15)
        bar.BorderSizePixel = 0
        bar.Text = ""
        bar.AutoButtonColor = false
        bar.Parent = frame

        local fill = Instance.new("Frame")
        local pct = math.clamp((curVal - minVal) / (maxVal - minVal), 0, 1)
        fill.Size = UDim2.new(pct, 0, 1, 0)
        fill.BackgroundColor3 = Color3.fromRGB(0, 200, 0)
        fill.BorderSizePixel = 0
        fill.Parent = bar

        local function update(inputX)
            local rel = math.clamp((inputX - bar.AbsolutePosition.X) / bar.AbsoluteSize.X, 0, 1)
            fill.Size = UDim2.new(rel, 0, 1, 0)
            local calculated = minVal + (rel * (maxVal - minVal))
            valLbl.Text = string.format("%.1f", calculated)
            if name == "Flight speed" then Settings.FlightSpeed = calculated end
        end

        local sliding = false
        bar.InputBegan:Connect(function(input)
            if input.UserInputType == Enum.UserInputType.MouseButton1 then
                sliding = true
                update(input.Position.X)
            end
        end)
        UserInputService.InputChanged:Connect(function(input)
            if sliding and input.UserInputType == Enum.UserInputType.MouseMovement then
                update(input.Position.X)
            end
        end)
        UserInputService.InputEnded:Connect(function(input)
            if input.UserInputType == Enum.UserInputType.MouseButton1 then
                sliding = false
            end
        end)
    end
end

buildSettingsPanel()

-- =================================================================
-- 8. KEYBIND (PRESS 'P' TO TOGGLE GUI)
-- =================================================================

UserInputService.InputBegan:Connect(function(input, processed)
    if processed then return end
    if input.KeyCode == Enum.KeyCode.P then
        screenGui.Enabled = not screenGui.Enabled
        if not screenGui.Enabled then
            contextWindow.Visible = false
        end
    end
end)
🎮 Similar Scripts
💬 Comments (0)
Login to post a comment
No comments yet. Be the first!
Script Info
Game Just a baseplate
TypeKeyless
Authoralexriderr
Views40
Likes0
PublishedSep 12, 2026
🎮 Play Game on Roblox
🕐 Recent Scripts
Ride A Pet Made By XyronHub
Ride A Pet Made By XyronHub
Ride A Pet • 👁 7
Keyless
Jump for Animals Script | Shrpz v1 (Keyless)
Jump for Animals Script | Shrpz v1 (Keyless)
Jump for Animals! • 👁 10
Keyless
Slayers 2 Keyless Script
Slayers 2 Keyless Script
Slayers 2 • 👁 13
Keyless
50 Player BINGO script keyless | auto buy card skins
50 Player BINGO script keyless | auto buy card skins
50 Player BINGO! • 👁 10
Keyless
Anime RNG Defense script keyless | auto roll
Anime RNG Defense script keyless | auto roll
Anime RNG Defense • 👁 11
Keyless