-- [[ Rscripts Risk Notice ]] -- This script is not verified by rscripts.net. 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 Rscripts 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!")