itami
Key RequiredUniversal

itami

Universal ScriptBucchinBucchin 951 views 6 executesUpdated Jul 27, 2025
Unrated
00
Lua Script•674 lines (20000 chars)
-- 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

Features & Information

Just destroyer

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts