stupid anticheat breaker
Key Required Patched

stupid anticheat breaker

Rooms & Doors (Hidden & Tactics)VyperiaVyperia 4.7K views 11 executesUpdated Mar 8, 2025
3.8/ 5(4 votes)
3175% Positive
Lua Script•355 lines (6385 chars)
local rs = game:GetService("RunService")
local rep = game:GetService("ReplicatedStorage")
local ws = game:GetService("Workspace")
local cg = game:GetService("CoreGui")
local plrs = game:GetService("Players")
local uis = game:GetService("UserInputService")

local ply = plrs.LocalPlayer
local pr = rep:WaitForChild("playerremote", 15)
local host = (gethui and gethui()) or cg
local mem = type(shared) == "table" and shared or nil
local key = "__doors_bp_v2"

local gui
local btn
local state

if mem then
	local old = rawget(mem, key)
	if type(old) == "table" and type(old.Clean) == "function" then
		pcall(old.Clean)
	end
end

local live = true
local cons = {}
local jobs = {}

local function add(x)
	cons[#cons + 1] = x
	return x
end

local function post(sec, fn)
	local job = {}
	jobs[#jobs + 1] = job
	task.delay(sec, function()
		if not live or job.dead then
			return
		end
		local ok, err = pcall(fn)
		if not ok then
			warn(err)
		end
	end)
	return job
end

local function clean()
	if not live then
		return
	end

	live = false

	for i = 1, #jobs do
		jobs[i].dead = true
	end

	for i = #cons, 1, -1 do
		pcall(function()
			cons[i]:Disconnect()
		end)
	end

	table.clear(cons)
	table.clear(jobs)

	if gui and gui.Parent then
		pcall(function()
			gui:Destroy()
		end)
	end

	if mem and rawget(mem, key) == state then
		rawset(mem, key, nil)
	end
end

state = {
	Clean = clean,
}

if mem then
	rawset(mem, key, state)
end

local mod
for i = 1, 10 do
	local ok, ret = pcall(function()
		return loadstring(
			game:HttpGet(
				"https://raw.githubusercontent.com/ltseverydayyou/Nameless-Admin/main/NamelessAdminNotifications.lua"
			)
		)()
	end)

	if ok and type(ret) == "table" and type(ret.Notify) == "function" then
		mod = ret
		break
	end

	warn("Couldn't load notification module, retrying...")
	task.wait(math.min(i * 0.25, 1.5))
end

local function nt(tab)
	if not live then
		return
	end

	if mod and type(mod.Notify) == "function" then
		local ok, err = pcall(mod.Notify, tab)
		if not ok then
			warn("Notify failed:", err)
		end
	else
		warn((tab.Title or "Notice") .. ": " .. (tab.Description or ""))
	end
end

for _, par in ipairs({ host, ply and ply:FindFirstChildOfClass("PlayerGui") }) do
	if par then
		local old = par:FindFirstChild("BypassPanel")
		if old then
			pcall(function()
				old:Destroy()
			end)
		end
	end
end

gui = Instance.new("ScreenGui")
gui.Name = "BypassPanel"
gui.ResetOnSpawn = false
gui.IgnoreGuiInset = true
gui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling

pcall(function()
	gui.Parent = host
end)

if not gui.Parent and ply then
	local pg = ply:FindFirstChildOfClass("PlayerGui") or ply:WaitForChild("PlayerGui", 10)
	if pg then
		gui.Parent = pg
	end
end

if not gui.Parent then
	warn("Failed to parent BypassPanel")
	clean()
	return
end

btn = Instance.new("TextButton")
btn.Name = "BypassButton"
btn.AnchorPoint = Vector2.new(0.5, 0)
btn.Size = UDim2.new(0, 120, 0, 40)
btn.Position = UDim2.new(0.5, 0, 0, 10)
btn.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
btn.BackgroundTransparency = 0.2
btn.Text = "Bypass"
btn.TextColor3 = Color3.fromRGB(255, 255, 255)
btn.Font = Enum.Font.GothamBold
btn.TextSize = 16
btn.Parent = gui

local cor = Instance.new("UICorner")
cor.CornerRadius = UDim.new(0, 8)
cor.Parent = btn

local function drag(ui, hit)
	hit = hit or ui

	local held = false
	local din
	local pos0
	local ui0

	local function upd(inp)
		local par = ui.Parent
		if not par then
			return
		end

		local size = par.AbsoluteSize
		if size.X <= 0 or size.Y <= 0 or not pos0 or not ui0 then
			return
		end

		local d = inp.Position - pos0
		ui.Position = UDim2.new(ui0.X.Scale + (d.X / size.X), ui0.X.Offset, ui0.Y.Scale + (d.Y / size.Y), ui0.Y.Offset)
	end

	add(hit.InputBegan:Connect(function(inp)
		local t = inp.UserInputType
		if t == Enum.UserInputType.MouseButton1 or t == Enum.UserInputType.Touch then
			held = true
			pos0 = inp.Position
			ui0 = ui.Position
		end
	end))

	add(hit.InputChanged:Connect(function(inp)
		local t = inp.UserInputType
		if t == Enum.UserInputType.MouseMovement or t == Enum.UserInputType.Touch then
			din = inp
		end
	end))

	add(uis.InputChanged:Connect(function(inp)
		if live and held and inp == din then
			upd(inp)
		end
	end))

	add(uis.InputEnded:Connect(function(inp)
		local t = inp.UserInputType
		if t == Enum.UserInputType.MouseButton1 or t == Enum.UserInputType.Touch then
			held = false
			if inp == din then
				din = nil
			end
		end
	end))

	ui.Active = true
end

drag(btn)

local busy = false

local function tog()
	if not live or busy then
		return
	end

	busy = true

	local ok, err = pcall(function()
		local a = ws:FindFirstChild("roomnumber")
		local b = ws:FindFirstChild("roomnumbe")

		if a then
			a.Name = "roomnumbe"
			nt({
				Title = "Success",
				Description = "Anticheat bypassed",
				Duration = 2,
			})

			post(1, function()
				nt({
					Title = "Warning",
					Description = "If doors won't open, an entity has spawned. Wait until it's safe.",
					Duration = 6,
				})
			end)
		elseif b then
			b.Name = "roomnumber"
			nt({
				Title = "Notice",
				Description = "Anticheat activated",
				Duration = 2,
			})
		else
			nt({
				Title = "Error",
				Description = "Room object not found",
				Duration = 3,
			})
		end
	end)

	busy = false

	if not ok then
		warn("Toggle failed:", err)
		nt({
			Title = "Error",
			Description = "Failed to toggle",
			Duration = 3,
		})
	end
end

add(btn.Activated:Connect(tog))

if pr then
	local acc = 0
	local bad = 0
	local hb

	hb = rs.Heartbeat:Connect(function(dt)
		if not live then
			return
		end

		acc += dt
		if acc < 0.12 then
			return
		end
		acc = 0

		local ok = pcall(function()
			pr:FireServer("setsprintstate", false)
		end)

		if ok then
			bad = 0
		else
			bad += 1
			if bad == 1 then
				nt({
					Title = "Warning",
					Description = "Sprint protection hit an error",
					Duration = 3,
				})
			end
			if bad >= 5 and hb then
				hb:Disconnect()
			end
		end
	end)

	add(hb)
else
	nt({
		Title = "Error",
		Description = "playerremote not found",
		Duration = 4,
	})
end

add(gui.AncestryChanged:Connect(function()
	if live and not gui.Parent then
		clean()
	end
end))

nt({
	Title = "Loaded",
	Description = "Anticheat bypass ready",
	Duration = 3,
})

post(2, function()
	nt({
		Title = "Anti-Death",
		Description = "Sprint protection enabled",
		Duration = 4,
	})
end)

Features & Information

this will prob get patched soon idk also this is literally such a dumb way to bypass an anticheat 💀 PS: don't hide in any locker when bypass is enabled

Community Comments (2)

komikomiJun 23, 2025

i know this was uploaded 4 months ago but but please make a-100 burn to death he keeps chomping me down and i cant do anything about it

omarlevariioomarlevariioAug 2, 2025

Do Retro Rooms and doors

More Scripts for Rooms & Doors (Hidden & Tactics)