Description

Also try to ignore the names I'm bad at naming :c

This shows Most entity's with a Alert message, and a Esp mark on them! Also has a built in system to check for Prime's also.

Do note this script may be buggy but usually works.

There is mutiple scripts you need to run "Framework Menu" "Message system" "Rnd Esp System" run the first 2 before running the Esp system

Do note you can't just click copy, there is mutiple scripts, i have tried to sort them so it's easier to tell them apart

Features

  • + Alert, Esp, Light, Anti cheat bypass

Script

Add Xeno Scripts as a preferred source
--[[
    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 < 1.2 and lastDespawn ~= 0 then
        isPrime = true
    end

    -- 2. Physical Properties Check (Wait slightly for physics to settle)
    task.wait(0.1)
    if not obj.Parent then return false end
    
    local hrp = obj:FindFirstChild("HumanoidRootPart")
    if hrp and hrp.AssemblyLinearVelocity.Magnitude > 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 < 60 do
            local bang = Workspace:FindFirstChild("bang")
            if bang and (bang.IsPlaying or bang.TimePosition > 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.1 then
                    if tick() - tracker.Time > 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)
Script worked? 🚀 Boost it to #1 so others find it too.

Comments (1)

Log in to add a comment.

man7shingles133

man7shingles133

5 months ago

script doesn't work