-- 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!")