-- Ultimate Hacker GUI by 悲痛感 -- Each toggle unique, named, with ON/OFF working and different powers local Players = game:GetService("Players") local RunService = game:GetService("RunService") local TweenService = game:GetService("TweenService") local Debris = game:GetService("Debris") local Lighting = game:GetService("Lighting") local SoundService = game:GetService("SoundService") local player = Players.LocalPlayer local char = player.Character or player.CharacterAdded:Wait() local hrp = char:WaitForChild("HumanoidRootPart") local guiParent = player:WaitForChild("PlayerGui") local screen = Instance.new("ScreenGui") screen.Name = "SorrowHack_UI" screen.Parent = guiParent screen.ResetOnSpawn = false -- Main container local container = Instance.new("Frame") container.Size = UDim2.new(0, 320, 0, 600) -- taller for more buttons container.Position = UDim2.new(0.03, 0, 0.07, 0) container.BackgroundColor3 = Color3.fromRGB(10,10,10) container.Parent = screen container.ClipsDescendants = true local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(0, 16) corner.Parent = container -- Title local title = Instance.new("TextLabel") title.Size = UDim2.new(1,0,0,38) title.BackgroundTransparency = 1 title.Text = "悲痛感 Sorrow Hack" title.TextColor3 = Color3.fromRGB(0,255,170) title.Font = Enum.Font.Arcade title.TextSize = 26 title.Parent = container -- Close button local closeBtn = Instance.new("TextButton") closeBtn.Size = UDim2.new(0, 30, 0, 30) closeBtn.Position = UDim2.new(1, -35, 0, 4) closeBtn.Text = "✕" closeBtn.TextColor3 = Color3.fromRGB(255,80,80) closeBtn.BackgroundColor3 = Color3.fromRGB(20,20,20) closeBtn.Parent = container closeBtn.MouseButton1Click:Connect(function() screen.Enabled = false end) -- Scrolling frame for buttons local scrollFrame = Instance.new("ScrollingFrame") scrollFrame.Size = UDim2.new(1, -20, 1, -50) scrollFrame.Position = UDim2.new(0, 10, 0, 48) scrollFrame.BackgroundTransparency = 1 scrollFrame.ScrollBarThickness = 7 scrollFrame.Parent = container scrollFrame.CanvasSize = UDim2.new(0, 0, 0, 0) local layout = Instance.new("UIListLayout") layout.Padding = UDim.new(0, 6) layout.SortOrder = Enum.SortOrder.LayoutOrder layout.Parent = scrollFrame local function updateCanvas() scrollFrame.CanvasSize = UDim2.new(0, 0, 0, layout.AbsoluteContentSize.Y + 20) end layout:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(updateCanvas) updateCanvas() local function createToggleButton(name, onFunc, offFunc) local btn = Instance.new("TextButton") btn.Size = UDim2.new(1,0,0,34) btn.BackgroundColor3 = Color3.fromRGB(25,25,25) btn.TextColor3 = Color3.fromRGB(0,255,170) btn.Font = Enum.Font.SourceSansBold btn.TextSize = 18 btn.Text = name.." [OFF]" btn.Parent = scrollFrame local active = false local currentTask = nil btn.MouseEnter:Connect(function() TweenService:Create(btn, TweenInfo.new(0.15), {BackgroundColor3=Color3.fromRGB(0,255,170), TextColor3=Color3.fromRGB(15,15,15)}):Play() end) btn.MouseLeave:Connect(function() TweenService:Create(btn, TweenInfo.new(0.15), {BackgroundColor3=Color3.fromRGB(25,25,25), TextColor3=Color3.fromRGB(0,255,170)}):Play() end) btn.MouseButton1Click:Connect(function() active = not active btn.Text = name .. (active and " [ON]" or " [OFF]") if active then currentTask = onFunc() else if offFunc then offFunc() end if currentTask and coroutine.status(currentTask) == "suspended" then coroutine.close(currentTask) end currentTask = nil end end) end -- Existing original 7 features: -- 1) Glitch Screen Shake local shakeRunning = false local function startShake() local cam = workspace.CurrentCamera local origCF = cam.CFrame shakeRunning = true local co = coroutine.create(function() while shakeRunning do local offset = Vector3.new( (math.random()-0.5)*4, (math.random()-0.5)*4, (math.random()-0.5)*4 ) cam.CFrame = origCF * CFrame.new(offset) RunService.RenderStepped:Wait() end cam.CFrame = origCF end) coroutine.resume(co) return co end local function stopShake() shakeRunning = false end -- 2) Popup Storm local popupStormRunning = false local function startPopupStorm() popupStormRunning = true local co = coroutine.create(function() while popupStormRunning do local f = Instance.new("Frame") f.Size = UDim2.new(0, math.random(180, 300), 0, math.random(60, 90)) f.Position = UDim2.new(math.random(), 0, math.random(), 0) f.BackgroundColor3 = Color3.fromHSV(math.random(), 0.8, 1) f.BorderSizePixel = 2 f.Parent = screen local t = Instance.new("TextLabel") t.Size = UDim2.new(1,-10,1,-10) t.Position = UDim2.new(0,5,0,5) t.BackgroundTransparency = 1 t.TextColor3 = Color3.fromRGB(255,255,255) t.Font = Enum.Font.Code t.TextSize = 20 t.Text = "HACKED BY 悲痛感" t.Parent = f delay(0.5, function() f:Destroy() end) wait(0.15) end end) coroutine.resume(co) return co end local function stopPopupStorm() popupStormRunning = false end -- 3) Floating Warning Texts local floatWarningRunning = false local function startFloatWarning() floatWarningRunning = true local co = coroutine.create(function() while floatWarningRunning do local bg = Instance.new("BillboardGui") bg.Size = UDim2.new(0, 200, 0, 50) bg.AlwaysOnTop = true bg.Adornee = hrp bg.StudsOffset = Vector3.new(math.random(-4,4), 3 + math.random(), math.random(-4,4)) bg.Parent = workspace local lbl = Instance.new("TextLabel") lbl.Size = UDim2.new(1,0,1,0) lbl.BackgroundTransparency = 1 lbl.Text = "WARNING!" lbl.Font = Enum.Font.SourceSansBold lbl.TextSize = 26 lbl.TextColor3 = Color3.fromRGB(255,0,0) lbl.Parent = bg delay(math.random(5,8), function() bg:Destroy() end) wait(0.4) end end) coroutine.resume(co) return co end local function stopFloatWarning() floatWarningRunning = false end -- 4) Random Explosions local explosionRunning = false local function startExplosions() explosionRunning = true local co = coroutine.create(function() while explosionRunning do local explosion = Instance.new("Explosion") local offset = Vector3.new(math.random(-20,20), math.random(1,10), math.random(-20,20)) explosion.Position = hrp.Position + offset explosion.BlastRadius = 7 explosion.BlastPressure = 500000 explosion.Parent = workspace wait(0.8) end end) coroutine.resume(co) return co end local function stopExplosions() explosionRunning = false end -- 5) Part Scale Madness local scaleRunning = false local function startScaleMadness() scaleRunning = true local co = coroutine.create(function() while scaleRunning do for _, part in pairs(char:GetChildren()) do if part:IsA("BasePart") then local s = 1 + (math.sin(tick()*5 + part.Position.Magnitude) * 0.5) part.Size = part.Size:Lerp(part.Size * s, 0.5) end end wait(0.1) end end) coroutine.resume(co) return co end local function stopScaleMadness() scaleRunning = false end -- 6) Chat Spam (safe, text only) local chatSpamRunning = false local function startChatSpam() chatSpamRunning = true local msgs = { "VIRUS ATTACK!", "HACKED BY 悲痛感", "DATA LEAK!", "INTRUDER ALERT!", "SYSTEM FAILURE!", } local co = coroutine.create(function() while chatSpamRunning do local msg = msgs[math.random(1, #msgs)] pcall(function() game:GetService("ReplicatedStorage").DefaultChatSystemChatEvents.SayMessageRequest:FireServer(msg, "All") end) wait(1) end end) coroutine.resume(co) return co end local function stopChatSpam() chatSpamRunning = false end -- 7) Particle Rain local particleRunning = false local particleEmitter = Instance.new("ParticleEmitter") particleEmitter.Texture = "rbxassetid://243098098" particleEmitter.Speed = NumberRange.new(5,8) particleEmitter.Rate = 100 particleEmitter.Lifetime = NumberRange.new(2,4) particleEmitter.Parent = hrp particleEmitter.Enabled = false local function startParticleRain() particleRunning = true particleEmitter.Enabled = true end local function stopParticleRain() particleRunning = false particleEmitter.Enabled = false end --[[ NEW 30+ CHAOS FEATURES BELOW ]] -- 8) RGB Fog Cycle local fogRunning = false local function startRgbFog() fogRunning = true local co = coroutine.create(function() local hue = 0 while fogRunning do hue = (hue + 0.01) % 1 Lighting.FogColor = Color3.fromHSV(hue,1,1) Lighting.FogEnd = 100 + 50 * math.sin(tick()) wait(0.1) end Lighting.FogColor = Color3.new(0,0,0) Lighting.FogEnd = 100000 end) coroutine.resume(co) return co end local function stopRgbFog() fogRunning = false Lighting.FogColor = Color3.new(0,0,0) Lighting.FogEnd = 100000 end -- 9) Looping Creepy Music local musicRunning = false local musicSound = Instance.new("Sound", SoundService) musicSound.SoundId = "rbxassetid://1843525227" -- creepy loop musicSound.Looped = true musicSound.Volume = 0.5 local function startCreepyMusic() musicRunning = true musicSound:Play() end local function stopCreepyMusic() musicRunning = false musicSound:Stop() end -- 10) Color Cycle Parts local colorCycleRunning = false local function startColorCycle() colorCycleRunning = true local co = coroutine.create(function() while colorCycleRunning do for _, part in pairs(char:GetChildren()) do if part:IsA("BasePart") then local c = Color3.fromHSV((tick()*0.5 + part.Position.Magnitude*0.01) % 1,1,1) part.Color = c end end wait(0.05) end end) coroutine.resume(co) return co end local function stopColorCycle() colorCycleRunning = false end -- 11) Camera Zoom Pulse local zoomRunning = false local function startCameraZoom() zoomRunning = true local cam = workspace.CurrentCamera local co = coroutine.create(function() while zoomRunning do for i = 1, 20 do if not zoomRunning then break end cam.FieldOfView = 70 + 10 * math.sin(i/2) wait(0.05) end end cam.FieldOfView = 70 end) coroutine.resume(co) return co end local function stopCameraZoom() zoomRunning = false workspace.CurrentCamera.FieldOfView = 70 end -- 12) Distorted Voice (Voice chat mute + fake distortion sound) local distortionRunning = false local distortionSound = Instance.new("Sound", hrp) distortionSound.SoundId = "rbxassetid://911882411" distortionSound.Looped = true distortionSound.Volume = 1 local function startDistortion() distortionRunning = true distortionSound:Play() -- Note: Roblox voice chat mute not accessible via scripts, so only play distortion sound end local function stopDistortion() distortionRunning = false distortionSound:Stop() end -- 13) Made In Heaven (Time Acceleration + Sun/Moon spin) local madeHeavenRunning = false local sun, moon local originalTime = Lighting.ClockTime local spinSpeed = 1 local function startMadeInHeaven() madeHeavenRunning = true sun = Lighting:FindFirstChild("SunRays") or Instance.new("SunRaysEffect", Lighting) moon = Lighting:FindFirstChild("Moon") or Instance.new("Part") spinSpeed = 0.1 local co = coroutine.create(function() while madeHeavenRunning do spinSpeed = spinSpeed + 0.01 Lighting.ClockTime = (Lighting.ClockTime + spinSpeed) % 24 -- fake sun/moon spin effect if sun then sun.Intensity = 1 + math.sin(tick()*spinSpeed*10) end wait(0.1) end Lighting.ClockTime = originalTime if sun then sun.Intensity = 1 end end) coroutine.resume(co) return co end local function stopMadeInHeaven() madeHeavenRunning = false Lighting.ClockTime = originalTime if sun then sun.Intensity = 1 end end -- 14) Fake Virus Popup Spam local virusPopupRunning = false local function startVirusPopupSpam() virusPopupRunning = true local co = coroutine.create(function() while virusPopupRunning do local f = Instance.new("Frame") f.Size = UDim2.new(0, math.random(150, 280), 0, math.random(60, 80)) f.Position = UDim2.new(math.random(), 0, math.random(), 0) f.BackgroundColor3 = Color3.fromRGB(50,0,0) f.BorderColor3 = Color3.fromRGB(255,0,0) f.BorderSizePixel = 3 f.Parent = screen local t = Instance.new("TextLabel") t.Size = UDim2.new(1,-10,1,-10) t.Position = UDim2.new(0,5,0,5) t.BackgroundTransparency = 1 t.TextColor3 = Color3.fromRGB(255,0,0) t.Font = Enum.Font.Code t.TextSize = 22 t.Text = "!!! VIRUS DETECTED !!!" t.Parent = f delay(0.7, function() f:Destroy() end) wait(0.2) end end) coroutine.resume(co) return co end local function stopVirusPopupSpam() virusPopupRunning = false end -- 15) Random Mouse Shake (Fake shaking cursor) local mouseShakeRunning = false local userInput = game:GetService("UserInputService") local guiShakeFrame = Instance.new("Frame", screen) guiShakeFrame.BackgroundTransparency = 1 guiShakeFrame.Size = UDim2.new(1,0,1,0) guiShakeFrame.Position = UDim2.new(0,0,0,0) local function startMouseShake() mouseShakeRunning = true local co = coroutine.create(function() while mouseShakeRunning do local x = (math.random()-0.5)*15 local y = (math.random()-0.5)*15 guiShakeFrame.Position = UDim2.new(0, x, 0, y) wait(0.03) end guiShakeFrame.Position = UDim2.new(0,0,0,0) end) coroutine.resume(co) return co end local function stopMouseShake() mouseShakeRunning = false guiShakeFrame.Position = UDim2.new(0,0,0,0) end -- 16) Corrupted Sound Effects (Random sounds play) local corruptedSoundRunning = false local corruptedSoundIds = { "rbxassetid://911882411", "rbxassetid://130769882", "rbxassetid://902942222", "rbxassetid://911884225", } local function startCorruptedSounds() corruptedSoundRunning = true local co = coroutine.create(function() while corruptedSoundRunning do local snd = Instance.new("Sound", hrp) snd.SoundId = corruptedSoundIds[math.random(1,#corruptedSoundIds)] snd.Volume = 1 snd.PlaybackSpeed = 1 + (math.random()-0.5) snd:Play() Debris:AddItem(snd, 3) wait(math.random(1,3)) end end) coroutine.resume(co) return co end local function stopCorruptedSounds() corruptedSoundRunning = false end -- 17) Exploding Parts Rain (Parts spawn and explode randomly) local explodingPartsRunning = false local function startExplodingParts() explodingPartsRunning = true local co = coroutine.create(function() while explodingPartsRunning do local part = Instance.new("Part") part.Size = Vector3.new(2,2,2) part.Position = hrp.Position + Vector3.new(math.random(-20,20), math.random(5,15), math.random(-20,20)) part.Anchored = false part.BrickColor = BrickColor.Random() part.Parent = workspace wait(1) local explosion = Instance.new("Explosion") explosion.Position = part.Position explosion.BlastRadius = 5 explosion.BlastPressure = 500000 explosion.Parent = workspace part:Destroy() wait(0.5) end end) coroutine.resume(co) return co end local function stopExplodingParts() explodingPartsRunning = false end -- 18) Flashing Background (GUI background flashes red/black) local flashBgRunning = false local function startFlashBg() flashBgRunning = true local co = coroutine.create(function() while flashBgRunning do for i = 1, 3 do container.BackgroundColor3 = Color3.fromRGB(255,0,0) wait(0.15) container.BackgroundColor3 = Color3.fromRGB(10,10,10) wait(0.15) end wait(0.5) end container.BackgroundColor3 = Color3.fromRGB(10,10,10) end) coroutine.resume(co) return co end local function stopFlashBg() flashBgRunning = false container.BackgroundColor3 = Color3.fromRGB(10,10,10) end -- 19) Screen Blur Pulse local blurRunning = false local blurEffect = Instance.new("BlurEffect", Lighting) blurEffect.Size = 0 local function startBlurPulse() blurRunning = true local co = coroutine.create(function() while blurRunning do for i = 0, 24, 2 do if not blurRunning then break end blurEffect.Size = i wait(0.05) end for i = 24, 0, -2 do if not blurRunning then break end blurEffect.Size = i wait(0.05) end end blurEffect.Size = 0 end) coroutine.resume(co) return co end local function stopBlurPulse() blurRunning = false blurEffect.Size = 0 end -- 20) Random Camera Spin local camSpinRunning = false local function startCamSpin() camSpinRunning = true local cam = workspace.CurrentCamera local origCF = cam.CFrame local co = coroutine.create(function() while camSpinRunning do local angle = tick()*5 cam.CFrame = origCF * CFrame.Angles(0, math.rad(angle), 0) wait(0.03) end cam.CFrame = origCF end) coroutine.resume(co) return co end local function stopCamSpin() camSpinRunning = false end -- 21) Random Player Jumps local jumpRunning = false local function startRandomJumps() jumpRunning = true local hum = char:FindFirstChildOfClass("Humanoid") local co = coroutine.create(function() while jumpRunning do if hum and hum:GetState() ~= Enum.HumanoidStateType.Dead then hum.Jump = true end wait(math.random(1,3)) end end) coroutine.resume(co) return co end local function stopRandomJumps() jumpRunning = false end -- 22) Flashing Text Overlay local flashTextRunning = false local flashTextGui = Instance.new("TextLabel", screen) flashTextGui.Size = UDim2.new(1,0,0,50) flashTextGui.Position = UDim2.new(0,0,0.9,0) flashTextGui.BackgroundTransparency = 1 flashTextGui.TextColor3 = Color3.fromRGB(255,0,0) flashTextGui.Font = Enum.Font.Arcade flashTextGui.TextSize = 40 flashTextGui.Text = "悲痛感" flashTextGui.Visible = false local function startFlashText() flashTextRunning = true flashTextGui.Visible = true local co = coroutine.create(function() while flashTextRu