--[[ Z HUB | Purple Lightning Edition Fully ready – no external dependencies, safe to use. Features: Manual Steal, Auto-Steal Radius, Progress Bar, Screen Light, Noclip, FPS Boost ]] -- // Services local Players = game:GetService("Players") local Workspace = game:GetService("Workspace") local TweenService = game:GetService("TweenService") local Lighting = game:GetService("Lighting") local RunService = game:GetService("RunService") local CoreGui = game:GetService("CoreGui") local StarterGui = game:GetService("StarterGui") local player = Players.LocalPlayer local mouse = player:GetMouse() -- // CONFIGURATION (EDIT THESE) local BASE_POSITION = Vector3.new(0, 30, 0) -- Your base coordinates local BRAINROT_KEYWORD = "brainrot" -- Items containing this local DEFAULT_AUTO_RADIUS = 50 local STEAL_COOLDOWN = 3 -- // Internal vars local gui = nil local noclipConnection = nil local antiRagdollConnection = nil local autoStealActive = false local autoStealRadius = DEFAULT_AUTO_RADIUS local autoStealCooldown = false local currentScreenLight = nil local progressBarActive = true local isStealing = false local autoStealConnection = nil local progressBar = nil local progressFrame = nil -- // Helpers local function debugPrint(...) print("[Z Hub] ", ...) end -- // Screen Light local function createScreenLight() if currentScreenLight then currentScreenLight:Destroy() end local screenGui = Instance.new("ScreenGui") screenGui.Name = "ZHubLight" screenGui.ResetOnSpawn = false screenGui.IgnoreGuiInset = true screenGui.Parent = CoreGui local frame = Instance.new("Frame") frame.Size = UDim2.new(2, 0, 2, 0) frame.Position = UDim2.new(-0.5, 0, -0.5, 0) frame.BackgroundColor3 = Color3.fromRGB(255, 200, 255) frame.BackgroundTransparency = 0.65 frame.BorderSizePixel = 0 frame.Parent = screenGui TweenService:Create(frame, TweenInfo.new(2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut, -1, true), {BackgroundTransparency = 0.55}):Play() currentScreenLight = screenGui end local function removeScreenLight() if currentScreenLight then currentScreenLight:Destroy() end end -- // FPS Boost local function applyFPSBoost() pcall(function() Workspace.StreamingEnabled = true Lighting.GlobalShadows = false settings().Rendering.QualityLevel = 1 settings().Rendering.ShadowQuality = 0 end) end -- // Character optimizations local function disableTextures(char) if not char then return end for _, part in ipairs(char:GetDescendants()) do if part:IsA("BasePart") then pcall(function() part.Material = Enum.Material.Plastic; part.TextureID = "" end) elseif part:IsA("Decal") or part:IsA("Texture") then pcall(function() part:Destroy() end) end end end local function disableAnimations(char) if not char then return end local animator = char:FindFirstChild("Animator") if animator then for _, track in ipairs(animator:GetPlayingAnimationTracks()) do track:Stop() end animator:Destroy() end local hum = char:FindFirstChild("Humanoid") if hum then hum:SetStateEnabled(Enum.HumanoidStateType.Ragdoll, false) hum:SetStateEnabled(Enum.HumanoidStateType.FallingDown, false) end end local function startAntiRagdoll() if antiRagdollConnection then antiRagdollConnection:Disconnect() end antiRagdollConnection = RunService.Heartbeat:Connect(function() local char = player.Character if char then local hum = char:FindFirstChild("Humanoid") if hum and (hum:GetState() == Enum.HumanoidStateType.Ragdoll or hum:GetState() == Enum.HumanoidStateType.FallingDown) then hum:ChangeState(Enum.HumanoidStateType.Running) end end end) end local function setNoclip(enabled) if noclipConnection then noclipConnection:Disconnect() end if enabled then noclipConnection = RunService.Stepped:Connect(function() local char = player.Character if char then for _, part in ipairs(char:GetDescendants()) do if part:IsA("BasePart") then part.CanCollide = false end end end end) end end local function setCharacterVisible(visible, char) char = char or player.Character if not char then return end local transp = visible and 0 or 1 for _, part in ipairs(char:GetDescendants()) do if part:IsA("BasePart") then part.Transparency = transp end end end -- // Find brainrot local function findBrainrotInRadius(radius) radius = radius or autoStealRadius local bestDist = math.huge local bestTarget = nil local char = player.Character local root = char and char:FindFirstChild("HumanoidRootPart") local pos = root and root.Position or Vector3.zero local function search(inst) if inst:IsA("BasePart") and inst.Name:lower():find(BRAINROT_KEYWORD) then local d = (inst.Position - pos).Magnitude if d <= radius and d < bestDist then bestDist = d; bestTarget = inst end end for _, child in ipairs(inst:GetChildren()) do search(child) end end search(Workspace) return bestTarget, bestDist end -- // Core steal local function performSteal(target) if isStealing then return false end isStealing = true task.spawn(function() task.wait(0.5); isStealing = false end) if not target then isStealing = false; return false end local char = player.Character if not char then isStealing = false; return false end local hum = char:FindFirstChild("Humanoid") if not hum then isStealing = false; return false end disableAnimations(char) disableTextures(char) setNoclip(true) setCharacterVisible(false, char) local root = char:FindFirstChild("HumanoidRootPart") if root then root.CFrame = CFrame.new(0, 9999, 0) task.wait(0.1) root.CFrame = target.CFrame + Vector3.new(0, 3, 0) end task.wait(0.1) local stolen = target:Clone() stolen.Parent = player.Backpack target:Destroy() hum.Health = 0 local conn conn = player.CharacterAdded:Connect(function(newChar) conn:Disconnect() task.wait(0.3) disableTextures(newChar) disableAnimations(newChar) setCharacterVisible(true, newChar) if stolen and stolen.Parent ~= newChar then stolen.Parent = newChar if stolen:IsA("Tool") then stolen.Parent = player.Backpack end end local newRoot = newChar:FindFirstChild("HumanoidRootPart") if newRoot then newRoot.CFrame = CFrame.new(BASE_POSITION) end setNoclip(true) end) return true end -- // Auto-steal loop local function startAutoLoop() if autoStealConnection then autoStealConnection:Disconnect() end if not autoStealActive then return end autoStealConnection = RunService.Heartbeat:Connect(function() if autoStealCooldown or isStealing then return end local target = findBrainrotInRadius() if target then autoStealCooldown = true performSteal(target) task.wait(STEAL_COOLDOWN) autoStealCooldown = false end end) end local function stopAutoLoop() if autoStealConnection then autoStealConnection:Disconnect(); autoStealConnection = nil end end -- // Progress bar local function updateProgressBar() if not progressBarActive or not progressBar then return end if autoStealCooldown then local elapsed = 0 local startTime = tick() while autoStealCooldown and progressBar and progressFrame do local percent = math.min(1, (tick() - startTime) / STEAL_COOLDOWN) progressFrame.Size = UDim2.new(percent, 0, 1, 0) task.wait() end if progressFrame then progressFrame.Size = UDim2.new(0, 0, 1, 0) end else if progressFrame then progressFrame.Size = UDim2.new(0, 0, 1, 0) end end end local function createProgressBar() if progressBar then progressBar:Destroy() end if not progressBarActive then return end progressBar = Instance.new("ScreenGui") progressBar.Name = "ZHubProgress" progressBar.ResetOnSpawn = false progressBar.Parent = CoreGui local main = Instance.new("Frame") main.Size = UDim2.new(0, 300, 0, 20) main.Position = UDim2.new(0.5, -150, 0.9, 0) main.BackgroundColor3 = Color3.fromRGB(30, 0, 50) main.BackgroundTransparency = 0.3 main.BorderSizePixel = 0 main.Parent = progressBar Instance.new("UICorner").CornerRadius = UDim.new(0, 10) local progress = Instance.new("Frame") progress.Size = UDim2.new(0, 0, 1, 0) progress.BackgroundColor3 = Color3.fromRGB(156, 39, 176) progress.BorderSizePixel = 0 progress.Parent = main Instance.new("UICorner").CornerRadius = UDim.new(0, 10) local label = Instance.new("TextLabel") label.Size = UDim2.new(1, 0, 1, 0) label.BackgroundTransparency = 1 label.Text = "AUTO-STEAL COOLDOWN" label.TextColor3 = Color3.fromRGB(255,255,255) label.TextSize = 10 label.Font = Enum.Font.GothamBold label.Parent = main progressFrame = progress while progressBarActive and progressBar do if autoStealCooldown and autoStealActive then local start = tick() while autoStealCooldown and progressFrame do local p = math.min(1, (tick() - start) / STEAL_COOLDOWN) progressFrame.Size = UDim2.new(p, 0, 1, 0) task.wait() end else if progressFrame then progressFrame.Size = UDim2.new(0, 0, 1, 0) end task.wait(0.5) end end end -- // GUI Creation (Draggable Purple Lightning) local function createGUI() local screenGui = Instance.new("ScreenGui") screenGui.Name = "ZHub" screenGui.ResetOnSpawn = false screenGui.Parent = CoreGui local main = Instance.new("Frame") main.Size = UDim2.new(0, 280, 0, 450) main.Position = UDim2.new(0.5, -140, 0.5, -225) main.BackgroundColor3 = Color3.fromRGB(25, 0, 45) main.BackgroundTransparency = 0.15 main.BorderSizePixel = 0 main.ClipsDescendants = true main.Parent = screenGui Instance.new("UICorner").CornerRadius = UDim.new(0, 12) local stroke = Instance.new("UIStroke") stroke.Thickness = 2 stroke.Color = Color3.fromRGB(156, 39, 176) stroke.Transparency = 0.3 stroke.Parent = main local grad = Instance.new("UIGradient") grad.Color = ColorSequence.new{ColorSequenceKeypoint.new(0, Color3.fromRGB(75,0,130)), ColorSequenceKeypoint.new(0.5, Color3.fromRGB(148,0,211)), ColorSequenceKeypoint.new(1, Color3.fromRGB(75,0,130))} grad.Parent = main pcall(function() TweenService:Create(grad, TweenInfo.new(2, Enum.EasingStyle.Linear, Enum.EasingDirection.InOut, -1, true), {Offset = Vector2.new(1,0)}):Play() end) local glow = Instance.new("Frame") glow.Size = UDim2.new(1,0,1,0) glow.BackgroundColor3 = Color3.fromRGB(156,39,176) glow.BackgroundTransparency = 0.85 glow.BorderSizePixel = 0 glow.Parent = main Instance.new("UICorner").CornerRadius = UDim.new(0,12) TweenService:Create(glow, TweenInfo.new(1.5, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut, -1, true), {BackgroundTransparency = 0.7}):Play() -- Title bar (drag) local title = Instance.new("Frame") title.Size = UDim2.new(1,0,0,35) title.BackgroundColor3 = Color3.fromRGB(156,39,176) title.BackgroundTransparency = 0.3 title.BorderSizePixel = 0 title.Parent = main Instance.new("UICorner").CornerRadius = UDim.new(0,12) local titleText = Instance.new("TextLabel") titleText.Size = UDim2.new(1,-40,1,0) titleText.Position = UDim2.new(0,10,0,0) titleText.BackgroundTransparency = 1 titleText.Text = "⚡ Z HUB | PURPLE EDITION" titleText.TextColor3 = Color3.fromRGB(255,255,255) titleText.TextSize = 13 titleText.Font = Enum.Font.GothamBold titleText.TextXAlignment = Enum.TextXAlignment.Left titleText.Parent = title local close = Instance.new("TextButton") close.Size = UDim2.new(0,30,1,0) close.Position = UDim2.new(1,-30,0,0) close.BackgroundTransparency = 1 close.Text = "✕" close.TextColor3 = Color3.fromRGB(255,255,255) close.TextSize = 18 close.Font = Enum.Font.GothamBold close.Parent = title close.MouseButton1Click:Connect(function() screenGui:Destroy() removeScreenLight() if progressBar then progressBar:Destroy() end end) -- Dragging logic local dragging = false, dragStart, startPos title.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = true dragStart = input.Position startPos = main.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false end end) end end) title.InputChanged:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement and dragging then local delta = input.Position - dragStart main.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y) end end) local content = Instance.new("Frame") content.Size = UDim2.new(1,-20,1,-55) content.Position = UDim2.new(0,10,0,45) content.BackgroundTransparency = 1 content.Parent = main -- Manual Steal Button local stealBtn = Instance.new("TextButton") stealBtn.Size = UDim2.new(1,0,0,45) stealBtn.Position = UDim2.new(0,0,0,5) stealBtn.BackgroundColor3 = Color3.fromRGB(156,39,176) stealBtn.Text = "⚡ INSTANT STEAL (MANUAL)" stealBtn.TextColor3 = Color3.fromRGB(255,255,255) stealBtn.TextSize = 14 stealBtn.Font = Enum.Font.GothamBold stealBtn.AutoButtonColor = false stealBtn.Parent = content Instance.new("UICorner").CornerRadius = UDim.new(0,8) stealBtn.MouseEnter:Connect(function() TweenService:Create(stealBtn, TweenInfo.new(0.2), {BackgroundColor3 = Color3.fromRGB(186,59,206)}):Play() end) stealBtn.MouseLeave:Connect(function() TweenService:Create(stealBtn, TweenInfo.new(0.2), {BackgroundColor3 = Color3.fromRGB(156,39,176)}):Play() end) stealBtn.MouseButton1Click:Connect(function() stealBtn.Text = "⚡ STEALING... ⚡" task.spawn(function() local target = findBrainrotInRadius(math.huge) if target then performSteal(target) end task.wait(2) stealBtn.Text = "⚡ INSTANT STEAL (MANUAL)" end) end) -- Auto-Steal Toggle local autoToggle = Instance.new("TextButton") autoToggle.Size = UDim2.new(1,0,0,35) autoToggle.Position = UDim2.new(0,0,0,58) autoToggle.BackgroundColor3 = Color3.fromRGB(45,0,75) autoToggle.Text = "🔄 AUTO-STEAL: OFF" autoToggle.TextColor3 = Color3.fromRGB(200,200,200) autoToggle.TextSize = 13 autoToggle.Font = Enum.Font.Gotham autoToggle.Parent = content Instance.new("UICorner").CornerRadius = UDim.new(0,6) autoToggle.MouseButton1Click:Connect(function() autoStealActive = not autoStealActive autoToggle.Text = autoStealActive and "🔄 AUTO-STEAL: ON" or "🔄 AUTO-STEAL: OFF" autoToggle.BackgroundColor3 = autoStealActive and Color3.fromRGB(0,100,0) or Color3.fromRGB(45,0,75) if autoStealActive then startAutoLoop() else stopAutoLoop() end end) -- Radius Slider local radiusLabel = Instance.new("TextLabel") radiusLabel.Size = UDim2.new(0.5,0,0,25) radiusLabel.Position = UDim2.new(0,0,0,100) radiusLabel.BackgroundTransparency = 1 radiusLabel.Text = "Radius: " .. autoStealRadius radiusLabel.TextColor3 = Color3.fromRGB(200,200,255) radiusLabel.TextSize = 12 radiusLabel.Font = Enum.Font.Gotham radiusLabel.TextXAlignment = Enum.TextXAlignment.Left radiusLabel.Parent = content local sliderBg = Instance.new("Frame") sliderBg.Size = UDim2.new(0.45,0,0,8) sliderBg.Position = UDim2.new(0.5,0,0,108) sliderBg.BackgroundColor3 = Color3.fromRGB(60,60,80) sliderBg.BorderSizePixel = 0 sliderBg.Parent = content Instance.new("UICorner").CornerRadius = UDim.new(1,0) local sliderFill = Instance.new("Frame") sliderFill.Size = UDim2.new(autoStealRadius/100,0,1,0) sliderFill.BackgroundColor3 = Color3.fromRGB(156,39,176) sliderFill.BorderSizePixel = 0 sliderFill.Parent = sliderBg Instance.new("UICorner").CornerRadius = UDim.new(1,0) local sliderButton = Instance.new("TextButton") sliderButton.Size = UDim2.new(0,12,0,12) sliderButton.Position = UDim2.new(autoStealRadius/100, -6, 0.5, -6) sliderButton.BackgroundColor3 = Color3.fromRGB(255,255,255) sliderButton.Text = "" sliderButton.Parent = sliderBg Instance.new("UICorner").CornerRadius = UDim.new(1,0) local sliding = false sliderButton.MouseButton1Down:Connect(function() sliding = true local mousePos = nil local con con = UserInputService.InputChanged:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement and sliding then local rel = (input.Position.X - sliderBg.AbsolutePosition.X) / sliderBg.AbsoluteSize.X local val = math.clamp(rel, 0, 1) autoStealRadius = math.floor(val * 100) radiusLabel.Text = "Radius: " .. autoStealRadius sliderFill.Size = UDim2.new(val,0,1,0) sliderButton.Position = UDim2.new(val, -6, 0.5, -6) end end) local releaseCon releaseCon = UserInputService.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then sliding = false con:Disconnect() releaseCon:Disconnect() end end) end) -- Progress Bar Toggle local progToggle = Instance.new("TextButton") progToggle.Size = UDim2.new(1,0,0,35) progToggle.Position = UDim2.new(0,0,0,145) progToggle.BackgroundColor3 = Color3.fromRGB(45,0,75) progToggle.Text = "📊 PROGRESS BAR: ON" progToggle.TextColor3 = Color3.fromRGB(200,200,200) progToggle.TextSize = 13 progToggle.Font = Enum.Font.Gotham progToggle.Parent = content Instance.new("UICorner").CornerRadius = UDim.new(0,6) progToggle.MouseButton1Click:Connect(function() progressBarActive = not progressBarActive progToggle.Text = progressBarActive and "📊 PROGRESS BAR: ON" or "📊 PROGRESS BAR: OFF" if progressBarActive then task.spawn(createProgressBar) else if progressBar then progressBar:Destroy() end end end) -- Screen Light Toggle local lightToggle = Instance.new("TextButton") lightToggle.Size = UDim2.new(1,0,0,35) lightToggle.Position = UDim2.new(0,0,0,188) lightToggle.BackgroundColor3 = Color3.fromRGB(45,0,75) lightToggle.Text = "💡 SCREEN LIGHT: ON" lightToggle.TextColor3 = Color3.fromRGB(200,200,200) lightToggle.TextSize = 13 lightToggle.Font = Enum.Font.Gotham lightToggle.Parent = content Instance.new("UICorner").CornerRadius = UDim.new(0,6) local lightOn = true lightToggle.MouseButton1Click:Connect(function() lightOn = not lightOn lightToggle.Text = lightOn and "💡 SCREEN LIGHT: ON" or "💡 SCREEN LIGHT: OFF" if lightOn then createScreenLight() else removeScreenLight() end end) -- Noclip Toggle local noclipToggle = Instance.new("TextButton") noclipToggle.Size = UDim2.new(1,0,0,35) noclipToggle.Position = UDim2.new(0,0,0,231) noclipToggle.BackgroundColor3 = Color3.fromRGB(45,0,75) noclipToggle.Text = "🔓 NOCLIP: ON" noclipToggle.TextColor3 = Color3.fromRGB(200,200,200) noclipToggle.TextSize = 13 noclipToggle.Font = Enum.Font.Gotham noclipToggle.Parent = content Instance.new("UICorner").CornerRadius = UDim.new(0,6) local noclipState = true noclipToggle.MouseButton1Click:Connect(function() noclipState = not noclipState setNoclip(noclipState) noclipToggle.Text = noclipState and "🔓 NOCLIP: ON" or "🔒 NOCLIP: OFF" noclipToggle.BackgroundColor3 = noclipState and Color3.fromRGB(45,0,75) or Color3.fromRGB(60,60,60) end) -- FPS status local fpsLabel = Instance.new("TextLabel") fpsLabel.Size = UDim2.new(1,0,0,20) fpsLabel.Position = UDim2.new(0,0,1,-25) fpsLabel.BackgroundTransparency = 1 fpsLabel.Text = "⚡ FPS BOOST ACTIVE" fpsLabel.TextColor3 = Color3.fromRGB(100,200,100) fpsLabel.TextSize = 10 fpsLabel.Font = Enum.Font.Gotham fpsLabel.TextXAlignment = Enum.TextXAlignment.Center fpsLabel.Parent = main -- Start screen light by default createScreenLight() task.spawn(createProgressBar) return screenGui end -- // Initialize local function init() applyFPSBoost() startAntiRagdoll() setNoclip(true) createGUI() player.CharacterAdded:Connect(function(char) task.wait(0.2) disableTextures(char) disableAnimations(char) setNoclip(true) startAntiRagdoll() end) if player.Character then disableTextures(player.Character) disableAnimations(player.Character) end debugPrint("Z Hub fully loaded! Ready to steal.") end init()