--[[
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)