Buchhin Nuke | Universal Server Nuke
Key RequiredUniversal

Buchhin Nuke | Universal Server Nuke

Universal ScriptBucchinBucchin 1.9K views 17.6K executesUpdated Aug 16, 2026
5.0/ 5(1 votes)
10100% Positive
Lua Script•1195 lines (20349 chars)
--============================================================
-- KICH CLIENT-SIDE HORROR CHAOS
--============================================================

local Players = game:GetService("Players")
local Lighting = game:GetService("Lighting")
local SoundService = game:GetService("SoundService")
local TweenService = game:GetService("TweenService")
local RunService = game:GetService("RunService")

local LocalPlayer = Players.LocalPlayer
local PlayerGui = LocalPlayer:WaitForChild("PlayerGui")

--============================================================
-- CONFIG
--============================================================

local DECAL_ID = "rbxassetid://122665175794198"

local JUMPSCARE_IMAGES = {
	"rbxassetid://128380752547605",
	"rbxassetid://76089406750584",
	"rbxassetid://124063283044930"
}

local BACKGROUND_SOUND_ID = "rbxassetid://123143562570662"
local JUMPSCARE_SOUND_ID = "rbxassetid://6129291390"

local WORLD_TILT = 40

local SCREEN_AVATAR_COUNT = 10

local JUMPSCARE_VISIBLE = 5
local JUMPSCARE_HIDDEN = 10

local MESSAGE_VISIBLE = 3
local MESSAGE_HIDDEN = 5

local PARTICLE_INTERVAL = 1

local FIRE_MIN_SIZE = 2
local FIRE_MAX_SIZE = 12

local FIRE_INTERVAL_MIN = 0.25
local FIRE_INTERVAL_MAX = 1

--============================================================
-- CLEAN PREVIOUS VERSION
--============================================================

if _G.KichChaosCleanup then
	pcall(_G.KichChaosCleanup)
end

local Running = true

local Connections = {}
local Created = {}

local OriginalCFrames = {}
local OriginalLighting = {}

local function Track(object)
	table.insert(Created, object)
	return object
end

local function Connect(signal, callback)
	local connection = signal:Connect(callback)
	table.insert(Connections, connection)
	return connection
end

--============================================================
-- CLEANUP
--============================================================

_G.KichChaosCleanup = function()

	Running = false

	for _, connection in ipairs(Connections) do
		pcall(function()
			connection:Disconnect()
		end)
	end

	for _, object in ipairs(Created) do
		pcall(function()
			object:Destroy()
		end)
	end

	for part, cf in pairs(OriginalCFrames) do
		pcall(function()
			if part and part.Parent then
				part.CFrame = cf
			end
		end)
	end

	for property, value in pairs(OriginalLighting) do
		pcall(function()
			Lighting[property] = value
		end)
	end

	_G.KichChaosCleanup = nil
end

--============================================================
-- HELPER: IS PLAYER CHARACTER?
--============================================================

local function IsPlayerCharacter(object)

	if not object then
		return false
	end

	local model = object:FindFirstAncestorOfClass("Model")

	if not model then
		return false
	end

	if Players:GetPlayerFromCharacter(model) then
		return true
	end

	return false
end

--============================================================
-- GUI
--============================================================

local ScreenGui = Track(Instance.new("ScreenGui"))

ScreenGui.Name = "KichHorrorGUI"
ScreenGui.ResetOnSpawn = false
ScreenGui.IgnoreGuiInset = true
ScreenGui.DisplayOrder = 999999
ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling

ScreenGui.Parent = PlayerGui

--============================================================
-- BACKGROUND SOUND
--============================================================

local BackgroundSound = Track(Instance.new("Sound"))

BackgroundSound.Name = "KichBackground"
BackgroundSound.SoundId = BACKGROUND_SOUND_ID
BackgroundSound.Volume = 1
BackgroundSound.Looped = true
BackgroundSound.Parent = SoundService

pcall(function()
	BackgroundSound:Play()
end)

--============================================================
-- JUMPSCARE SOUND
--============================================================

local function PlayJumpscareSound()

	if not Running then
		return
	end

	local sound = Track(Instance.new("Sound"))

	sound.Name = "KichJumpscareSound"
	sound.SoundId = JUMPSCARE_SOUND_ID
	sound.Volume = 2
	sound.Parent = SoundService

	pcall(function()
		sound:Play()
	end)

	task.delay(10, function()
		pcall(function()
			sound:Destroy()
		end)
	end)
end

--============================================================
-- FULL SCREEN JUMPSCARE
--============================================================

local CurrentJumpscare = nil

local function ShowJumpscare()

	if not Running then
		return
	end

	if CurrentJumpscare then
		pcall(function()
			CurrentJumpscare:Destroy()
		end)
	end

	local frame = Track(Instance.new("Frame"))

	frame.Name = "KichFullScreenJumpscare"

	frame.Size = UDim2.fromScale(1, 1)
	frame.Position = UDim2.fromScale(0, 0)

	frame.BackgroundColor3 = Color3.new(0, 0, 0)
	frame.BackgroundTransparency = 0

	frame.BorderSizePixel = 0

	frame.ZIndex = 1000000

	frame.Parent = ScreenGui

	CurrentJumpscare = frame

	local image = Instance.new("ImageLabel")

	image.Name = "JumpscareImage"

	image.Size = UDim2.fromScale(1, 1)
	image.Position = UDim2.fromScale(0, 0)

	image.BackgroundTransparency = 1
	image.BorderSizePixel = 0

	image.Image =
		JUMPSCARE_IMAGES[
			math.random(1, #JUMPSCARE_IMAGES)
		]

	image.ScaleType = Enum.ScaleType.Stretch
	image.ZIndex = 1000001

	image.Parent = frame

	-- White flash.
	local flash = Instance.new("Frame")

	flash.Size = UDim2.fromScale(1, 1)
	flash.Position = UDim2.fromScale(0, 0)

	flash.BackgroundColor3 = Color3.new(1, 1, 1)
	flash.BackgroundTransparency = 0

	flash.BorderSizePixel = 0

	flash.ZIndex = 1000002
	flash.Parent = frame

	TweenService:Create(
		flash,
		TweenInfo.new(0.12),
		{
			BackgroundTransparency = 1
		}
	):Play()

	task.delay(0.15, function()
		pcall(function()
			flash:Destroy()
		end)
	end)

	PlayJumpscareSound()

	task.delay(JUMPSCARE_VISIBLE, function()

		if CurrentJumpscare == frame then
			CurrentJumpscare = nil
		end

		pcall(function()
			frame:Destroy()
		end)

	end)
end

task.spawn(function()

	task.wait(1)

	while Running do

		ShowJumpscare()

		task.wait(JUMPSCARE_VISIBLE)

		if not Running then
			break
		end

		task.wait(JUMPSCARE_HIDDEN)

	end

end)

--============================================================
-- SCREEN AVATAR SPAM
--============================================================

local AvatarImage =
	"rbxthumb://type=AvatarHeadShot&id="
	.. tostring(LocalPlayer.UserId)
	.. "&w=420&h=420"

local function CreateScreenAvatar(index)

	local avatar = Track(Instance.new("ImageLabel"))

	avatar.Name = "KichAvatar_" .. index

	avatar.BackgroundTransparency = 1
	avatar.BorderSizePixel = 0

	avatar.Image = AvatarImage

	local size = math.random(45, 80)

	avatar.Size = UDim2.fromOffset(size, size)

	avatar.AnchorPoint =
		Vector2.new(0.5, 0.5)

	avatar.Position =
		UDim2.fromScale(
			math.random(5, 95) / 100,
			math.random(5, 95) / 100
		)

	avatar.Rotation = math.random(-45, 45)

	avatar.ImageTransparency =
		math.random(0, 30) / 100

	avatar.ZIndex = 500

	avatar.Parent = ScreenGui

	task.spawn(function()

		while Running and avatar.Parent do

			task.wait(
				math.random(8, 18) / 10
			)

			if not Running or not avatar.Parent then
				break
			end

			local tween = TweenService:Create(
				avatar,

				TweenInfo.new(
					math.random(8, 18) / 10,
					Enum.EasingStyle.Sine,
					Enum.EasingDirection.InOut
				),

				{
					Position =
						UDim2.fromScale(
							math.random(4, 96) / 100,
							math.random(4, 96) / 100
						),

					Rotation =
						math.random(-50, 50)
				}
			)

			tween:Play()

		end

	end)

end

for i = 1, SCREEN_AVATAR_COUNT do
	CreateScreenAvatar(i)
end

--============================================================
-- DECAL SPAM
--============================================================

local Faces = {
	Enum.NormalId.Front,
	Enum.NormalId.Back,
	Enum.NormalId.Left,
	Enum.NormalId.Right,
	Enum.NormalId.Top,
	Enum.NormalId.Bottom
}

local function AddDecals(part)

	if not Running then
		return
	end

	if not part:IsA("BasePart") then
		return
	end

	-- IMPORTANT:
	-- Never put the decal spam on players.
	if IsPlayerCharacter(part) then
		return
	end

	for _, face in ipairs(Faces) do

		local decal = Instance.new("Decal")

		decal.Name = "KichDecal"
		decal.Texture = DECAL_ID
		decal.Face = face
		decal.Transparency = 0

		decal.Parent = part

		Track(decal)

	end

end

for _, object in ipairs(workspace:GetDescendants()) do

	if not Running then
		break
	end

	if object:IsA("BasePart") then
		AddDecals(object)
	end

end

Connect(
	workspace.DescendantAdded,
	function(object)

		if not Running then
			return
		end

		if object:IsA("BasePart") then

			task.defer(function()

				if Running and object.Parent then
					AddDecals(object)
				end

			end)

		end

	end
)

--============================================================
-- WORLD TILT
--============================================================

-- Save original positions.
for _, object in ipairs(workspace:GetDescendants()) do

	if object:IsA("BasePart") then

		if not IsPlayerCharacter(object) then
			OriginalCFrames[object] =
				object.CFrame
		end

	end

end

-- Find a stable pivot.
local PivotPosition = Vector3.zero
local GotPivot = false

for _, object in ipairs(workspace:GetDescendants()) do

	if object:IsA("SpawnLocation") then

		PivotPosition = object.Position
		GotPivot = true

		break

	end

end

if not GotPivot then

	for part, cf in pairs(OriginalCFrames) do

		if part and part.Parent then

			PivotPosition = cf.Position
			GotPivot = true

			break

		end

	end

end

local Pivot =
	CFrame.new(PivotPosition)

local Rotation =
	CFrame.Angles(
		0,
		0,
		math.rad(WORLD_TILT)
	)

-- Apply identical rotation around the same pivot.
for part, originalCF in pairs(OriginalCFrames) do

	if Running and part and part.Parent then

		local relative =
			Pivot:ToObjectSpace(originalCF)

		part.CFrame =
			Pivot
			* Rotation
			* relative

	end

end

--============================================================
-- TRUE COLOR INVERSION
--============================================================
-- This follows the method used by the script you linked:
-- TWO ColorCorrectionEffects with Contrast = -1.
--
-- Roblox ColorCorrection supports Contrast, Saturation,
-- Brightness and TintColor, and Contrast = -1 produces
-- the negative-style effect.
--============================================================

local OldEffects = {}

-- Don't leave old Kich effects from previous executions.
for _, object in ipairs(Lighting:GetChildren()) do

	if object.Name == "KichInvert1"
		or object.Name == "KichInvert2"
		or object.Name == "KichDarkGrade" then

		pcall(function()
			object:Destroy()
		end)

	end

end

local Invert1 =
	Track(
		Instance.new("ColorCorrectionEffect")
	)

Invert1.Name = "KichInvert1"

Invert1.Brightness = 0
Invert1.Contrast = -1
Invert1.Saturation = 0
Invert1.TintColor = Color3.new(1, 1, 1)

Invert1.Parent = Lighting

local Invert2 =
	Track(
		Instance.new("ColorCorrectionEffect")
	)

Invert2.Name = "KichInvert2"

Invert2.Brightness = 0
Invert2.Contrast = -1
Invert2.Saturation = 0
Invert2.TintColor = Color3.new(1, 1, 1)

Invert2.Parent = Lighting

--============================================================
-- KEEP THE WORLD VISIBLE
--============================================================

OriginalLighting.Brightness =
	Lighting.Brightness

OriginalLighting.ExposureCompensation =
	Lighting.ExposureCompensation

OriginalLighting.Ambient =
	Lighting.Ambient

OriginalLighting.OutdoorAmbient =
	Lighting.OutdoorAmbient

OriginalLighting.FogColor =
	Lighting.FogColor

OriginalLighting.FogStart =
	Lighting.FogStart

OriginalLighting.FogEnd =
	Lighting.FogEnd

-- Don't crush the scene to black.
Lighting.Brightness = 1.5
Lighting.ExposureCompensation = 0

Lighting.Ambient =
	Color3.fromRGB(80, 80, 80)

Lighting.OutdoorAmbient =
	Color3.fromRGB(65, 65, 65)

Lighting.FogStart = 200
Lighting.FogEnd = 1200

--============================================================
-- KICH AVATAR PARTICLES ON PLAYERS
--============================================================

local function CreatePlayerParticle(player)

	if not Running then
		return
	end

	if not player.Character then
		return
	end

	local character = player.Character

	local root =
		character:FindFirstChild("HumanoidRootPart")

	if not root then
		return
	end

	local attachment = Instance.new("Attachment")

	attachment.Name =
		"KichAvatarParticleAttachment"

	attachment.Position =
		Vector3.new(
			math.random(-2, 2),
			math.random(0, 3),
			math.random(-2, 2)
		)

	attachment.Parent = root

	Track(attachment)

	-- Use the avatar image as the particle texture.
	local emitter =
		Instance.new("ParticleEmitter")

	emitter.Name =
		"KichAvatarParticles"

	emitter.Texture = AvatarImage

	emitter.Rate = 0

	emitter.Lifetime =
		NumberRange.new(2, 4)

	emitter.Speed =
		NumberRange.new(1, 4)

	emitter.Rotation =
		NumberRange.new(-180, 180)

	emitter.RotSpeed =
		NumberRange.new(-90, 90)

	emitter.SpreadAngle =
		Vector2.new(360, 360)

	emitter.LightEmission = 0.2

	emitter.Size =
		NumberSequence.new({
			NumberSequenceKeypoint.new(
				0,
				0.6
			),

			NumberSequenceKeypoint.new(
				0.5,
				0.9
			),

			NumberSequenceKeypoint.new(
				1,
				0
			)
		})

	emitter.Transparency =
		NumberSequence.new({
			NumberSequenceKeypoint.new(
				0,
				0.1
			),

			NumberSequenceKeypoint.new(
				0.7,
				0.3
			),

			NumberSequenceKeypoint.new(
				1,
				1
			)
		})

	emitter.Parent = attachment

	Track(emitter)

	-- One avatar particle every second.
	task.spawn(function()

		while Running
			and player.Parent
			and character.Parent
			and root.Parent do

			emitter:Emit(1)

			task.wait(PARTICLE_INTERVAL)

		end

	end)

end

local function SetupPlayer(player)

	task.spawn(function()

		local character =
			player.Character
			or player.CharacterAdded:Wait()

		if Running then
			task.wait(0.5)
			CreatePlayerParticle(player)
		end

	end)

	Connect(
		player.CharacterAdded,
		function(character)

			task.wait(0.5)

			if Running then
				CreatePlayerParticle(player)
			end

		end
	)

end

for _, player in ipairs(Players:GetPlayers()) do
	SetupPlayer(player)
end

Connect(
	Players.PlayerAdded,
	function(player)

		if Running then
			SetupPlayer(player)
		end

	end
)

--============================================================
-- RANDOM FIRE ON WORLD PARTS
--============================================================

local FireColors = {
	Color3.fromRGB(255, 70, 20),
	Color3.fromRGB(255, 120, 10),
	Color3.fromRGB(255, 210, 30),
	Color3.fromRGB(40, 120, 255),
	Color3.fromRGB(70, 220, 255),
	Color3.fromRGB(180, 30, 255),
	Color3.fromRGB(255, 30, 120),
	Color3.fromRGB(255, 255, 255)
}

local function FindRandomWorldPart()

	local candidates = {}

	for _, object in ipairs(workspace:GetDescendants()) do

		if object:IsA("BasePart")
			and not IsPlayerCharacter(object)
			and object.Transparency < 1
			and object.Size.Magnitude > 1 then

			table.insert(candidates, object)

		end

	end

	if #candidates == 0 then
		return nil
	end

	return candidates[
		math.random(1, #candidates)
	]

end

local function PutFireOnPart(part)

	if not Running or not part then
		return
	end

	if IsPlayerCharacter(part) then
		return
	end

	local fire = Instance.new("Fire")

	fire.Name = "KichRandomFire"

	fire.Size =
		math.random(
			FIRE_MIN_SIZE,
			FIRE_MAX_SIZE
		)

	fire.Heat =
		math.random(5, 25)

	fire.Color =
		FireColors[
			math.random(
				1,
				#FireColors
			)
		]

	fire.SecondaryColor =
		FireColors[
			math.random(
				1,
				#FireColors
			)
		]

	fire.Parent = part

	Track(fire)

	-- Random duration.
	task.delay(
		math.random(3, 10),
		function()

			pcall(function()
				fire:Destroy()
			end)

		end
	)

end

task.spawn(function()

	while Running do

		task.wait(
			math.random(
				FIRE_INTERVAL_MIN * 100,
				FIRE_INTERVAL_MAX * 100
			) / 100
		)

		if not Running then
			break
		end

		local part =
			FindRandomWorldPart()

		if part then
			PutFireOnPart(part)
		end

	end

end)

--============================================================
-- HINTS
--============================================================

local HintMessages = {
	"KICH IS WATCHING.",
	"KICH KNOWS YOU ARE HERE.",
	"DO NOT TURN AROUND.",
	"KICH REMEMBERS YOU.",
	"YOU ARE NOT ALONE.",
	"HE CAN SEE YOU.",
	"KICH HAS FOUND YOU.",
	"WHY ARE YOU STILL HERE?",
	"DO NOT TRUST THIS WORLD.",
	"KICH.",
	"HE IS GETTING CLOSER.",
	"YOU SHOULD LEAVE."
}

task.spawn(function()

	local index = 1

	while Running do

		local hint =
			Track(
				Instance.new("Hint")
			)

		hint.Name = "KichHint"
		hint.Text =
			HintMessages[index]

		hint.Parent = workspace

		index += 1

		if index > #HintMessages then
			index = 1
		end

		task.wait(3)

		pcall(function()
			hint:Destroy()
		end)

		task.wait(0.2)

	end

end)

--============================================================
-- CENTER MESSAGES
--============================================================

local CenterMessages = {
	"KICH HAS ENTERED THE WORLD.",
	"DO NOT TRUST WHAT YOU SEE.",
	"HE IS WATCHING.",
	"YOU CANNOT ESCAPE.",
	"TURN AROUND.",
	"THIS WORLD IS NOT YOURS.",
	"KICH KNOWS YOU ARE HERE.",
	"RUN.",
	"IT IS TOO LATE.",
	"HE NEVER LEFT."
}

task.spawn(function()

	local index = 1

	while Running do

		local message =
			Track(
				Instance.new("Message")
			)

		message.Name =
			"KichCenterMessage"

		message.Text =
			CenterMessages[index]

		message.Parent = workspace

		index += 1

		if index > #CenterMessages then
			index = 1
		end

		task.wait(MESSAGE_VISIBLE)

		pcall(function()
			message:Destroy()
		end)

		task.wait(MESSAGE_HIDDEN)

	end

end)

--============================================================
-- SCREEN GLITCH
--============================================================

task.spawn(function()

	while Running do

		task.wait(
			math.random(4, 9)
		)

		if not Running then
			break
		end

		if CurrentJumpscare then
			continue
		end

		local glitch =
			Track(
				Instance.new("Frame")
			)

		glitch.Name =
			"KichGlitch"

		glitch.BorderSizePixel = 0

		glitch.BackgroundColor3 =
			Color3.fromRGB(
				math.random(50, 120),
				math.random(100, 220),
				math.random(160, 255)
			)

		glitch.BackgroundTransparency =
			math.random(70, 90) / 100

		glitch.Size =
			UDim2.fromScale(
				math.random(20, 100) / 100,
				math.random(1, 5) / 100
			)

		glitch.Position =
			UDim2.fromScale(
				math.random(0, 100) / 100,
				math.random(0, 100) / 100
			)

		glitch.ZIndex = 999998

		glitch.Parent = ScreenGui

		task.delay(
			math.random(5, 20) / 100,
			function()

				pcall(function()
					glitch:Destroy()
				end)

			end
		)

	end

end)

--============================================================
-- CLEAN PLAYER DECALS IF SOMETHING ADDED THEM
--============================================================

Connect(
	RunService.Heartbeat,
	function()

		if not Running then
			return
		end

		-- Only occasionally check to avoid unnecessary work.
		if math.random(1, 120) ~= 1 then
			return
		end

		for _, player in ipairs(Players:GetPlayers()) do

			local character = player.Character

			if character then

				for _, object in ipairs(character:GetDescendants()) do

					if object:IsA("Decal")
						and object.Name == "KichDecal" then

						pcall(function()
							object:Destroy()
						end)

					end

				end

			end

		end

	end
)

--============================================================
-- STARTUP
--============================================================

task.wait(0.5)

if Running then
	ShowJumpscare()
end

print("================================================")
print("              KICH HORROR CHAOS")
print("================================================")
print("DECALS                  : ON")
print("PLAYER DECALS           : OFF")
print("FULLSCREEN JUMPSCARE    : 5s ON / 10s OFF")
print("JUMPSCARE SOUND         : ON")
print("BACKGROUND SOUND        : LOOP")
print("SCREEN AVATARS          : 10")
print("PLAYER AVATAR PARTICLES : 1 / SECOND")
print("RANDOM FIRE             : ON")
print("RANDOM FIRE COLORS      : ON")
print("HINTS                   : ON")
print("CENTER MESSAGES         : ON")
print("WORLD TILT              : 40 DEGREES LEFT")
print("COLOR INVERSION         : TRUE NEGATIVE")
print("================================================")

Features & Information

☢️ BUCHHIN NUKE ☢️ A universal Roblox nuke/hack script designed for maximum chaos. FEATURES: • Server nuke effects • Destruction / chaos features • Hacker-style interface • BUCHHIN branding • Avatar-based effects • Scary sounds • Jumpscares • Screen takeover • World effects • Mobile support ⚠️ NOT FE ⚠️ Requires an executor ⚠️ Compatibility depends on the game/executor 👤 Creator: BUCHHIN
#nuke#destroy#hacker#clkid#hack

Community Comments (4)

QASDFN114514QASDFN114514Aug 21, 2026

fe?

HehwjwiwnHehwjwiwnAug 25, 2026

It's client side only 😭

GvghkGvghkAug 27, 2026

Is it fe

roreororeoSep 13, 2026

It only works FOR YOUR SCREEN not for everyone

More Scripts for Universal Scripts