M
Description
DOORS Script A fast, lightweight, and clean survival utility script for DOORS by LSPLASH on Roblox. Features: - Entity Early Warning System (On-screen alert banner for Rush, Ambush, Seek, Eyes, and Figure) - Door & Key ESP (Highlights next real door and room keys through walls) - Items & Puzzle ESP (Tracks Crucifix, Flashlights, Gold, Library Books, and Breakers)
GAMEDOORS 👁️
UPDATEDOct 10, 2026
ACCESSKeyless
PLATFORMDesktop & Mobile
Script source Luau
-- [[ BloxScripts Risk Notice ]]
-- This script has not been verified by BloxScripts.fun. Deal with caution.
--
-- Stay safe:
-- • Never log in on unofficial Roblox sites or lookalike domains.
-- • Real Roblox links use roblox.com (check the .com ending).
-- • Treat fake Roblox login / "claim reward" pages as phishing.
-- [[ End BloxScripts Risk Notice ]]
--[[
================================================================================
ROBLOX DOORS - DJ_SCRIPTS HUB (LUAU)
================================================================================
Creator / Developer: DJ_Scripts (@DJ_Scripts on RScripts)
Game: DOORS by LSPLASH (Place ID: 6516141723)
Features:
1. Entity Early Warning System (On-screen Banner for Rush, Ambush, Eyes, Seek, Figure)
2. Door & Key ESP (Highlights next real door & door keys with Anti-Dupe)
3. Items, Books & Levers ESP (Crucifix, Flashlights, Gold, Library Books, Breakers)
4. Auto Interact & Instant Grabber (Fast auto-pickup for keys, levers, coins & drawers)
5. Fullbright & Remove Darkness (Crystal-clear room vision with zero dark fog)
6. Auto Avoid Eyes & Screech Banish (Camera defense against dark entities)
7. Player ESP (Chams Highlight & Distance tracking)
8. Auto Noclip & Infinite Air Jump (Pass through furniture & continuous jump)
9. WalkSpeed & JumpPower Sliders (Safe Chase Movement Boosters)
10. Floating UI Button + RightShift Keybind
================================================================================
--]]
local TweenService = game:GetService("TweenService")
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local Players = game:GetService("Players")
local CoreGui = game:GetService("CoreGui")
local Lighting = game:GetService("Lighting")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local VirtualUser = game:GetService("VirtualUser")
local LocalPlayer = Players.LocalPlayer
-- GUI Container resolution
local function getGuiParent()
local success, result = pcall(function() return CoreGui end)
if success and result then return result end
return LocalPlayer:WaitForChild("PlayerGui")
end
-- Cleanup previous UI instances
local existingGui = getGuiParent():FindFirstChild("DoorsDJHub")
if existingGui then existingGui:Destroy() end
--------------------------------------------------------------------------------
-- ANTI-AFK SYSTEM
--------------------------------------------------------------------------------
LocalPlayer.Idled:Connect(function()
VirtualUser:Button2Down(Vector2.new(0, 0), workspace.CurrentCamera.CFrame)
task.wait(1)
VirtualUser:Button2Up(Vector2.new(0, 0), workspace.CurrentCamera.CFrame)
end)
--------------------------------------------------------------------------------
-- GLOBAL STATE
--------------------------------------------------------------------------------
local State = {
EntityWarning = true,
DoorKeyESP = false,
ItemsESP = false,
AutoInteract = false,
Fullbright = false,
AvoidEyes = false,
AutoScreech = false,
PlayerESP = false,
Noclip = false,
InfiniteJump = false,
CustomSpeed = 16,
CustomJump = 50,
CurrentStatus = "Idle (Ready)",
}
--------------------------------------------------------------------------------
-- CHARACTER & MOVEMENT HELPERS
--------------------------------------------------------------------------------
local function getCharacter()
return LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait()
end
local function getRootPart()
local char = getCharacter()
return char and (char:FindFirstChild("HumanoidRootPart") or char:WaitForChild("HumanoidRootPart", 4))
end
local function getHumanoid()
local char = getCharacter()
return char and char:FindFirstChildOfClass("Humanoid")
end
--------------------------------------------------------------------------------
-- SIGNATURE DJ_SCRIPTS MINIMALIST UI (NO EMOJIS, COMPACT & TOUCH READY)
--------------------------------------------------------------------------------
local THEME = {
Background = Color3.fromRGB(16, 16, 24),
CardBg = Color3.fromRGB(25, 25, 36),
CardBorder = Color3.fromRGB(42, 42, 60),
Accent = Color3.fromRGB(245, 45, 115),
Green = Color3.fromRGB(46, 204, 113),
Red = Color3.fromRGB(231, 76, 60),
TextPrimary = Color3.fromRGB(255, 255, 255),
TextSecondary = Color3.fromRGB(165, 165, 185),
TabInactive = Color3.fromRGB(30, 30, 42),
Font = Enum.Font.GothamBold,
FontRegular = Enum.Font.GothamMedium,
}
local function create(className, properties, children)
local inst = Instance.new(className)
for prop, val in pairs(properties or {}) do inst[prop] = val end
for _, child in ipairs(children or {}) do child.Parent = inst end
return inst
end
local function tween(object, info, properties)
local t = TweenService:Create(object, info, properties)
t:Play()
return t
end
local ScreenGui = create("ScreenGui", {
Name = "DoorsDJHub",
Parent = getGuiParent(),
ResetOnSpawn = false,
ZIndexBehavior = Enum.ZIndexBehavior.Sibling,
})
-- On-Screen Entity Warning Banner
local AlertBanner = create("Frame", {
Name = "EntityAlertBanner",
Parent = ScreenGui,
Size = UDim2.new(0, 380, 0, 44),
Position = UDim2.new(0.5, -190, 0, -60),
BackgroundColor3 = THEME.Red,
BorderSizePixel = 0,
Visible = false,
ZIndex = 100,
}, {
create("UICorner", { CornerRadius = UDim.new(0, 10) }),
create("UIStroke", { Color = Color3.fromRGB(255, 255, 255), Thickness = 1.5 }),
})
local AlertText = create("TextLabel", {
Parent = AlertBanner,
Size = UDim2.new(1, -20, 1, 0),
Position = UDim2.new(0, 10, 0, 0),
BackgroundTransparency = 1,
Font = THEME.Font,
TextSize = 13.5,
TextColor3 = Color3.fromRGB(255, 255, 255),
Text = "WARNING: Entity Incoming!",
ZIndex = 101,
})
local alertHideThread = nil
local function showAlertBanner(message)
if not State.EntityWarning then return end
AlertText.Text = message
AlertBanner.Visible = true
tween(AlertBanner, TweenInfo.new(0.3, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {
Position = UDim2.new(0.5, -190, 0, 20)
})
if alertHideThread then task.cancel(alertHideThread) end
alertHideThread = task.delay(4.5, function()
local t = tween(AlertBanner, TweenInfo.new(0.3, Enum.EasingStyle.Quad, Enum.EasingDirection.In), {
Position = UDim2.new(0.5, -190, 0, -60)
})
t.Completed:Connect(function()
AlertBanner.Visible = false
end)
end)
end
-- Main Frame (Clean, Compact Height: 415px)
local MainFrame = create("Frame", {
Name = "MainFrame",
Parent = ScreenGui,
Size = UDim2.new(0, 335, 0, 415),
Position = UDim2.new(0.5, -167, 0.5, -207),
BackgroundColor3 = THEME.Background,
BorderSizePixel = 0,
Active = true,
}, {
create("UICorner", { CornerRadius = UDim.new(0, 12) }),
create("UIStroke", { Color = THEME.CardBorder, Thickness = 1.5 }),
})
-- Top Bar (Draggable)
local TopBar = create("Frame", {
Name = "TopBar",
Parent = MainFrame,
Size = UDim2.new(1, 0, 0, 40),
BackgroundColor3 = Color3.fromRGB(20, 20, 28),
BorderSizePixel = 0,
}, {
create("UICorner", { CornerRadius = UDim.new(0, 12) }),
})
create("Frame", {
Parent = TopBar,
Size = UDim2.new(1, 0, 0, 10),
Position = UDim2.new(0, 0, 1, -10),
BackgroundColor3 = Color3.fromRGB(20, 20, 28),
BorderSizePixel = 0,
})
-- Title: Only DJ_Scripts
create("TextLabel", {
Parent = TopBar,
Text = "DJ_Scripts",
Font = THEME.Font,
TextSize = 16,
TextColor3 = THEME.TextPrimary,
TextXAlignment = Enum.TextXAlignment.Left,
Position = UDim2.new(0, 14, 0, 0),
Size = UDim2.new(1, -60, 1, 0),
BackgroundTransparency = 1,
})
local CloseBtn = create("TextButton", {
Parent = TopBar,
Text = "✕",
Font = THEME.Font,
TextSize = 13,
TextColor3 = THEME.TextSecondary,
Size = UDim2.new(0, 28, 0, 28),
Position = UDim2.new(1, -34, 0.5, -14),
BackgroundColor3 = Color3.fromRGB(34, 34, 48),
BorderSizePixel = 0,
}, {
create("UICorner", { CornerRadius = UDim.new(0, 6) }),
})
-- Draggable Logic
local isDragging, dragStart, frameStart = false, nil, nil
TopBar.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
isDragging = true
dragStart = input.Position
frameStart = MainFrame.Position
input.Changed:Connect(function()
if input.UserInputState == Enum.UserInputState.End then isDragging = false end
end)
end
end)
UserInputService.InputChanged:Connect(function(input)
if isDragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then
local delta = input.Position - dragStart
MainFrame.Position = UDim2.new(frameStart.X.Scale, frameStart.X.Offset + delta.X, frameStart.Y.Scale, frameStart.Y.Offset + delta.Y)
end
end)
-- Tab Bar (3 Clean Tabs: Visuals / Automation / Movement)
local TabBar = create("Frame", {
Name = "TabBar",
Parent = MainFrame,
Size = UDim2.new(1, -20, 0, 30),
Position = UDim2.new(0, 10, 0, 44),
BackgroundTransparency = 1,
}, {
create("UIListLayout", {
FillDirection = Enum.FillDirection.Horizontal,
HorizontalAlignment = Enum.HorizontalAlignment.Center,
Padding = UDim.new(0, 6),
}),
})
-- Content Container
local ContentContainer = create("Frame", {
Name = "ContentContainer",
Parent = MainFrame,
Size = UDim2.new(1, -16, 1, -104),
Position = UDim2.new(0, 8, 0, 78),
BackgroundTransparency = 1,
})
local tabPages = {}
local function createTabPage(tabName)
local page = create("ScrollingFrame", {
Name = "Page_" .. tabName,
Parent = ContentContainer,
Size = UDim2.new(1, 0, 1, 0),
BackgroundTransparency = 1,
BorderSizePixel = 0,
ScrollBarThickness = 3,
ScrollBarImageColor3 = THEME.Accent,
AutomaticCanvasSize = Enum.AutomaticSize.Y,
CanvasSize = UDim2.new(0, 0, 0, 0),
Visible = false,
}, {
create("UIListLayout", {
SortOrder = Enum.SortOrder.LayoutOrder,
Padding = UDim.new(0, 6),
}),
})
tabPages[tabName] = page
return page
end
local PageVisuals = createTabPage("Visuals")
local PageAuto = createTabPage("Automation")
local PageMove = createTabPage("Movement")
-- Switch Tab Function
local tabButtons = {}
local function selectTab(targetTab)
for name, page in pairs(tabPages) do
page.Visible = (name == targetTab)
end
for name, btn in pairs(tabButtons) do
if name == targetTab then
btn.BackgroundColor3 = THEME.Accent
btn.TextColor3 = Color3.fromRGB(255, 255, 255)
else
btn.BackgroundColor3 = THEME.TabInactive
btn.TextColor3 = THEME.TextSecondary
end
end
end
local function createTabButton(name)
local btn = create("TextButton", {
Name = "TabBtn_" .. name,
Parent = TabBar,
Size = UDim2.new(0.31, 0, 1, 0),
BackgroundColor3 = THEME.TabInactive,
Text = name,
Font = THEME.Font,
TextSize = 12,
TextColor3 = THEME.TextSecondary,
BorderSizePixel = 0,
}, {
create("UICorner", { CornerRadius = UDim.new(0, 6) }),
})
btn.MouseButton1Click:Connect(function()
selectTab(name)
end)
tabButtons[name] = btn
return btn
end
createTabButton("Visuals")
createTabButton("Automation")
createTabButton("Movement")
-- Bottom Status Bar
local BottomBar = create("Frame", {
Name = "BottomBar",
Parent = MainFrame,
Size = UDim2.new(1, 0, 0, 24),
Position = UDim2.new(0, 0, 1, -24),
BackgroundColor3 = Color3.fromRGB(14, 14, 20),
BorderSizePixel = 0,
}, {
create("UICorner", { CornerRadius = UDim.new(0, 12) }),
})
local StatusLabel = create("TextLabel", {
Parent = BottomBar,
Text = "Status: Idle (Ready)",
Font = THEME.FontRegular,
TextSize = 10.5,
TextColor3 = THEME.Green,
Position = UDim2.new(0, 12, 0, 0),
Size = UDim2.new(1, -120, 1, 0),
TextXAlignment = Enum.TextXAlignment.Left,
BackgroundTransparency = 1,
})
create("TextLabel", {
Parent = BottomBar,
Text = "DJ_Scripts",
Font = THEME.Font,
TextSize = 10,
TextColor3 = THEME.Accent,
Position = UDim2.new(1, -95, 0, 0),
Size = UDim2.new(0, 85, 1, 0),
TextXAlignment = Enum.TextXAlignment.Right,
BackgroundTransparency = 1,
})
local function setStatus(text)
State.CurrentStatus = text
StatusLabel.Text = "Status: " .. text
end
-- Helper: Clean Toggle Card
local function createCleanToggle(parent, title, subtitle, stateKey, onToggle)
local Card = create("Frame", {
Name = "Card_" .. title,
Parent = parent,
Size = UDim2.new(1, -4, 0, 48),
BackgroundColor3 = THEME.CardBg,
BorderSizePixel = 0,
Active = false,
}, {
create("UICorner", { CornerRadius = UDim.new(0, 8) }),
create("UIStroke", { Color = THEME.CardBorder, Thickness = 1 }),
})
create("TextLabel", {
Parent = Card,
Text = title,
Font = THEME.Font,
TextSize = 12,
TextColor3 = THEME.TextPrimary,
TextXAlignment = Enum.TextXAlignment.Left,
Position = UDim2.new(0, 12, 0, 7),
Size = UDim2.new(1, -75, 0, 17),
BackgroundTransparency = 1,
})
create("TextLabel", {
Parent = Card,
Text = subtitle,
Font = THEME.FontRegular,
TextSize = 9.5,
TextColor3 = THEME.TextSecondary,
TextXAlignment = Enum.TextXAlignment.Left,
Position = UDim2.new(0, 12, 0, 24),
Size = UDim2.new(1, -75, 0, 16),
BackgroundTransparency = 1,
})
local SwitchTrack = create("Frame", {
Parent = Card,
Size = UDim2.new(0, 44, 0, 20),
Position = UDim2.new(1, -52, 0.5, -10),
BackgroundColor3 = State[stateKey] and THEME.Accent or Color3.fromRGB(42, 42, 58),
BorderSizePixel = 0,
}, {
create("UICorner", { CornerRadius = UDim.new(1, 0) }),
})
local SwitchKnob = create("Frame", {
Parent = SwitchTrack,
Size = UDim2.new(0, 14, 0, 14),
Position = State[stateKey] and UDim2.new(1, -17, 0.5, -7) or UDim2.new(0, 3, 0.5, -7),
BackgroundColor3 = Color3.fromRGB(255, 255, 255),
BorderSizePixel = 0,
}, {
create("UICorner", { CornerRadius = UDim.new(1, 0) }),
})
local ClickBtn = create("TextButton", {
Parent = Card,
Size = UDim2.new(1, 0, 1, 0),
BackgroundTransparency = 1,
Text = "",
})
ClickBtn.MouseButton1Click:Connect(function()
State[stateKey] = not State[stateKey]
local isEnabled = State[stateKey]
tween(SwitchKnob, TweenInfo.new(0.2), {
Position = isEnabled and UDim2.new(1, -17, 0.5, -7) or UDim2.new(0, 3, 0.5, -7),
})
tween(SwitchTrack, TweenInfo.new(0.2), {
BackgroundColor3 = isEnabled and THEME.Accent or Color3.fromRGB(42, 42, 58),
})
if onToggle then onToggle(isEnabled) end
end)
return Card
end
-- Helper: Clean Slider Card
local function createCleanSlider(parent, title, minVal, maxVal, defaultVal, callback)
local Card = create("Frame", {
Name = "Slider_" .. title,
Parent = parent,
Size = UDim2.new(1, -4, 0, 52),
BackgroundColor3 = THEME.CardBg,
BorderSizePixel = 0,
Active = false,
}, {
create("UICorner", { CornerRadius = UDim.new(0, 8) }),
create("UIStroke", { Color = THEME.CardBorder, Thickness = 1 }),
})
create("TextLabel", {
Parent = Card,
Text = title,
Font = THEME.Font,
TextSize = 11.5,
TextColor3 = THEME.TextPrimary,
TextXAlignment = Enum.TextXAlignment.Left,
Position = UDim2.new(0, 12, 0, 5),
Size = UDim2.new(1, -85, 0, 15),
BackgroundTransparency = 1,
})
local ValLabel = create("TextLabel", {
Parent = Card,
Text = tostring(defaultVal),
Font = THEME.Font,
TextSize = 11,
TextColor3 = THEME.Accent,
TextXAlignment = Enum.TextXAlignment.Right,
Position = UDim2.new(1, -60, 0, 5),
Size = UDim2.new(0, 50, 0, 15),
BackgroundTransparency = 1,
})
local SliderBar = create("Frame", {
Parent = Card,
Size = UDim2.new(1, -24, 0, 7),
Position = UDim2.new(0, 12, 0, 30),
BackgroundColor3 = Color3.fromRGB(42, 42, 58),
BorderSizePixel = 0,
}, {
create("UICorner", { CornerRadius = UDim.new(1, 0) }),
})
local initialPercent = math.clamp((defaultVal - minVal) / (maxVal - minVal), 0, 1)
local FillBar = create("Frame", {
Parent = SliderBar,
Size = UDim2.new(initialPercent, 0, 1, 0),
BackgroundColor3 = THEME.Accent,
BorderSizePixel = 0,
}, {
create("UICorner", { CornerRadius = UDim.new(1, 0) }),
})
local SliderKnob = create("Frame", {
Parent = SliderBar,
Size = UDim2.new(0, 13, 0, 13),
Position = UDim2.new(initialPercent, -6, 0.5, -6),
BackgroundColor3 = Color3.fromRGB(255, 255, 255),
BorderSizePixel = 0,
}, {
create("UICorner", { CornerRadius = UDim.new(1, 0) }),
create("UIStroke", { Color = THEME.Accent, Thickness = 1.5 }),
})
local isSliding = false
local function updateSlider(input)
local barPos = SliderBar.AbsolutePosition.X
local barSize = SliderBar.AbsoluteSize.X
local inputPos = input.Position.X
local percent = math.clamp((inputPos - barPos) / barSize, 0, 1)
local value = math.floor(minVal + (maxVal - minVal) * percent)
FillBar.Size = UDim2.new(percent, 0, 1, 0)
SliderKnob.Position = UDim2.new(percent, -6, 0.5, -6)
ValLabel.Text = tostring(value)
if callback then callback(value) end
end
SliderBar.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
isSliding = true
updateSlider(input)
input.Changed:Connect(function()
if input.UserInputState == Enum.UserInputState.End then
isSliding = false
end
end)
end
end)
UserInputService.InputChanged:Connect(function(input)
if isSliding and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then
updateSlider(input)
end
end)
return Card
end
--------------------------------------------------------------------------------
-- 1. ENHANCED ENTITY EARLY WARNING SYSTEM
--------------------------------------------------------------------------------
local lastAlerts = {}
local function triggerEntityWarning(entityType, message)
if not State.EntityWarning then return end
local now = tick()
if lastAlerts[entityType] and (now - lastAlerts[entityType] < 6) then
return
end
lastAlerts[entityType] = now
setStatus("ALERT: " .. message)
showAlertBanner(message)
end
local function scanEntityObject(child)
if not child or not child.Name then return end
local n = child.Name
if string.find(n, "RushMoving") or string.find(n, "RushNew") or (n == "Rush" and child:IsA("Model")) then
triggerEntityWarning("Rush", "WARNING: Rush Incoming! Hide in Closet or Bed!")
elseif string.find(n, "AmbushMoving") or (n == "Ambush" and child:IsA("Model")) then
triggerEntityWarning("Ambush", "WARNING: Ambush Incoming! Hide and Re-hide!")
elseif string.find(n, "Eyes") and child:IsA("Model") then
triggerEntityWarning("Eyes", "WARNING: Eyes in Room! Look Away!")
elseif string.find(n, "SeekMoving") or string.find(n, "SeekRig") then
triggerEntityWarning("Seek", "WARNING: Seek Chase Active! Run Forward!")
elseif string.find(n, "FigureRig") or (n == "Figure" and child:IsA("Model")) then
triggerEntityWarning("Figure", "WARNING: Figure Nearby! Crouch & Sneak!")
elseif string.find(n, "Screech") then
triggerEntityWarning("Screech", "WARNING: Screech Detected! Look Behind You!")
elseif string.find(n, "Halt") or string.find(n, "HaltHallway") then
triggerEntityWarning("Halt", "WARNING: Halt Room! Turn Around on Flash!")
end
end
workspace.ChildAdded:Connect(scanEntityObject)
workspace.DescendantAdded:Connect(scanEntityObject)
if workspace.CurrentCamera then
workspace.CurrentCamera.ChildAdded:Connect(scanEntityObject)
end
-- Active Heartbeat Entity Scanner
task.spawn(function()
while true do
task.wait(0.3)
if State.EntityWarning then
for _, obj in ipairs(workspace:GetChildren()) do
scanEntityObject(obj)
end
local curRooms = workspace:FindFirstChild("CurrentRooms")
if curRooms then
for _, obj in ipairs(curRooms:GetChildren()) do
if obj:FindFirstChild("Eyes") then
triggerEntityWarning("Eyes", "WARNING: Eyes in Room! Look Away!")
end
end
end
local cam = workspace.CurrentCamera
if cam and cam:FindFirstChild("Screech") then
triggerEntityWarning("Screech", "WARNING: Screech Detected! Look Around!")
end
end
end
end)
--------------------------------------------------------------------------------
-- 2. DOOR & KEY ESP ENGINE (ANTI-DUPE)
--------------------------------------------------------------------------------
local doorESPContainers = {}
local function clearDoorESP()
for _, item in pairs(doorESPContainers) do
if item.Highlight then item.Highlight:Destroy() end
if item.Billboard then item.Billboard:Destroy() end
end
table.clear(doorESPContainers)
end
local function updateDoorKeyESP()
if not State.DoorKeyESP then
clearDoorESP()
return
end
local root = getRootPart()
if not root then return end
local currentRooms = workspace:FindFirstChild("CurrentRooms")
if not currentRooms then return end
for _, room in ipairs(currentRooms:GetChildren()) do
-- 1. Real Door ESP
local doorModel = room:FindFirstChild("Door")
if doorModel then
local doorPart = doorModel:FindFirstChild("Door") or doorModel:FindFirstChildWhichIsA("BasePart")
if doorPart and not doorESPContainers[doorPart] then
local hl = Instance.new("Highlight")
hl.FillColor = Color3.fromRGB(46, 204, 113)
hl.OutlineColor = Color3.fromRGB(255, 255, 255)
hl.FillTransparency = 0.5
hl.Adornee = doorModel
hl.Parent = doorModel
local bb = Instance.new("BillboardGui")
bb.Size = UDim2.new(0, 110, 0, 20)
bb.AlwaysOnTop = true
bb.StudsOffset = Vector3.new(0, 3, 0)
bb.Adornee = doorPart
bb.Parent = doorPart
local lbl = Instance.new("TextLabel")
lbl.Size = UDim2.new(1, 0, 1, 0)
lbl.BackgroundTransparency = 1
lbl.Font = Enum.Font.GothamBold
lbl.TextSize = 11
lbl.TextColor3 = Color3.fromRGB(46, 204, 113)
lbl.TextStrokeTransparency = 0
lbl.Text = "Door " .. tostring(room.Name)
lbl.Parent = bb
doorESPContainers[doorPart] = { Highlight = hl, Billboard = bb, Label = lbl, Part = doorPart, Name = "Door " .. tostring(room.Name) }
end
end
-- 2. Keys & Keycards
for _, obj in ipairs(room:GetDescendants()) do
local n = string.lower(obj.Name)
if string.find(n, "key") and not string.find(n, "skeleton") and (obj:IsA("Model") or obj:IsA("BasePart")) then
local part = obj:IsA("BasePart") and obj or obj:FindFirstChildWhichIsA("BasePart")
if part and not doorESPContainers[part] then
local hl = Instance.new("Highlight")
hl.FillColor = Color3.fromRGB(241, 196, 15)
hl.OutlineColor = Color3.fromRGB(255, 255, 255)
hl.FillTransparency = 0.4
hl.Adornee = obj
hl.Parent = obj
local bb = Instance.new("BillboardGui")
bb.Size = UDim2.new(0, 90, 0, 18)
bb.AlwaysOnTop = true
bb.StudsOffset = Vector3.new(0, 2, 0)
bb.Adornee = part
bb.Parent = part
local lbl = Instance.new("TextLabel")
lbl.Size = UDim2.new(1, 0, 1, 0)
lbl.BackgroundTransparency = 1
lbl.Font = Enum.Font.GothamBold
lbl.TextSize = 10.5
lbl.TextColor3 = Color3.fromRGB(241, 196, 15)
lbl.TextStrokeTransparency = 0
lbl.Text = "Key"
lbl.Parent = bb
doorESPContainers[part] = { Highlight = hl, Billboard = bb, Label = lbl, Part = part, Name = "Key" }
end
end
end
end
-- Distance update
for _, item in pairs(doorESPContainers) do
if item.Part and item.Part.Parent and item.Label then
local dist = math.floor((root.Position - item.Part.Position).Magnitude)
item.Label.Text = item.Name .. " [" .. tostring(dist) .. "m]"
end
end
end
--------------------------------------------------------------------------------
-- 3. ITEMS, BOOKS & LEVERS ESP
--------------------------------------------------------------------------------
local itemESPContainers = {}
local function clearItemESP()
for _, item in pairs(itemESPContainers) do
if item.Highlight then item.Highlight:Destroy() end
if item.Billboard then item.Billboard:Destroy() end
end
table.clear(itemESPContainers)
end
local function updateItemsESP()
if not State.ItemsESP then
clearItemESP()
return
end
local root = getRootPart()
if not root then return end
local currentRooms = workspace:FindFirstChild("CurrentRooms")
if not currentRooms then return end
for _, room in ipairs(currentRooms:GetChildren()) do
for _, obj in ipairs(room:GetDescendants()) do
local n = string.lower(obj.Name)
local isTarget = false
local displayName = ""
local color = Color3.fromRGB(52, 152, 219)
if string.find(n, "crucifix") then
isTarget = true; displayName = "Crucifix"; color = Color3.fromRGB(245, 45, 115)
elseif string.find(n, "lighter") or string.find(n, "flashlight") then
isTarget = true; displayName = "Light"; color = Color3.fromRGB(241, 196, 15)
elseif string.find(n, "vitamin") or string.find(n, "bandage") then
isTarget = true; displayName = "Heal"; color = Color3.fromRGB(46, 204, 113)
elseif string.find(n, "lockpick") or string.find(n, "skeleton") or string.find(n, "shears") then
isTarget = true; displayName = "Tool"; color = Color3.fromRGB(155, 89, 182)
elseif string.find(n, "livehintbook") or (string.find(n, "book") and obj:IsA("Model")) then
isTarget = true; displayName = "Book"; color = Color3.fromRGB(230, 126, 34)
elseif string.find(n, "livebreakerpole") or string.find(n, "breaker") or string.find(n, "fuse") then
isTarget = true; displayName = "Breaker"; color = Color3.fromRGB(241, 196, 15)
elseif string.find(n, "lever") and (obj:IsA("Model") or obj:IsA("BasePart")) then
isTarget = true; displayName = "Lever"; color = Color3.fromRGB(52, 152, 219)
elseif string.find(n, "gold") or string.find(n, "coin") then
isTarget = true; displayName = "Gold"; color = Color3.fromRGB(255, 215, 0)
end
if isTarget then
local part = obj:IsA("BasePart") and obj or obj:FindFirstChildWhichIsA("BasePart")
if part and not itemESPContainers[part] then
local hl = Instance.new("Highlight")
hl.FillColor = color
hl.OutlineColor = Color3.fromRGB(255, 255, 255)
hl.FillTransparency = 0.5
hl.Adornee = obj
hl.Parent = obj
local bb = Instance.new("BillboardGui")
bb.Size = UDim2.new(0, 90, 0, 18)
bb.AlwaysOnTop = true
bb.StudsOffset = Vector3.new(0, 2, 0)
bb.Adornee = part
bb.Parent = part
local lbl = Instance.new("TextLabel")
lbl.Size = UDim2.new(1, 0, 1, 0)
lbl.BackgroundTransparency = 1
lbl.Font = Enum.Font.GothamBold
lbl.TextSize = 10.5
lbl.TextColor3 = color
lbl.TextStrokeTransparency = 0
lbl.Text = displayName
lbl.Parent = bb
itemESPContainers[part] = { Highlight = hl, Billboard = bb, Label = lbl, Part = part, Name = displayName }
end
end
end
end
-- Distance update
for _, item in pairs(itemESPContainers) do
if item.Part and item.Part.Parent and item.Label then
local dist = math.floor((root.Position - item.Part.Position).Magnitude)
item.Label.Text = item.Name .. " [" .. tostring(dist) .. "m]"
end
end
end
RunService.RenderStepped:Connect(function()
updateDoorKeyESP()
updateItemsESP()
end)
--------------------------------------------------------------------------------
-- 4. AUTO INTERACT / INSTANT KEY & COIN GRABBER
--------------------------------------------------------------------------------
task.spawn(function()
while true do
task.wait(0.15)
if State.AutoInteract then
local root = getRootPart()
if root then
for _, prompt in ipairs(workspace:GetDescendants()) do
if prompt:IsA("ProximityPrompt") and prompt.Enabled then
local parent = prompt.Parent
local part = parent and (parent:IsA("BasePart") and parent or parent:FindFirstChildWhichIsA("BasePart"))
if part then
local dist = (root.Position - part.Position).Magnitude
if dist <= 14 then
if typeof(fireproximityprompt) == "function" then
prompt.HoldDuration = 0
fireproximityprompt(prompt)
end
end
end
end
end
end
end
end
end)
--------------------------------------------------------------------------------
-- 5. FULLBRIGHT & REMOVE DARKNESS
--------------------------------------------------------------------------------
local origFogEnd = Lighting.FogEnd
local origBrightness = Lighting.Brightness
local origClockTime = Lighting.ClockTime
local origGlobalShadows = Lighting.GlobalShadows
local function updateFullbright(enabled)
if enabled then
Lighting.FogEnd = 100000
Lighting.FogStart = 0
Lighting.Brightness = 2.5
Lighting.ClockTime = 14
Lighting.GlobalShadows = false
local atmo = Lighting:FindFirstChildOfClass("Atmosphere")
if atmo then atmo.Density = 0 end
else
Lighting.FogEnd = origFogEnd
Lighting.Brightness = origBrightness
Lighting.ClockTime = origClockTime
Lighting.GlobalShadows = origGlobalShadows
local atmo = Lighting:FindFirstChildOfClass("Atmosphere")
if atmo then atmo.Density = 0.3 end
end
end
--------------------------------------------------------------------------------
-- 6. ENHANCED AUTO AVOID EYES & AUTO SCREECH BANISH
--------------------------------------------------------------------------------
local function findEyesInstance()
for _, obj in ipairs(workspace:GetDescendants()) do
if obj.Name == "Eyes" and obj:IsA("Model") then
return obj
end
end
return nil
end
RunService.RenderStepped:Connect(function()
-- 1. Auto Avoid Eyes: Look straight at the floor when Eyes is present
if State.AvoidEyes then
local eyesModel = findEyesInstance()
if eyesModel then
local cam = workspace.CurrentCamera
if cam then
local _, yaw, _ = cam.CFrame:ToEulerAnglesYXZ()
cam.CFrame = CFrame.new(cam.CFrame.Position) * CFrame.Angles(math.rad(-70), yaw, 0)
end
end
end
-- 2. Auto Screech Defense: Snap Camera to Screech & Trigger Remote Banish
if State.AutoScreech then
local cam = workspace.CurrentCamera
local char = LocalPlayer.Character
local screech = (cam and cam:FindFirstChild("Screech")) or (char and char:FindFirstChild("Screech"))
if screech then
local sRoot = screech:FindFirstChild("RootPart") or screech:FindFirstChildWhichIsA("BasePart")
if sRoot and cam then
cam.CFrame = CFrame.new(cam.CFrame.Position, sRoot.Position)
end
-- Trigger EntityInfo Screech remote
pcall(function()
local entityInfo = ReplicatedStorage:FindFirstChild("EntityInfo") or ReplicatedStorage:FindFirstChild("RemotesFolder")
if entityInfo then
local screechRem = entityInfo:FindFirstChild("Screech") or entityInfo:FindFirstChild("CustomScreech")
if screechRem and screechRem:IsA("RemoteEvent") then
screechRem:FireServer(true)
end
end
end)
end
end
end)
--------------------------------------------------------------------------------
-- 7. PLAYER ESP SYSTEM
--------------------------------------------------------------------------------
local playerESPContainers = {}
local function clearPlayerESP()
for _, item in pairs(playerESPContainers) do
if item.Highlight then item.Highlight:Destroy() end
if item.Billboard then item.Billboard:Destroy() end
end
table.clear(playerESPContainers)
end
local function updatePlayerESP()
if not State.PlayerESP then
clearPlayerESP()
return
end
local myRoot = getRootPart()
if not myRoot then return end
for _, player in ipairs(Players:GetPlayers()) do
if player ~= LocalPlayer and player.Character then
local char = player.Character
local hrp = char:FindFirstChild("HumanoidRootPart")
if hrp then
if not playerESPContainers[player] then
local hl = Instance.new("Highlight")
hl.FillColor = Color3.fromRGB(245, 45, 115)
hl.OutlineColor = Color3.fromRGB(255, 255, 255)
hl.FillTransparency = 0.5
hl.Adornee = char
hl.Parent = char
local bb = Instance.new("BillboardGui")
bb.Size = UDim2.new(0, 110, 0, 20)
bb.AlwaysOnTop = true
bb.StudsOffset = Vector3.new(0, 3, 0)
bb.Adornee = hrp
bb.Parent = hrp
local lbl = Instance.new("TextLabel")
lbl.Size = UDim2.new(1, 0, 1, 0)
lbl.BackgroundTransparency = 1
lbl.Font = Enum.Font.GothamBold
lbl.TextSize = 11
lbl.TextColor3 = Color3.fromRGB(255, 255, 255)
lbl.TextStrokeTransparency = 0
lbl.Text = player.DisplayName
lbl.Parent = bb
playerESPContainers[player] = { Highlight = hl, Billboard = bb, Label = lbl, HRP = hrp }
else
local dist = math.floor((myRoot.Position - hrp.Position).Magnitude)
playerESPContainers[player].Label.Text = player.DisplayName .. " [" .. tostring(dist) .. "m]"
end
end
end
end
end
RunService.RenderStepped:Connect(function()
updatePlayerESP()
end)
--------------------------------------------------------------------------------
-- 8. MOVEMENT BOOSTERS (SPEED, JUMP, NOCLIP, INF JUMP)
--------------------------------------------------------------------------------
RunService.RenderStepped:Connect(function()
local char = LocalPlayer.Character
local hum = char and char:FindFirstChildOfClass("Humanoid")
if hum then
if State.CustomSpeed and State.CustomSpeed ~= 16 then
hum.WalkSpeed = State.CustomSpeed
end
if State.CustomJump and State.CustomJump ~= 50 then
hum.UseJumpPower = true
hum.JumpPower = State.CustomJump
end
end
end)
UserInputService.JumpRequest:Connect(function()
if State.InfiniteJump then
local hum = getHumanoid()
if hum then hum:ChangeState(Enum.HumanoidStateType.Jumping) end
end
end)
RunService.Stepped:Connect(function()
if State.Noclip then
local char = LocalPlayer.Character
if char then
for _, part in ipairs(char:GetDescendants()) do
if part:IsA("BasePart") and part.CanCollide then
part.CanCollide = false
end
end
end
end
end)
CloseBtn.MouseButton1Click:Connect(function()
updateFullbright(false)
clearDoorESP()
clearItemESP()
clearPlayerESP()
ScreenGui:Destroy()
end)
--------------------------------------------------------------------------------
-- TAB 1: VISUALS & ESP
--------------------------------------------------------------------------------
createCleanToggle(PageVisuals, "Entity Warning Alerts", "Real-time warnings for Rush, Ambush, Eyes & Seek", "EntityWarning", function(enabled)
setStatus(enabled and "Entity Warnings Active!" or "Entity Warnings Disabled.")
end)
createCleanToggle(PageVisuals, "Door & Key ESP", "Highlights real next door & key with Anti-Dupe", "DoorKeyESP", function(enabled)
setStatus(enabled and "Door & Key ESP Active!" or "Door & Key ESP Disabled.")
end)
createCleanToggle(PageVisuals, "Items & Books ESP", "Highlights Crucifix, Lights, Gold, Books & Levers", "ItemsESP", function(enabled)
setStatus(enabled and "Items & Books ESP Active!" or "Items & Books ESP Disabled.")
end)
createCleanToggle(PageVisuals, "Fullbright (No Darkness)", "Removes dark fog & brightens hotel rooms", "Fullbright", function(enabled)
updateFullbright(enabled)
setStatus(enabled and "Fullbright Active!" or "Fullbright Disabled.")
end)
createCleanToggle(PageVisuals, "Player ESP", "Highlights other players with distance tags", "PlayerESP", function(enabled)
setStatus(enabled and "Player ESP Active!" or "Player ESP Disabled.")
end)
--------------------------------------------------------------------------------
-- TAB 2: AUTOMATION
--------------------------------------------------------------------------------
createCleanToggle(PageAuto, "Auto Interact & Grabber", "Fast auto-pickup for keys, levers, coins & drawers", "AutoInteract", function(enabled)
setStatus(enabled and "Auto Interact Active (Grabbing Items)..." or "Auto Interact Stopped.")
end)
createCleanToggle(PageAuto, "Auto Avoid Eyes", "Blocks Eyes glare damage automatically", "AvoidEyes", function(enabled)
setStatus(enabled and "Auto Avoid Eyes Active!" or "Avoid Eyes Disabled.")
end)
createCleanToggle(PageAuto, "Auto Screech Look", "Snaps camera to Screech when attacked in dark", "AutoScreech", function(enabled)
setStatus(enabled and "Auto Screech Defense Active!" or "Auto Screech Disabled.")
end)
--------------------------------------------------------------------------------
-- TAB 3: MOVEMENT
--------------------------------------------------------------------------------
createCleanToggle(PageMove, "Auto Noclip", "Pass through furniture, locked grates & doors", "Noclip", function(enabled)
setStatus(enabled and "Noclip Active!" or "Noclip Disabled.")
end)
createCleanToggle(PageMove, "Infinite Air Jump", "Jump continuously mid-air", "InfiniteJump", function(enabled)
setStatus(enabled and "Infinite Jump Active!" or "Infinite Jump Disabled.")
end)
createCleanSlider(PageMove, "WalkSpeed Boost", 16, 26, 16, function(val)
State.CustomSpeed = val
setStatus("WalkSpeed: " .. tostring(val))
end)
createCleanSlider(PageMove, "JumpPower Boost", 50, 150, 50, function(val)
State.CustomJump = val
setStatus("JumpPower: " .. tostring(val))
end)
--------------------------------------------------------------------------------
-- FLOATING TOGGLE BUTTON (CLEAN MINIMALIST "DJ")
--------------------------------------------------------------------------------
local FloatingBtn = create("TextButton", {
Name = "FloatingDoorsToggle",
Parent = ScreenGui,
Size = UDim2.new(0, 44, 0, 44),
Position = UDim2.new(0, 15, 0.5, -22),
BackgroundColor3 = THEME.Accent,
Text = "DJ",
Font = THEME.Font,
TextColor3 = Color3.fromRGB(255, 255, 255),
TextSize = 15,
BorderSizePixel = 0,
}, {
create("UICorner", { CornerRadius = UDim.new(1, 0) }),
create("UIStroke", { Color = Color3.fromRGB(255, 255, 255), Thickness = 1.5, Transparency = 0.4 }),
})
FloatingBtn.MouseButton1Click:Connect(function()
MainFrame.Visible = not MainFrame.Visible
end)
UserInputService.InputBegan:Connect(function(input, gpe)
if not gpe and input.KeyCode == Enum.KeyCode.RightShift then
MainFrame.Visible = not MainFrame.Visible
end
end)
-- Default Tab
selectTab("Visuals")
print("[DJ_Scripts] DOORS Hub Upgraded Successfully!")Review the source before using it. Executions count successful copies, capped at 10 per user and network per script in 24 hours.
Community discussion
0Start the conversation.


Your community, in one place