Open Source Universal Script IN DEVELOPMENT
Key RequiredUniversal

Open Source Universal Script IN DEVELOPMENT

Universal Scriptxeidendevxeidendev 3.8K views 952 executesUpdated Jul 18, 2025
3.3/ 5(3 votes)
2167% Positive
Lua Script•911 lines (28524 chars)
-- Advanced Hack GUI - Working Version

local player = game.Players.LocalPlayer
local runService = game:GetService("RunService")
local userInputService = game:GetService("UserInputService")
local tweenService = game:GetService("TweenService")

-- Get character and humanoid with proper error handling
local function getCharacter()
    return player.Character or player.CharacterAdded:Wait()
end

local function getHumanoid()
    local char = getCharacter()
    return char:WaitForChild("Humanoid")
end

-- UI Setup
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "HackGUI"
screenGui.ResetOnSpawn = false
screenGui.Parent = player:WaitForChild("PlayerGui")

local mainFrame = Instance.new("Frame")
mainFrame.Size = UDim2.new(0, 400, 0, 500)
mainFrame.Position = UDim2.new(0.5, -200, 0.5, -250)
mainFrame.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
mainFrame.BorderSizePixel = 0
mainFrame.Parent = screenGui

local frameCorner = Instance.new("UICorner")
frameCorner.CornerRadius = UDim.new(0, 10)
frameCorner.Parent = mainFrame

local title = Instance.new("TextLabel")
title.Size = UDim2.new(1, 0, 0, 40)
title.Position = UDim2.new(0, 0, 0, 0)
title.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
title.BorderSizePixel = 0
title.Text = "🚀 Advanced Hack GUI"
title.TextColor3 = Color3.new(1, 1, 1)
title.TextScaled = true
title.Font = Enum.Font.GothamBold
title.Parent = mainFrame

local titleCorner = Instance.new("UICorner")
titleCorner.CornerRadius = UDim.new(0, 10)
titleCorner.Parent = title

local closeButton = Instance.new("TextButton")
closeButton.Size = UDim2.new(0, 30, 0, 30)
closeButton.Position = UDim2.new(1, -35, 0, 5)
closeButton.BackgroundColor3 = Color3.fromRGB(255, 50, 50)
closeButton.BorderSizePixel = 0
closeButton.Text = "X"
closeButton.TextColor3 = Color3.new(1, 1, 1)
closeButton.TextScaled = true
closeButton.Font = Enum.Font.GothamBold
closeButton.Parent = mainFrame

local closeCorner = Instance.new("UICorner")
closeCorner.CornerRadius = UDim.new(0, 5)
closeCorner.Parent = closeButton

local hideButton = Instance.new("TextButton")
hideButton.Size = UDim2.new(0, 30, 0, 30)
hideButton.Position = UDim2.new(1, -70, 0, 5)
hideButton.BackgroundColor3 = Color3.fromRGB(255, 165, 0)
hideButton.BorderSizePixel = 0
hideButton.Text = "-"
hideButton.TextColor3 = Color3.new(1, 1, 1)
hideButton.TextScaled = true
hideButton.Font = Enum.Font.GothamBold
hideButton.Parent = mainFrame

local hideCorner = Instance.new("UICorner")
hideCorner.CornerRadius = UDim.new(0, 5)
hideCorner.Parent = hideButton

-- Notification system
local function notify(msg)
    local label = Instance.new("TextLabel")
    label.Text = tostring(msg)
    label.Size = UDim2.new(0, 300, 0, 50)
    label.Position = UDim2.new(0.5, -150, 0.1, 0)
    label.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
    label.BackgroundTransparency = 0.3
    label.BorderSizePixel = 0
    label.TextColor3 = Color3.new(1, 1, 1)
    label.Font = Enum.Font.GothamBold
    label.TextScaled = true
    label.Parent = screenGui
    
    local notifyCorner = Instance.new("UICorner")
    notifyCorner.CornerRadius = UDim.new(0, 10)
    notifyCorner.Parent = label
    
    game:GetService("Debris"):AddItem(label, 2)
end

-- State variables
local states = {
    godMode = false,
    noclip = false,
    speedHack = false,
    fly = false,
    infiniteJump = false,
    wallhack = false,
    esp = false,
    autoClick = false,
    spinBot = false,
    antiAFK = false,
    fullbright = false,
    clickTeleport = false
}

-- Additional settings
local originalLighting = {}
local spinConnection = nil
local afkConnection = nil
local clickTeleportConnection = nil

-- Scrolling Frame
local scrollFrame = Instance.new("ScrollingFrame")
scrollFrame.Size = UDim2.new(1, -20, 1, -100)
scrollFrame.Position = UDim2.new(0, 10, 0, 50)
scrollFrame.BackgroundTransparency = 1
scrollFrame.BorderSizePixel = 0
scrollFrame.ScrollBarThickness = 6
scrollFrame.CanvasSize = UDim2.new(0, 0, 0, 0)
scrollFrame.Parent = mainFrame

local layout = Instance.new("UIListLayout")
layout.SortOrder = Enum.SortOrder.LayoutOrder
layout.Padding = UDim.new(0, 5)
layout.Parent = scrollFrame

layout:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function()
    scrollFrame.CanvasSize = UDim2.new(0, 0, 0, layout.AbsoluteContentSize.Y + 10)
end)

-- Connection storage
local connections = {}

-- Toggle Template
local function createToggle(name, callback)
    local toggle = Instance.new("TextButton")
    toggle.Size = UDim2.new(1, -10, 0, 30)
    toggle.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
    toggle.BorderSizePixel = 0
    toggle.Text = name .. ": OFF"
    toggle.TextColor3 = Color3.new(1, 1, 1)
    toggle.TextScaled = true
    toggle.Font = Enum.Font.Gotham
    toggle.Parent = scrollFrame
    
    local toggleCorner = Instance.new("UICorner")
    toggleCorner.CornerRadius = UDim.new(0, 5)
    toggleCorner.Parent = toggle
    
    local isOn = false
    toggle.MouseButton1Click:Connect(function()
        isOn = not isOn
        toggle.Text = name .. ": " .. (isOn and "ON" or "OFF")
        toggle.BackgroundColor3 = isOn and Color3.fromRGB(50, 200, 50) or Color3.fromRGB(60, 60, 60)
        pcall(callback, isOn)
    end)
    
    return toggle
end

-- God Mode
createToggle("God Mode", function(enabled)
    states.godMode = enabled
    if enabled then
        connections.godMode = runService.Heartbeat:Connect(function()
            pcall(function()
                local humanoid = getHumanoid()
                if humanoid then
                    humanoid.Health = humanoid.MaxHealth
                end
            end)
        end)
        notify("God Mode: ON")
    else
        if connections.godMode then
            connections.godMode:Disconnect()
            connections.godMode = nil
        end
        notify("God Mode: OFF")
    end
end)

-- Noclip
createToggle("Noclip", function(enabled)
    states.noclip = enabled
    if enabled then
        connections.noclip = runService.Stepped:Connect(function()
            pcall(function()
                local character = getCharacter()
                if character then
                    for _, part in pairs(character:GetChildren()) do
                        if part:IsA("BasePart") then
                            part.CanCollide = false
                        end
                    end
                end
            end)
        end)
        notify("Noclip: ON")
    else
        if connections.noclip then
            connections.noclip:Disconnect()
            connections.noclip = nil
        end
        pcall(function()
            local character = getCharacter()
            if character then
                for _, part in pairs(character:GetChildren()) do
                    if part:IsA("BasePart") and part.Name ~= "HumanoidRootPart" then
                        part.CanCollide = true
                    end
                end
            end
        end)
        notify("Noclip: OFF")
    end
end)

-- Speed Hack
createToggle("Speed Hack", function(enabled)
    states.speedHack = enabled
    pcall(function()
        local humanoid = getHumanoid()
        if humanoid then
            if enabled then
                humanoid.WalkSpeed = 100
                notify("Speed Hack: ON")
            else
                humanoid.WalkSpeed = 16
                notify("Speed Hack: OFF")
            end
        end
    end)
end)

-- Jump Power
createToggle("Super Jump", function(enabled)
    pcall(function()
        local humanoid = getHumanoid()
        if humanoid then
            if enabled then
                humanoid.JumpPower = 150
                notify("Super Jump: ON")
            else
                humanoid.JumpPower = 50
                notify("Super Jump: OFF")
            end
        end
    end)
end)

-- Fly
createToggle("Fly", function(enabled)
    states.fly = enabled
    if enabled then
        pcall(function()
            local character = getCharacter()
            local rootPart = character:FindFirstChild("HumanoidRootPart")
            if rootPart then
                local bodyVelocity = Instance.new("BodyVelocity")
                bodyVelocity.MaxForce = Vector3.new(4000, 4000, 4000)
                bodyVelocity.Velocity = Vector3.new(0, 0, 0)
                bodyVelocity.Parent = rootPart
                
                connections.flyBodyVelocity = bodyVelocity
                
                connections.fly = runService.Heartbeat:Connect(function()
                    pcall(function()
                        local camera = workspace.CurrentCamera
                        local velocity = Vector3.new(0, 0, 0)
                        
                        if userInputService:IsKeyDown(Enum.KeyCode.W) then
                            velocity = velocity + (camera.CFrame.LookVector * 50)
                        end
                        if userInputService:IsKeyDown(Enum.KeyCode.S) then
                            velocity = velocity - (camera.CFrame.LookVector * 50)
                        end
                        if userInputService:IsKeyDown(Enum.KeyCode.A) then
                            velocity = velocity - (camera.CFrame.RightVector * 50)
                        end
                        if userInputService:IsKeyDown(Enum.KeyCode.D) then
                            velocity = velocity + (camera.CFrame.RightVector * 50)
                        end
                        if userInputService:IsKeyDown(Enum.KeyCode.Space) then
                            velocity = velocity + Vector3.new(0, 50, 0)
                        end
                        if userInputService:IsKeyDown(Enum.KeyCode.LeftShift) then
                            velocity = velocity - Vector3.new(0, 50, 0)
                        end
                        
                        bodyVelocity.Velocity = velocity
                    end)
                end)
                notify("Fly: ON (Use WASD + Space/Shift)")
            end
        end)
    else
        if connections.fly then
            connections.fly:Disconnect()
            connections.fly = nil
        end
        if connections.flyBodyVelocity then
            connections.flyBodyVelocity:Destroy()
            connections.flyBodyVelocity = nil
        end
        notify("Fly: OFF")
    end
end)

-- Infinite Jump
createToggle("Infinite Jump", function(enabled)
    states.infiniteJump = enabled
    if enabled then
        connections.infiniteJump = userInputService.JumpRequest:Connect(function()
            pcall(function()
                local humanoid = getHumanoid()
                if humanoid then
                    humanoid:ChangeState(Enum.HumanoidStateType.Jumping)
                end
            end)
        end)
        notify("Infinite Jump: ON")
    else
        if connections.infiniteJump then
            connections.infiniteJump:Disconnect()
            connections.infiniteJump = nil
        end
        notify("Infinite Jump: OFF")
    end
end)

-- Wallhack
createToggle("Wallhack", function(enabled)
    states.wallhack = enabled
    if enabled then
        pcall(function()
            for _, obj in pairs(workspace:GetDescendants()) do
                if obj:IsA("BasePart") and not obj:IsDescendantOf(getCharacter()) then
                    obj.Transparency = 0.7
                end
            end
        end)
        notify("Wallhack: ON")
    else
        pcall(function()
            for _, obj in pairs(workspace:GetDescendants()) do
                if obj:IsA("BasePart") and not obj:IsDescendantOf(getCharacter()) then
                    obj.Transparency = 0
                end
            end
        end)
        notify("Wallhack: OFF")
    end
end)

-- ESP
createToggle("ESP", function(enabled)
    states.esp = enabled
    if enabled then
        for _, otherPlayer in pairs(game.Players:GetPlayers()) do
            if otherPlayer ~= player and otherPlayer.Character then
                pcall(function()
                    local highlight = Instance.new("Highlight")
                    highlight.Name = "ESPHighlight"
                    highlight.FillColor = Color3.fromRGB(255, 0, 0)
                    highlight.OutlineColor = Color3.fromRGB(255, 255, 255)
                    highlight.FillTransparency = 0.5
                    highlight.OutlineTransparency = 0
                    highlight.Parent = otherPlayer.Character
                end)
            end
        end
        notify("ESP: ON")
    else
        for _, otherPlayer in pairs(game.Players:GetPlayers()) do
            if otherPlayer.Character then
                pcall(function()
                    local highlight = otherPlayer.Character:FindFirstChild("ESPHighlight")
                    if highlight then
                        highlight:Destroy()
                    end
                end)
            end
        end
        notify("ESP: OFF")
    end
end)

-- Teleport to Random Place
local function createButton(name, callback)
    local button = Instance.new("TextButton")
    button.Size = UDim2.new(1, -10, 0, 30)
    button.BackgroundColor3 = Color3.fromRGB(70, 130, 180)
    button.BorderSizePixel = 0
    button.Text = name
    button.TextColor3 = Color3.new(1, 1, 1)
    button.TextScaled = true
    button.Font = Enum.Font.Gotham
    button.Parent = scrollFrame
    
    local buttonCorner = Instance.new("UICorner")
    buttonCorner.CornerRadius = UDim.new(0, 5)
    buttonCorner.Parent = button
    
    button.MouseButton1Click:Connect(function()
        button.BackgroundColor3 = Color3.fromRGB(50, 100, 150)
        wait(0.1)
        button.BackgroundColor3 = Color3.fromRGB(70, 130, 180)
        pcall(callback)
    end)
    
    return button
end

createButton("🎲 Teleport Random", function()
    local character = getCharacter()
    local rootPart = character:FindFirstChild("HumanoidRootPart")
    if rootPart then
        local randomX = math.random(-500, 500)
        local randomZ = math.random(-500, 500)
        local randomY = math.random(50, 200)
        rootPart.CFrame = CFrame.new(randomX, randomY, randomZ)
        notify("Teleported to random location!")
    end
end)

createButton("📍 Teleport to Spawn", function()
    local character = getCharacter()
    local rootPart = character:FindFirstChild("HumanoidRootPart")
    if rootPart then
        rootPart.CFrame = CFrame.new(0, 50, 0)
        notify("Teleported to spawn!")
    end
end)

createButton("🌟 Teleport to Random Player", function()
    local players = game.Players:GetPlayers()
    local otherPlayers = {}
    for _, p in pairs(players) do
        if p ~= player and p.Character and p.Character:FindFirstChild("HumanoidRootPart") then
            table.insert(otherPlayers, p)
        end
    end
    
    if #otherPlayers > 0 then
        local randomPlayer = otherPlayers[math.random(1, #otherPlayers)]
        local character = getCharacter()
        local rootPart = character:FindFirstChild("HumanoidRootPart")
        if rootPart then
            rootPart.CFrame = randomPlayer.Character.HumanoidRootPart.CFrame + Vector3.new(5, 0, 0)
            notify("Teleported to " .. randomPlayer.Name)
        end
    else
        notify("No players available to teleport to!")
    end
end)

-- Auto Click
createToggle("Auto Click", function(enabled)
    states.autoClick = enabled
    if enabled then
        connections.autoClick = runService.Heartbeat:Connect(function()
            pcall(function()
                if mouse1click then
                    mouse1click()
                end
            end)
            wait(0.1)
        end)
        notify("Auto Click: ON")
    else
        if connections.autoClick then
            connections.autoClick:Disconnect()
            connections.autoClick = nil
        end
        notify("Auto Click: OFF")
    end
end)

-- Spin Bot
createToggle("Spin Bot", function(enabled)
    states.spinBot = enabled
    if enabled then
        connections.spinBot = runService.Heartbeat:Connect(function()
            pcall(function()
                local character = getCharacter()
                local rootPart = character:FindFirstChild("HumanoidRootPart")
                if rootPart then
                    rootPart.CFrame = rootPart.CFrame * CFrame.Angles(0, math.rad(20), 0)
                end
            end)
        end)
        notify("Spin Bot: ON")
    else
        if connections.spinBot then
            connections.spinBot:Disconnect()
            connections.spinBot = nil
        end
        notify("Spin Bot: OFF")
    end
end)

-- Anti AFK
createToggle("Anti AFK", function(enabled)
    states.antiAFK = enabled
    if enabled then
        connections.antiAFK = runService.Heartbeat:Connect(function()
            pcall(function()
                local character = getCharacter()
                local humanoid = getHumanoid()
                if humanoid then
                    humanoid:Move(Vector3.new(0, 0, 0))
                end
            end)
            wait(10)
        end)
        notify("Anti AFK: ON")
    else
        if connections.antiAFK then
            connections.antiAFK:Disconnect()
            connections.antiAFK = nil
        end
        notify("Anti AFK: OFF")
    end
end)

-- Fullbright
createToggle("Fullbright", function(enabled)
    states.fullbright = enabled
    if enabled then
        -- Store original lighting
        local lighting = game:GetService("Lighting")
        originalLighting.Brightness = lighting.Brightness
        originalLighting.Ambient = lighting.Ambient
        originalLighting.ColorShift_Bottom = lighting.ColorShift_Bottom
        originalLighting.ColorShift_Top = lighting.ColorShift_Top
        originalLighting.FogEnd = lighting.FogEnd
        originalLighting.FogStart = lighting.FogStart
        
        -- Apply fullbright
        lighting.Brightness = 5
        lighting.Ambient = Color3.new(1, 1, 1)
        lighting.ColorShift_Bottom = Color3.new(1, 1, 1)
        lighting.ColorShift_Top = Color3.new(1, 1, 1)
        lighting.FogEnd = 100000
        lighting.FogStart = 100000
        
        notify("Fullbright: ON")
    else
        -- Restore original lighting
        local lighting = game:GetService("Lighting")
        lighting.Brightness = originalLighting.Brightness or 1
        lighting.Ambient = originalLighting.Ambient or Color3.new(0, 0, 0)
        lighting.ColorShift_Bottom = originalLighting.ColorShift_Bottom or Color3.new(0, 0, 0)
        lighting.ColorShift_Top = originalLighting.ColorShift_Top or Color3.new(0, 0, 0)
        lighting.FogEnd = originalLighting.FogEnd or 100000
        lighting.FogStart = originalLighting.FogStart or 0
        
        notify("Fullbright: OFF")
    end
end)

-- Click Teleport
createToggle("Click Teleport", function(enabled)
    states.clickTeleport = enabled
    if enabled then
        connections.clickTeleport = game.Players.LocalPlayer:GetMouse().Button1Down:Connect(function()
            pcall(function()
                local character = getCharacter()
                local rootPart = character:FindFirstChild("HumanoidRootPart")
                local mouse = game.Players.LocalPlayer:GetMouse()
                if rootPart and mouse.Hit then
                    rootPart.CFrame = CFrame.new(mouse.Hit.Position + Vector3.new(0, 5, 0))
                    notify("Teleported to click location!")
                end
            end)
        end)
        notify("Click Teleport: ON (Click anywhere to teleport)")
    else
        if connections.clickTeleport then
            connections.clickTeleport:Disconnect()
            connections.clickTeleport = nil
        end
        notify("Click Teleport: OFF")
    end
end)

-- Btools (Build Tools)
createButton("🔧 Give Btools", function()
    local backpack = player:FindFirstChild("Backpack")
    if backpack then
        -- Clone Tool
        local clone = Instance.new("HopperBin")
        clone.BinType = Enum.BinType.Clone
        clone.Name = "Clone"
        clone.Parent = backpack
        
        -- Hammer Tool
        local hammer = Instance.new("HopperBin")
        hammer.BinType = Enum.BinType.Hammer
        hammer.Name = "Hammer"
        hammer.Parent = backpack
        
        -- Grab Tool
        local grab = Instance.new("HopperBin")
        grab.BinType = Enum.BinType.Grab
        grab.Name = "Grab"
        grab.Parent = backpack
        
        notify("Btools given!")
    end
end)

-- Reset Character
createButton("🔄 Reset Character", function()
    local character = getCharacter()
    local humanoid = getHumanoid()
    if humanoid then
        humanoid.Health = 0
        notify("Character reset!")
    end
end)

-- Rejoin Server
createButton("🔄 Rejoin Server", function()
    notify("Rejoining server...")
    wait(1)
    game:GetService("TeleportService"):Teleport(game.PlaceId, player)
end)

-- Hide/Show functionality
local isHidden = false
local hiddenFrame = Instance.new("Frame")
hiddenFrame.Size = UDim2.new(0, 120, 0, 30)
hiddenFrame.Position = UDim2.new(0, 10, 0, 10)
hiddenFrame.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
hiddenFrame.BorderSizePixel = 0
hiddenFrame.Visible = false
hiddenFrame.Parent = screenGui

local hiddenCorner = Instance.new("UICorner")
hiddenCorner.CornerRadius = UDim.new(0, 5)
hiddenCorner.Parent = hiddenFrame

local showButton = Instance.new("TextButton")
showButton.Size = UDim2.new(1, 0, 1, 0)
showButton.Position = UDim2.new(0, 0, 0, 0)
showButton.BackgroundTransparency = 1
showButton.Text = "Show GUI"
showButton.TextColor3 = Color3.new(1, 1, 1)
showButton.TextScaled = true
showButton.Font = Enum.Font.GothamBold
showButton.Parent = hiddenFrame

-- Hide button functionality
hideButton.MouseButton1Click:Connect(function()
    isHidden = not isHidden
    if isHidden then
        mainFrame.Visible = false
        hiddenFrame.Visible = true
        notify("GUI Hidden (Click 'Show GUI' to show again)")
    else
        mainFrame.Visible = true
        hiddenFrame.Visible = false
        notify("GUI Shown")
    end
end)

-- Show button functionality
showButton.MouseButton1Click:Connect(function()
    isHidden = false
    mainFrame.Visible = true
    hiddenFrame.Visible = false
    notify("GUI Shown")
end)

-- Keybind to toggle GUI (Right Ctrl)
userInputService.InputBegan:Connect(function(input, gameProcessed)
    if not gameProcessed and input.KeyCode == Enum.KeyCode.RightControl then
        isHidden = not isHidden
        if isHidden then
            mainFrame.Visible = false
            hiddenFrame.Visible = true
            notify("GUI Hidden (Press Right Ctrl to show again)")
        else
            mainFrame.Visible = true
            hiddenFrame.Visible = false
            notify("GUI Shown")
        end
    end
end)

-- Close button functionality
closeButton.MouseButton1Click:Connect(function()
    -- Clean up all connections
    for _, connection in pairs(connections) do
        if connection then
            pcall(function()
                connection:Disconnect()
            end)
        end
    end
    
    -- Reset character properties
    pcall(function()
        local humanoid = getHumanoid()
        if humanoid then
            humanoid.WalkSpeed = 16
            humanoid.JumpPower = 50
        end
    end)
    
    -- Clean up ESP
    for _, otherPlayer in pairs(game.Players:GetPlayers()) do
        if otherPlayer.Character then
            pcall(function()
                local highlight = otherPlayer.Character:FindFirstChild("ESPHighlight")
                if highlight then
                    highlight:Destroy()
                end
            end)
        end
    end
    
    -- Reset wallhack
    pcall(function()
        for _, obj in pairs(workspace:GetDescendants()) do
            if obj:IsA("BasePart") and not obj:IsDescendantOf(getCharacter()) then
                obj.Transparency = 0
            end
        end
    end)
    
    -- Reset fullbright
    if states.fullbright then
        local lighting = game:GetService("Lighting")
        lighting.Brightness = originalLighting.Brightness or 1
        lighting.Ambient = originalLighting.Ambient or Color3.new(0, 0, 0)
        lighting.ColorShift_Bottom = originalLighting.ColorShift_Bottom or Color3.new(0, 0, 0)
        lighting.ColorShift_Top = originalLighting.ColorShift_Top or Color3.new(0, 0, 0)
        lighting.FogEnd = originalLighting.FogEnd or 100000
        lighting.FogStart = originalLighting.FogStart or 0
    end
    
    screenGui:Destroy()
end)

-- Make GUI draggable (Mobile and PC compatible)
local dragging = false
local dragStart = nil
local startPos = nil

-- Function to handle drag start
local function startDrag(input)
    dragging = true
    dragStart = input.Position
    startPos = mainFrame.Position
end

-- Function to handle drag movement
local function updateDrag(input)
    if dragging then
        local delta = input.Position - dragStart
        mainFrame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
    end
end

-- Function to handle drag end
local function endDrag()
    dragging = false
end

-- PC dragging (mouse)
title.InputBegan:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseButton1 then
        startDrag(input)
    end
end)

title.InputChanged:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseMovement then
        updateDrag(input)
    end
end)

title.InputEnded:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseButton1 then
        endDrag()
    end
end)

-- Mobile dragging (touch)
title.InputBegan:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.Touch then
        startDrag(input)
    end
end)

title.InputChanged:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.Touch then
        updateDrag(input)
    end
end)

title.InputEnded:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.Touch then
        endDrag()
    end
end)

-- Make hidden GUI draggable too
local hiddenDragging = false
local hiddenDragStart = nil
local hiddenStartPos = nil

-- Hidden GUI drag functions
local function startHiddenDrag(input)
    hiddenDragging = true
    hiddenDragStart = input.Position
    hiddenStartPos = hiddenFrame.Position
end

local function updateHiddenDrag(input)
    if hiddenDragging then
        local delta = input.Position - hiddenDragStart
        hiddenFrame.Position = UDim2.new(hiddenStartPos.X.Scale, hiddenStartPos.X.Offset + delta.X, hiddenStartPos.Y.Scale, hiddenStartPos.Y.Offset + delta.Y)
    end
end

local function endHiddenDrag()
    hiddenDragging = false
end

-- PC dragging for hidden GUI
hiddenFrame.InputBegan:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseButton1 then
        startHiddenDrag(input)
    end
end)

hiddenFrame.InputChanged:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseMovement then
        updateHiddenDrag(input)
    end
end)

hiddenFrame.InputEnded:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseButton1 then
        endHiddenDrag()
    end
end)

-- Mobile dragging for hidden GUI
hiddenFrame.InputBegan:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.Touch then
        startHiddenDrag(input)
    end
end)

hiddenFrame.InputChanged:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.Touch then
        updateHiddenDrag(input)
    end
end)

hiddenFrame.InputEnded:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.Touch then
        endHiddenDrag()
    end
end)

-- Character respawn handling
player.CharacterAdded:Connect(function(newChar)
    wait(1) -- Wait for character to fully load
    
    -- Reset all states
    for state, _ in pairs(states) do
        states[state] = false
    end
    
    -- Clean up old connections
    for _, connection in pairs(connections) do
        if connection then
            pcall(function()
                connection:Disconnect()
            end)
        end
    end
    connections = {}
    
    -- Update all toggle buttons to OFF
    for _, child in pairs(scrollFrame:GetChildren()) do
        if child:IsA("TextButton") then
            child.Text = string.gsub(child.Text, ": ON", ": OFF")
            child.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
        end
    end
end)

notify("Advanced Hack GUI Loaded! 🚀\nPress Right Ctrl to hide/show GUI\nDrag the title bar to move GUI\nMany new features added!")

Features & Information

Multi Jump NoClip WallHack Speed Save place Teleport to saved place Teleport to random player Fly ESP Teleport to Random Place Auto Click Spin Bot Anti AFK Fullbright Click Teleport Rejoin Server
#Keyless#Free

Community Comments (2)

wjGQiwhUsbUsi9wjGQiwhUsbUsi9Jul 19, 2025

Parenting screenGui to PlayerGui is probably not a good idea.

naitsircxznaitsircxzJul 19, 2025

Littrally inf yield

More Scripts for Universal Scripts