Nullify Killbricks GOAT FOR OBBIES WITH KILLBRICKS
Key RequiredUniversal

Nullify Killbricks GOAT FOR OBBIES WITH KILLBRICKS

Universal ScriptValzxValzx 1.7K views 509 executesUpdated Dec 6, 2025
5.0/ 5(2 votes)
20100% Positive
Lua Script•180 lines (4638 chars)
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local player = Players.LocalPlayer

local CHECKPOINT_KEYWORDS = {
	"checkpoint","spawn","respawn","flag","pad","save","respawner"
}

local function isCheckpoint(part)
	local name = part.Name:lower()
	for _, word in ipairs(CHECKPOINT_KEYWORDS) do
		if name:find(word:lower()) then
			return true
		end
	end
	return false
end

local function applyGodmode(char)
	local humanoid = char:WaitForChild("Humanoid")
	local resetting = false

	humanoid:GetPropertyChangedSignal("Health"):Connect(function()
		if humanoid.Health <= 0 and not resetting then
			humanoid.Health = humanoid.MaxHealth
		end
	end)

	humanoid.StateChanged:Connect(function(_, new)
		if new == Enum.HumanoidStateType.Dead and not resetting then
			humanoid.Health = humanoid.MaxHealth
		end
	end)

	humanoid.BreakJointsOnDeath = true

	local function patchTouch(obj)
		if obj:IsA("BasePart") then
			if isCheckpoint(obj) then
				obj.CanTouch = true
			else
				for _, child in ipairs(obj:GetChildren()) do
					if child:IsA("TouchTransmitter") then
						obj.CanTouch = false
					end
				end
			end
		end
	end

	for _, v in ipairs(workspace:GetDescendants()) do
		patchTouch(v)
	end

	workspace.DescendantAdded:Connect(patchTouch)

	player:GetPropertyChangedSignal("RespawnLocation"):Connect(function()
		resetting = true
		task.wait(1)
		resetting = false
	end)
end

player.CharacterAdded:Connect(applyGodmode)
if player.Character then applyGodmode(player.Character) end

local savedSpawn = nil
local scanDelay = 0.05

local function nameMatches(name)
	if not name then return false end
	local ln = name:lower()
	for _,k in ipairs(CHECKPOINT_KEYWORDS) do
		if ln:find(k) then return true end
	end
	return false
end

local function makeCFrameAbove(part)
	local up = part.Position + Vector3.new(0, (part.Size.Y/2) + 2, 0)
	return CFrame.new(up, up + part.CFrame.LookVector)
end

local function registerCheckpointPart(part)
	if not part or not part:IsA("BasePart") then return end
	if part:GetAttribute("ClientCheckpointRegistered") then return end
	part:SetAttribute("ClientCheckpointRegistered", true)
	pcall(function() part.CanTouch = true end)

	local function setSpawn()
		savedSpawn = {CFrame = makeCFrameAbove(part), Time = tick()}
	end

	local p = part:FindFirstChildWhichIsA("ProximityPrompt")
	if p then
		p.Enabled = true
		p.Triggered:Connect(setSpawn)
	end

	local c = part:FindFirstChildWhichIsA("ClickDetector")
	if c then
		c.MouseClick:Connect(setSpawn)
	end

	part.Touched:Connect(function(hit)
		local char = player.Character
		if not char then return end
		if hit and hit:IsDescendantOf(char) then
			setSpawn()
		end
	end)
end

task.delay(0.3, function()
	for _,obj in ipairs(workspace:GetDescendants()) do
		if obj:IsA("BasePart") then
			if nameMatches(obj.Name)
				or (obj.Parent and nameMatches(obj.Parent.Name))
				or obj:IsA("SpawnLocation")
				or obj:FindFirstChildWhichIsA("ProximityPrompt")
				or obj:FindFirstChildWhichIsA("ClickDetector")
			then
				registerCheckpointPart(obj)
			end
		end
	end

	workspace.DescendantAdded:Connect(function(obj)
		if obj:IsA("BasePart") then
			task.wait(scanDelay)
			if nameMatches(obj.Name)
				or (obj.Parent and nameMatches(obj.Parent.Name))
				or obj:IsA("SpawnLocation")
				or obj:FindFirstChildWhichIsA("ProximityPrompt")
				or obj:FindFirstChildWhichIsA("ClickDetector")
			then
				registerCheckpointPart(obj)
			end
		end
	end)
end)

player.CharacterAdded:Connect(function(char)
	task.wait(0.2)
	if savedSpawn and savedSpawn.CFrame and char.PrimaryPart then
		char:SetPrimaryPartCFrame(savedSpawn.CFrame)
		return
	end

	local hrp = char:FindFirstChild("HumanoidRootPart")
	if not hrp then return end
	local best,bd = nil,math.huge
	for _,obj in ipairs(workspace:GetDescendants()) do
		if obj:IsA("BasePart") and (nameMatches(obj.Name) or (obj.Parent and nameMatches(obj.Parent.Name)) or obj:IsA("SpawnLocation")) then
			local d = (obj.Position - hrp.Position).Magnitude
			if d < bd then best,bd = obj,d end
		end
	end
	if best then
		char:SetPrimaryPartCFrame(makeCFrameAbove(best))
	end
end)

RunService.Heartbeat:Connect(function()
	local char = player.Character
	if not char then return end
	local hrp = char:FindFirstChild("HumanoidRootPart")
	if not hrp then return end

	local ray = Ray.new(hrp.Position, Vector3.new(0,-4,0))
	local hit = workspace:FindPartOnRayWithIgnoreList(ray, {char})

	if hit and
		(nameMatches(hit.Name)
		or (hit.Parent and nameMatches(hit.Parent.Name))
		or hit:IsA("SpawnLocation"))
	then
		savedSpawn = {CFrame = makeCFrameAbove(hit), Time = tick()}
	end
end)

Features & Information

THIS ACTUALLY NULLIFIES KILLBRICK, THIS SCRIPT MADE ME TWEAK SO MUCH BECAUSE ITS THE HARDEST SCRIPT I HAVE EVER MADE, Features: Nullify Those badass Killbricks Also nullifies anything that damages Also nullifies anything that can kill like event Kill ETC (i mean you are technically Invincible) Since you are very op You cannot reset, just use a reset script because it will never work Lastly.. Its OPEN SOURCE!!! Video: https://www.tiktok.com/@valxnz.0/video/7580767582815259911?is_from_webapp=1&sender_device=pc&web_id=7578484233360311825
#Open Source#Obby#nullify object#OP#Universal

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts