Rooms and Doors Alert system
Rooms & Doors Keyless
Rooms and Doors Alert system
👤 alexriderr 👁 85 views ❤️ 0 likes ⏱ May 2, 2026
Alert, Esp, Light, Anti cheat bypass
✨ Features
Auto mobs Collect items Auto area Walk speed Auto roll Equip best
📋 Script Code
--[[
    XENO MASTER FRAMEWORK v10.2 [ULTRA-ROBUST CORE]
    Target Client: Roblox 64-bit (Hyperion/Byfron Protected)
    Execution Environment: Xeno Executor
    
    CHANGELOG v10.2:
    - Added Nested Folder Support (Folders inside Folders)
    - Added Cross-Script Folder Manipulation (Move/Rename)
    - Added Global Folder Registry for inter-script communication
    - Expanded Notification Engine with stacking and queue logic
    - Optimized UIListLayout propagation for nested resizing
--]]

--// [MODULE 1: CORE SERVICES]
local function GetService(name)
    local success, service = pcall(function() 
        return cloneref(game:GetService(name)) 
    end)
    return success and service or game:GetService(name)
end

local UIS = GetService("UserInputService")
local RunService = GetService("RunService")
local TweenService = GetService("TweenService")
local Players = GetService("Players")
local CoreGui = (gethui and gethui()) or GetService("CoreGui")
local LocalPlayer = Players.LocalPlayer

--// [MODULE 2: DESIGN ENGINE]
local Theme = {
    Main = Color3.fromRGB(15, 15, 15),
    Header = Color3.fromRGB(25, 25, 25),
    Folder = Color3.fromRGB(20, 20, 20),
    Element = Color3.fromRGB(32, 32, 32),
    Accent = Color3.fromRGB(255, 255, 255),
    Border = Color3.fromRGB(55, 55, 55),
    Text = Color3.fromRGB(230, 230, 230),
    Placeholder = Color3.fromRGB(100, 100, 100),
    Positive = Color3.fromRGB(80, 200, 80),
    Negative = Color3.fromRGB(200, 80, 80),
    Font = Enum.Font.Code
}

local Util = {}
function Util:Tween(obj, time, goal)
    local info = TweenInfo.new(time, Enum.EasingStyle.Quad, Enum.EasingDirection.Out)
    local t = TweenService:Create(obj, info, goal)
    t:Play()
    return t
end

--// [MODULE 3: EXPANDED NOTIFICATION ENGINE]
-- Robust notification system with queueing, stacking, and auto-positioning.
if not _G.SendNotification then
    local NotificationSystem = {
        Active = {},
        Queue = {},
        IsProcessing = false,
        MaxVisible = 6,
        Config = {
            Width = 320,
            Height = 65,
            Padding = 8,
            Entry = UDim2.new(1, 40, 1, -110),
            TargetX = -340
        }
    }

    local function UpdateStack()
        for i, frame in ipairs(NotificationSystem.Active) do
            local yOffset = -110 - ((i - 1) * (NotificationSystem.Config.Height + NotificationSystem.Config.Padding))
            Util:Tween(frame, 0.35, {Position = UDim2.new(1, NotificationSystem.Config.TargetX, 1, yOffset)})
        end
    end

    _G.SendNotification = function(text, duration)
        local nFrame = Instance.new("Frame")
        nFrame.Name = "Xeno_Notification"
        nFrame.Size = UDim2.new(0, NotificationSystem.Config.Width, 0, NotificationSystem.Config.Height)
        nFrame.Position = NotificationSystem.Config.Entry
        nFrame.BackgroundColor3 = Theme.Main
        nFrame.BorderSizePixel = 1
        nFrame.BorderColor3 = Theme.Accent
        nFrame.Parent = CoreGui
        
        local AccentBar = Instance.new("Frame")
        AccentBar.Size = UDim2.new(0, 3, 1, 0)
        AccentBar.BackgroundColor3 = Theme.Accent
        AccentBar.BorderSizePixel = 0
        AccentBar.Parent = nFrame

        local Title = Instance.new("TextLabel")
        Title.Size = UDim2.new(1, -15, 0, 20)
        Title.Position = UDim2.new(0, 10, 0, 5)
        Title.BackgroundTransparency = 1
        Title.Text = "[ XENO CORE SYSTEM ]"
        Title.TextColor3 = Theme.Placeholder
        Title.Font = Theme.Font
        Title.TextSize = 10
        Title.TextXAlignment = Enum.TextXAlignment.Left
        Title.Parent = nFrame

        local Content = Instance.new("TextLabel")
        Content.Size = UDim2.new(1, -20, 1, -25)
        Content.Position = UDim2.new(0, 10, 0, 18)
        Content.BackgroundTransparency = 1
        Content.Text = tostring(text):upper()
        Content.TextColor3 = Theme.Text
        Content.Font = Theme.Font
        Content.TextSize = 12
        Content.TextWrapped = true
        Content.TextXAlignment = Enum.TextXAlignment.Left
        Content.Parent = nFrame
        
        table.insert(NotificationSystem.Active, 1, nFrame)
        UpdateStack()

        task.delay(duration or 4, function()
            local idx = table.find(NotificationSystem.Active, nFrame)
            if idx then table.remove(NotificationSystem.Active, idx) end
            
            local exit = Util:Tween(nFrame, 0.4, {Position = UDim2.new(1, 40, nFrame.Position.Y.Scale, nFrame.Position.Y.Offset)})
            UpdateStack()
            exit.Completed:Wait()
            nFrame:Destroy()
        end)
    end
end

--// [MODULE 4: UI CONSTRUCTION]
local Screen = Instance.new("ScreenGui")
Screen.Name = "Xeno_Modular_V10"
Screen.ResetOnSpawn = false
Screen.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
Screen.Parent = CoreGui

local Main = Instance.new("Frame")
Main.Name = "MainFrame"
Main.Size = UDim2.new(0, 550, 0, 450)
Main.Position = UDim2.new(0.5, -275, 0.5, -225)
Main.BackgroundColor3 = Theme.Main
Main.BorderSizePixel = 2
Main.BorderColor3 = Theme.Border
Main.Active = true
Main.Parent = Screen

local Header = Instance.new("Frame")
Header.Size = UDim2.new(1, 0, 0, 38)
Header.BackgroundColor3 = Theme.Header
Header.BorderSizePixel = 0
Header.Parent = Main

local Title = Instance.new("TextLabel")
Title.Size = UDim2.new(1, -20, 1, 0)
Title.Position = UDim2.new(0, 15, 0, 0)
Title.BackgroundTransparency = 1
Title.Text = "XENO // MASTER ROBUST FRAMEWORK v10.2 [NESTED-CORE]"
Title.Font = Theme.Font
Title.TextColor3 = Theme.Accent
Title.TextSize = 14
Title.TextXAlignment = Enum.TextXAlignment.Left
Title.Parent = Header

local Scroll = Instance.new("ScrollingFrame")
Scroll.Size = UDim2.new(1, -16, 1, -60)
Scroll.Position = UDim2.new(0, 8, 0, 48)
Scroll.BackgroundTransparency = 1
Scroll.BorderSizePixel = 0
Scroll.ScrollBarThickness = 2
Scroll.ScrollBarImageColor3 = Theme.Accent
Scroll.Parent = Main

local MasterLayout = Instance.new("UIListLayout")
MasterLayout.Parent = Scroll
MasterLayout.Padding = UDim.new(0, 10)
MasterLayout.SortOrder = Enum.SortOrder.LayoutOrder

MasterLayout:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function()
    Scroll.CanvasSize = UDim2.new(0, 0, 0, MasterLayout.AbsoluteContentSize.Y + 20)
end)

--// [MODULE 5: COMPONENT LIBRARY API]
local Lib = { 
    Screen = Screen,
    Main = Main,
    Container = Scroll,
    IsVisible = true,
    Folders = {} -- Global Registry for Folders
}
getgenv().XenoFramework = Lib

function Lib:Destroy()
    if self.Screen then
        self.Screen:Destroy()
        getgenv().XenoFramework = nil
    end
end

local function CreateBaseFrame(parent, height)
    local f = Instance.new("Frame")
    f.Size = UDim2.new(1, -10, 0, height)
    f.BackgroundColor3 = Theme.Element
    f.BorderSizePixel = 1
    f.BorderColor3 = Theme.Border
    f.Parent = parent
    return f
end

function Lib:Button(parent, text, callback)
    local base = CreateBaseFrame(parent or self.Container, 32)
    local b = Instance.new("TextButton")
    b.Size = UDim2.new(1, 0, 1, 0)
    b.BackgroundTransparency = 1
    b.Text = "  " .. tostring(text):upper()
    b.Font = Theme.Font
    b.TextColor3 = Theme.Text
    b.TextSize = 13
    b.TextXAlignment = Enum.TextXAlignment.Left
    b.Parent = base
    b.MouseButton1Click:Connect(function() pcall(callback) end)
    return base
end

function Lib:Toggle(parent, text, default, callback)
    local state = default
    local base = CreateBaseFrame(parent or self.Container, 40)
    local l = Instance.new("TextButton")
    l.Size = UDim2.new(1, 0, 1, 0)
    l.BackgroundTransparency = 1
    l.Text = "  " .. tostring(text):upper()
    l.Font = Theme.Font
    l.TextColor3 = Theme.Text
    l.TextSize = 13
    l.TextXAlignment = Enum.TextXAlignment.Left
    l.Parent = base
    local sw = Instance.new("Frame")
    sw.Size = UDim2.new(0, 48, 0, 24)
    sw.Position = UDim2.new(1, -56, 0.5, -12)
    sw.BackgroundColor3 = state and Theme.Positive or Theme.Negative
    sw.BorderSizePixel = 1
    sw.BorderColor3 = Theme.Border
    sw.Parent = base
    local dot = Instance.new("Frame")
    dot.Size = UDim2.new(0, 20, 0, 20)
    dot.Position = state and UDim2.new(0, 26, 0, 2) or UDim2.new(0, 2, 0, 2)
    dot.BackgroundColor3 = Theme.Accent
    dot.Parent = sw
    l.MouseButton1Click:Connect(function()
        state = not state
        Util:Tween(sw, 0.15, {BackgroundColor3 = state and Theme.Positive or Theme.Negative})
        Util:Tween(dot, 0.15, {Position = state and UDim2.new(0, 26, 0, 2) or UDim2.new(0, 2, 0, 2)})
        pcall(callback, state)
    end)
end

function Lib:Slider(parent, text, min, max, default, callback)
    local base = CreateBaseFrame(parent or self.Container, 60)
    local lab = Instance.new("TextLabel")
    lab.Size = UDim2.new(1, -10, 0, 30)
    lab.Position = UDim2.new(0, 12, 0, 5)
    lab.BackgroundTransparency = 1
    lab.Text = tostring(text):upper() .. ": " .. default
    lab.Font = Theme.Font
    lab.TextColor3 = Theme.Text
    lab.TextSize = 12
    lab.TextXAlignment = Enum.TextXAlignment.Left
    lab.Parent = base
    local tray = Instance.new("TextButton")
    tray.Size = UDim2.new(1, -24, 0, 10)
    tray.Position = UDim2.new(0, 12, 0, 40)
    tray.BackgroundColor3 = Color3.fromRGB(10, 10, 10)
    tray.Text = ""
    tray.Parent = base
    local fill = Instance.new("Frame")
    fill.Size = UDim2.new((default-min)/(max-min), 0, 1, 0)
    fill.BackgroundColor3 = Theme.Accent
    fill.BorderSizePixel = 0
    fill.Parent = tray
    local function up()
        local mouseX = UIS:GetMouseLocation().X
        local per = math.clamp((mouseX - tray.AbsolutePosition.X) / tray.AbsoluteSize.X, 0, 1)
        local val = math.floor(min + (per * (max-min)))
        fill.Size = UDim2.new(per, 0, 1, 0)
        lab.Text = tostring(text):upper() .. ": " .. val
        return val
    end
    local drag = false
    tray.InputBegan:Connect(function(i) if i.UserInputType == Enum.UserInputType.MouseButton1 then drag = true end end)
    UIS.InputChanged:Connect(function(i) if drag and i.UserInputType == Enum.UserInputType.MouseMovement then up() end end)
    UIS.InputEnded:Connect(function(i) if i.UserInputType == Enum.UserInputType.MouseButton1 and drag then drag = false pcall(callback, up()) end end)
end

function Lib:Input(parent, text, callback)
    local base = CreateBaseFrame(parent or self.Container, 48)
    local box = Instance.new("TextBox")
    box.Size = UDim2.new(1, -20, 1, -14)
    box.Position = UDim2.new(0, 10, 0, 7)
    box.BackgroundColor3 = Color3.fromRGB(10, 10, 10)
    box.BorderSizePixel = 1
    box.BorderColor3 = Theme.Border
    box.PlaceholderText = tostring(text):upper() .. "..."
    box.PlaceholderColor3 = Theme.Placeholder
    box.Text = ""
    box.Font = Theme.Font
    box.TextColor3 = Theme.Text
    box.TextSize = 13
    box.Parent = base
    box.FocusLost:Connect(function() pcall(callback, box.Text) end)
    return base
end

--// [ENHANCED NESTED FOLDER SYSTEM]
function Lib:Folder(text, parent)
    local targetContainer = parent or self.Container
    
    local Root = Instance.new("Frame")
    Root.Name = text
    Root.Size = UDim2.new(1, -10, 0, 35)
    Root.BackgroundColor3 = Theme.Folder
    Root.BorderSizePixel = 1
    Root.BorderColor3 = Theme.Border
    Root.ClipsDescendants = true
    Root.Parent = targetContainer
    
    local List = Instance.new("UIListLayout")
    List.Parent = Root
    List.Padding = UDim.new(0, 8)
    List.SortOrder = Enum.SortOrder.LayoutOrder
    
    local HeaderBtn = Instance.new("TextButton")
    HeaderBtn.Size = UDim2.new(1, 0, 0, 35)
    HeaderBtn.BackgroundColor3 = Theme.Header
    HeaderBtn.BorderSizePixel = 0
    HeaderBtn.Text = "  [+] " .. tostring(text):upper()
    HeaderBtn.Font = Theme.Font
    HeaderBtn.TextColor3 = Theme.Accent
    HeaderBtn.TextSize = 13
    HeaderBtn.TextXAlignment = Enum.TextXAlignment.Left
    HeaderBtn.Parent = Root
    
    local Content = Instance.new("Frame")
    Content.Name = "SubContainer"
    Content.Size = UDim2.new(1, 0, 0, 0)
    Content.BackgroundTransparency = 1
    Content.Parent = Root
    
    local ContentList = Instance.new("UIListLayout")
    ContentList.Parent = Content
    ContentList.Padding = UDim.new(0, 8)
    ContentList.HorizontalAlignment = Enum.HorizontalAlignment.Center
    
    local opened = false
    local function Resize()
        if opened then
            local target = ContentList.AbsoluteContentSize.Y + 45
            Util:Tween(Root, 0.2, {Size = UDim2.new(1, -10, 0, target)})
        else
            Util:Tween(Root, 0.2, {Size = UDim2.new(1, -10, 0, 35)})
        end
    end
    
    HeaderBtn.MouseButton1Click:Connect(function()
        opened = not opened
        HeaderBtn.Text = opened and "  [-] " .. tostring(text):upper() or "  [+] " .. tostring(text):upper()
        Resize()
    end)
    
    ContentList:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function()
        if opened then Resize() end
    end)

    --// REGISTER FOLDER OBJECT FOR CROSS-SCRIPTING
    local folderObject = {
        Instance = Root,
        Container = Content,
        Header = HeaderBtn,
        Title = text,
        SetTitle = function(self, newTitle)
            self.Title = newTitle
            self.Header.Text = opened and "  [-] " .. tostring(newTitle):upper() or "  [+] " .. tostring(newTitle):upper()
        end,
        Move = function(self, newParent)
            self.Instance.Parent = newParent
        end
    }
    
    self.Folders[text] = folderObject
    return Content
end

--// [MODULE 6: CROSS-SCRIPT FOLDER MANIPULATION]
function Lib:RenameFolder(oldName, newName)
    local folder = self.Folders[oldName]
    if folder then
        folder:SetTitle(newName)
        self.Folders[newName] = folder
        self.Folders[oldName] = nil
        return true
    end
    return false
end

function Lib:MoveFolder(folderName, targetFolderName)
    local folder = self.Folders[folderName]
    local targetFolder = self.Folders[targetFolderName]
    
    if folder then
        if targetFolderName == "Main" then
            folder:Move(self.Container)
            return true
        elseif targetFolder then
            folder:Move(targetFolder.Container)
            return true
        end
    end
    return false
end

--// [MODULE 7: WINDOW MANAGEMENT]
local function InitWindowLogic()
    local dBtn = Instance.new("TextButton")
    dBtn.Size = UDim2.new(0, 55, 0, 24)
    dBtn.Position = UDim2.new(1, -60, 0, 5)
    dBtn.BackgroundColor3 = Theme.Element
    dBtn.Text = "DRAG"
    dBtn.Font = Theme.Font
    dBtn.TextColor3 = Theme.Accent
    dBtn.TextSize = 11
    dBtn.Parent = Main
    
    local sBtn = Instance.new("TextButton")
    sBtn.Size = UDim2.new(0, 55, 0, 24)
    sBtn.Position = UDim2.new(0, 5, 1, -30)
    sBtn.BackgroundColor3 = Theme.Element
    sBtn.Text = "SIZE"
    sBtn.Font = Theme.Font
    sBtn.TextColor3 = Theme.Accent
    sBtn.TextSize = 11
    sBtn.Parent = Main

    local drag, resize, mStart, pStart, sStart
    dBtn.InputBegan:Connect(function(i) if i.UserInputType == Enum.UserInputType.MouseButton1 then drag = true mStart = i.Position pStart = Main.Position end end)
    sBtn.InputBegan:Connect(function(i) if i.UserInputType == Enum.UserInputType.MouseButton1 then resize = true mStart = i.Position sStart = Main.Size pStart = Main.Position end end)

    UIS.InputChanged:Connect(function(i)
        if i.UserInputType == Enum.UserInputType.MouseMovement then
            if drag then
                local delta = i.Position - mStart
                Main.Position = UDim2.new(pStart.X.Scale, pStart.X.Offset + delta.X, pStart.Y.Scale, pStart.Y.Offset + delta.Y)
            elseif resize then
                local delta = i.Position - mStart
                local nWidth = math.max(350, sStart.X.Offset - delta.X)
                local nHeight = math.max(300, sStart.Y.Offset + delta.Y)
                local deltaXOffset = sStart.X.Offset - nWidth
                Main.Size = UDim2.new(0, nWidth, 0, nHeight)
                Main.Position = UDim2.new(pStart.X.Scale, pStart.X.Offset + deltaXOffset, pStart.Y.Scale, pStart.Y.Offset)
            end
        end
    end)
    
    UIS.InputEnded:Connect(function(i) if i.UserInputType == Enum.UserInputType.MouseButton1 then drag = false resize = false end end)
    UIS.InputBegan:Connect(function(i, g) if not g and i.KeyCode == Enum.KeyCode.RightAlt then Lib.IsVisible = not Lib.IsVisible Main.Visible = Lib.IsVisible end end)
end

InitWindowLogic()
_G.SendNotification("Xeno Master v10.2: Nested Folders Enabled.", 5)
print("[XENO] Master Framework v10.2 Initialized successfully.")




Next Script




--[[
    XENO STANDALONE NOTIFICATION ENGINE
    - Features: Multi-Stacking, Priority Sorting, Sound Support
    - Fix: RichText ENABLED for [<b>TEXT</b>] support.
]]

local TweenService = cloneref(game:GetService("TweenService"))
local DebrisService = cloneref(game:GetService("Debris"))
local CoreGui = (gethui and gethui()) or cloneref(game:GetService("CoreGui"))
local Players = cloneref(game:GetService("Players"))
local LocalPlayer = Players.LocalPlayer

-- Global table to track active notifications
_G.XenoPriorityStack = _G.XenoPriorityStack or {}

-- Sound System Logic
local function _PLAYSOUND(id)
    task.spawn(function()
        local pGui = LocalPlayer:WaitForChild("PlayerGui", 5)
        if not pGui then return end
        
        local s = Instance.new("Sound", pGui)
        s.SoundId = "rbxassetid://" .. tostring(id)
        s.Volume = 0.5
        s:Play()
        DebrisService:AddItem(s, 3)
    end)
end

_G.SendNotification = function(message, duration, priority, soundId)
    task.spawn(function()
        -- Defaults
        duration = duration or 5
        priority = priority or 10
        soundId = soundId or 4499400560
        
        local spacing = 190 
        local baseYScale = 0.75 
        
        _PLAYSOUND(soundId)
        
        -- GUI Construction
        local screenGui = Instance.new("ScreenGui")
        screenGui.Name = "XenoAsyncNotify_" .. math.random(1000, 9999)
        screenGui.Parent = CoreGui
        
        local mainFrame = Instance.new("Frame")
        mainFrame.Size = UDim2.new(0, 500, 0, 180)
        mainFrame.Position = UDim2.new(1, 0, baseYScale, 0) 
        mainFrame.BackgroundColor3 = Color3.fromRGB(35, 35, 35)
        mainFrame.BorderSizePixel = 0
        mainFrame.Parent = screenGui
        
        local edgeHighlight = Instance.new("Frame")
        edgeHighlight.Size = UDim2.new(0, 3, 1, 0)
        edgeHighlight.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
        edgeHighlight.BorderSizePixel = 0
        edgeHighlight.Parent = mainFrame

        local textLabel = Instance.new("TextLabel")
        textLabel.Size = UDim2.new(1, -50, 1, -20)
        textLabel.Position = UDim2.new(0, 25, 0, 0)
        textLabel.BackgroundTransparency = 1
        textLabel.Text = message
        textLabel.RichText = true -- [[ ENABLED FOR BOLDING SUPPORT ]]
        textLabel.TextColor3 = Color3.fromRGB(230, 230, 230)
        textLabel.TextSize = 24
        textLabel.Font = Enum.Font.RobotoMono
        textLabel.TextWrapped = true
        textLabel.TextXAlignment = Enum.TextXAlignment.Left
        textLabel.Parent = mainFrame

        local barBg = Instance.new("Frame")
        barBg.Size = UDim2.new(1, 0, 0, 4) 
        barBg.Position = UDim2.new(0, 0, 1, -4)
        barBg.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
        barBg.BorderSizePixel = 0
        barBg.Parent = mainFrame
        
        local progressBar = Instance.new("Frame")
        progressBar.Size = UDim2.new(1, 0, 1, 0)
        progressBar.BackgroundColor3 = Color3.fromRGB(0, 130, 255)
        progressBar.BorderSizePixel = 0
        progressBar.Parent = barBg

        local mask = Instance.new("UIGradient")
        mask.Transparency = NumberSequence.new({
            NumberSequenceKeypoint.new(0, 0),
            NumberSequenceKeypoint.new(0.48, 0),
            NumberSequenceKeypoint.new(0.52, 1),
            NumberSequenceKeypoint.new(1, 1)
        })
        mask.Offset = Vector2.new(0.5, 0)
        mask.Parent = progressBar

        local notifyData = {
            Frame = mainFrame,
            Priority = priority,
            CreationTime = tick()
        }

        table.insert(_G.XenoPriorityStack, notifyData)

        local function updateStack()
            table.sort(_G.XenoPriorityStack, function(a, b)
                if a.Priority ~= b.Priority then
                    return a.Priority > b.Priority 
                else
                    return a.CreationTime < b.CreationTime
                end
            end)

            local stackSize = #_G.XenoPriorityStack
            for i, data in ipairs(_G.XenoPriorityStack) do
                local visualIndexFromBottom = stackSize - i
                local targetYOffset = -(visualIndexFromBottom * spacing)
                
                TweenService:Create(data.Frame, TweenInfo.new(0.5, Enum.EasingStyle.Quart, Enum.EasingDirection.Out), {
                    Position = UDim2.new(1, -500, baseYScale, targetYOffset)
                }):Play()
            end
        end

        updateStack()
        local timerTween = TweenService:Create(mask, TweenInfo.new(duration, Enum.EasingStyle.Linear), {Offset = Vector2.new(-0.5, 0)})
        timerTween:Play()
        timerTween.Completed:Wait()
        
        local index = table.find(_G.XenoPriorityStack, notifyData)
        if index then
            table.remove(_G.XenoPriorityStack, index)
            updateStack()
        end
        
        local slideOut = TweenService:Create(mainFrame, TweenInfo.new(0.5, Enum.EasingStyle.Quart, Enum.EasingDirection.In), {
            Position = UDim2.new(1, 0, baseYScale, mainFrame.Position.Y.Offset)
        })
        slideOut:Play()
        slideOut.Completed:Wait()
        screenGui:Destroy()
    end)
end
print("[XENO] Notification Engine (RichText) Loaded.")




Esp system




--// [DEPENDENCIES & STEALTH SERVICES]
local Lib = getgenv().XenoFramework
if not Lib then
    warn("[XENO ERROR] Master Framework not found!")
    return
end

local function GetService(name)
    local success, service = pcall(function() 
        return cloneref(game:GetService(name)) 
    end)
    return success and service or game:GetService(name)
end

local RunService = GetService("RunService")
local Players = GetService("Players")
local Workspace = GetService("Workspace")
local LocalPlayer = Players.LocalPlayer
local Camera = Workspace.CurrentCamera

--// [SETTINGS STATE]
local RoomsSettings = {
    Entities = {}, 
    LastDespawnTime = {["A-60"] = 0, ["A-200"] = 0}, 
    ActiveCount = {["A-60"] = 0, ["A-200"] = 0},
    IdleTracker = {}, 
    Pending = {},
    -- Room/Chain Tracking
    A200RoomOwner = -1,
    -- Config
    Tracers = true,
    Names = true,
    Boxes = true,
    Highlights = true
}

--// [ENTITY MAPPING]
local EntityData = {
    ["monster"] = {Name = "A-60", Type = "Standard", Color = Color3.fromRGB(255, 0, 0)},
    ["monster2"] = {Name = "A-120", Color = Color3.fromRGB(220, 220, 220), Type = "Scribble"},
    ["scribbles"] = {Name = "A-200", Color = Color3.fromRGB(200, 200, 200), Type = "Scribble"},
    ["spirit"] = {Name = "A-100", Color = Color3.fromRGB(255, 50, 0), Type = "Standard"},
    ["handdebris"] = {Name = "A-250", Color = Color3.fromRGB(255, 100, 0), Type = "Standard"},
    ["jack"] = {Name = "JACK", Color = Color3.fromRGB(255, 255, 255), Type = "Standard"}
}

--// [UI INITIALIZATION]
local DoorsContainer = Lib.Folders["DOORS SCRIPTS"] and Lib.Folders["DOORS SCRIPTS"].Container or Lib.Container
local RoomsFolder = Lib:Folder("The Rooms", DoorsContainer)

Lib:Toggle(RoomsFolder, "Entity Highlights", true, function(state) RoomsSettings.Highlights = state end)
Lib:Toggle(RoomsFolder, "ESP Tracer Lines", true, function(state) RoomsSettings.Tracers = state end)
Lib:Toggle(RoomsFolder, "Names & Distance", true, function(state) RoomsSettings.Names = state end)
Lib:Toggle(RoomsFolder, "Box Frames", true, function(state) RoomsSettings.Boxes = state end)

--// [ROOM NUMBER TRACKER]
local roomValObj = Workspace:WaitForChild("roomnumber", 15)
if roomValObj then
    roomValObj.Changed:Connect(function()
        RoomsSettings.A200RoomOwner = -1
    end)
end

--// [ESP CONSTRUCTOR]
local function CreateESP(obj, info, isPrime)
    if RoomsSettings.Entities[obj] then return end
    
    local finalName = isPrime and info.Name .. "' [PRIME]" or info.Name
    local finalColor = isPrime and Color3.fromRGB(0, 160, 255) or info.Color

    local data = {
        Line = Drawing.new("Line"),
        Text = Drawing.new("Text"),
        Box = Drawing.new("Square"),
        Info = {Name = finalName, Color = finalColor, Type = info.Type, IsPrime = isPrime}
    }

    data.Line.Thickness = 2
    data.Line.Transparency = 0.6
    data.Line.Color = finalColor
    data.Text.Center, data.Text.Outline = true, true
    data.Text.Font, data.Text.Color = 2, finalColor
    data.Box.Thickness, data.Box.Color = 2, finalColor
    data.Box.Transparency, data.Box.Filled = 0.8, false

    RoomsSettings.Entities[obj] = data
    RoomsSettings.ActiveCount[info.Name] = (RoomsSettings.ActiveCount[info.Name] or 0) + 1
    
    if RoomsSettings.Highlights then
        local hl = Instance.new("Highlight")
        hl.FillColor, hl.OutlineColor = finalColor, Color3.new(1,1,1)
        hl.Adornee, hl.Parent = obj, obj
    end

    _G.SendNotification((isPrime and "⚠️ PRIME: " or "SPAWNED: ") .. finalName, 5)
end

--// [HEURISTIC A-60 PRIME DETECTOR]
local function AnalyzeA60(obj)
    local isPrime = false
    local currentTime = tick()
    local lastDespawn = RoomsSettings.LastDespawnTime["A-60"] or 0
    local elapsed = currentTime - lastDespawn

    -- 1. Chain Logic (If within 1.2s of last encounter)
    if elapsed  180 then
        isPrime = true -- Flagging by extreme speed (A-60' Velocity)
    end

    -- 3. Sound Signature
    local s = obj:FindFirstChildOfClass("Sound", true)
    if s and (s.Volume < 0.6 or s.Name:lower():find("prime")) then
        isPrime = true -- Flagging by silence or muffled audio
    end

    return isPrime
end

--// [SCRIBBLE LOGIC - A-120/200]
local function ProcessScribble(obj)
    if RoomsSettings.Pending[obj] then return end
    RoomsSettings.Pending[obj] = true

    local currentRoom = roomValObj and roomValObj.Value or 0
    if RoomsSettings.A200RoomOwner == currentRoom and currentRoom ~= -1 then
        CreateESP(obj, {Name = "A-200", Color = Color3.fromRGB(200,200,200), Type = "Scribble"}, true)
        RoomsSettings.Pending[obj] = nil
        return
    end

    task.spawn(function()
        local startPos = obj:GetPivot().Position
        local detectedBang = false
        local timeout = 0
        
        while obj.Parent and not detectedBang and timeout  0) then detectedBang = true end
            if (obj:GetPivot().Position - startPos).Magnitude > 1.5 then break end
            task.wait(0.05)
            timeout = timeout + 1
        end

        if not obj.Parent then RoomsSettings.Pending[obj] = nil return end
        if detectedBang then
            RoomsSettings.A200RoomOwner = roomValObj and roomValObj.Value or 0
            CreateESP(obj, {Name = "A-200", Color = Color3.fromRGB(200,200,200), Type = "Scribble"}, false)
        else
            CreateESP(obj, {Name = "A-120", Color = Color3.fromRGB(255,255,255), Type = "Scribble"}, false)
        end
        RoomsSettings.Pending[obj] = nil
    end)
end

--// [DETECTION HANDLER]
local function OnDetect(child, forcedInfo)
    if not child:IsDescendantOf(game) or RoomsSettings.Entities[child] or RoomsSettings.Pending[child] then return end
    
    local nameLower = child.Name:lower()
    local info = forcedInfo or EntityData[nameLower]
    if not info then return end

    if info.Type == "Scribble" then
        ProcessScribble(child)
    elseif info.Name == "A-60" then
        task.spawn(function()
            local isPrime = AnalyzeA60(child)
            CreateESP(child, info, isPrime)
        end)
    else
        CreateESP(child, info, false)
    end
end

--// [RENDER LOOP]
RunService.RenderStepped:Connect(function()
    local char = LocalPlayer.Character
    local hrp = char and char:FindFirstChild("HumanoidRootPart")
    if not hrp then return end

    for obj, data in pairs(RoomsSettings.Entities) do
        pcall(function()
            if obj and obj.Parent then
                local pivotPos = obj:GetPivot().Position
                local screenPos, onScreen = Camera:WorldToViewportPoint(pivotPos)
                local distance = (hrp.Position - pivotPos).Magnitude

                local tracker = RoomsSettings.IdleTracker[obj] or {Pos = pivotPos, Time = tick()}
                if (tracker.Pos - pivotPos).Magnitude  0.4 then -- Shorter idle trigger for A-900+
                        local base = data.Info.Name:gsub("' %bPRIME%]", "")
                        RoomsSettings.LastDespawnTime[base] = tick()
                    end
                else
                    RoomsSettings.IdleTracker[obj] = {Pos = pivotPos, Time = tick()}
                end

                if onScreen then
                    data.Line.Visible = RoomsSettings.Tracers
                    data.Text.Visible = RoomsSettings.Names
                    data.Box.Visible = RoomsSettings.Boxes and (data.Info.Type == "Scribble" or data.Info.IsPrime)

                    if data.Line.Visible then
                        data.Line.From = Vector2.new(Camera.ViewportSize.X / 2, Camera.ViewportSize.Y)
                        data.Line.To = Vector2.new(screenPos.X, screenPos.Y)
                    end
                    if data.Text.Visible then
                        local scale = math.clamp(40 - (distance / 8), 12, 32)
                        data.Text.Position = Vector2.new(screenPos.X, screenPos.Y - 45)
                        data.Text.Size = scale
                        data.Text.Text = string.format("%s\n[%d STUDS]", data.Info.Name, math.floor(distance))
                    end
                    if data.Box.Visible then
                        local size = 2000 / screenPos.Z
                        data.Box.Size = Vector2.new(size, size)
                        data.Box.Position = Vector2.new(screenPos.X - (size/2), screenPos.Y - (size/2))
                    end
                else
                    data.Line.Visible, data.Text.Visible, data.Box.Visible = false, false, false
                end
            else
                local base = data.Info.Name:gsub("' %bPRIME%]", "")
                RoomsSettings.ActiveCount[base] = math.max(0, (RoomsSettings.ActiveCount[base] or 1) - 1)
                RoomsSettings.LastDespawnTime[base] = tick()
                
                data.Line:Remove()
                data.Text:Remove()
                data.Box:Remove()
                
                RoomsSettings.Entities[obj] = nil
                RoomsSettings.IdleTracker[obj] = nil
            end
        end)
    end
end)

--// [INIT]
Workspace.ChildAdded:Connect(OnDetect)
task.spawn(function()
    local rooms = Workspace:WaitForChild("rooms", 10)
    if rooms then
        rooms.DescendantAdded:Connect(function(desc)
            local n = desc.Name:lower()
            if EntityData[n] then OnDetect(n == "jack" and desc.Parent or desc) end
        end)
    end
end)

_G.SendNotification("Rooms Master v3.7: A-60 Speed Heuristics Enabled", 5)
🎮 Similar Scripts
💬 Comments (0)
Login to post a comment
No comments yet. Be the first!
Script Info
Game Rooms & Doors
TypeKeyless
Authoralexriderr
Views85
Likes0
PublishedMay 2, 2026
🎮 Play Game on Roblox
🕐 Recent Scripts
Survive Zombie Arena Fighting and Auto loadout Script OP
Survive Zombie Arena Fighting and Auto loadout Script OP
Survive Zombie Arena • 👁 4
Keyless
Push Rock for Brainrots script keyless
Push Rock for Brainrots script keyless
Push Rock for Brainrots! • 👁 6
Keyless
Randomizer Menu Aimbot
Randomizer Menu Aimbot
Randomizer: Redux • 👁 7
Keyless
Atlus Hub Slime RNG Auto shoot script OP (No Keys)
Atlus Hub Slime RNG Auto shoot script OP (No Keys)
Slime RNG • 👁 25
Keyless
Levi Hub Rivals Aimbot Script Keyless OP
Levi Hub Rivals Aimbot Script Keyless OP
RIVALS • 👁 17
Keyless