
KeylessUniversal

-- Services
local Players = game:GetService("Players")
local CoreGui = game:GetService("CoreGui")
-- Main GUI Container
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "InventoryTrackerGui"
ScreenGui.Parent = CoreGui
ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
local function styleCorner(parent, radius)
local corner = Instance.new("UICorner")
corner.CornerRadius = UDim.new(0, radius or 6)
corner.Parent = parent
end
-- ==========================================
-- LAYER 1: PLAYER LIST FRAME
-- ==========================================
local ListFrame = Instance.new("Frame")
ListFrame.Name = "ListFrame"
ListFrame.Parent = ScreenGui
ListFrame.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
ListFrame.Position = UDim2.new(0.05, 0, 0.3, 0)
ListFrame.Size = UDim2.new(0, 200, 0, 320)
ListFrame.Active = true
ListFrame.Draggable = true
styleCorner(ListFrame, 8)
local ListTitle = Instance.new("TextLabel")
ListTitle.Parent = ListFrame
ListTitle.Size = UDim2.new(1, 0, 0, 35)
ListTitle.BackgroundTransparency = 1
ListTitle.Font = Enum.Font.SourceSansBold
ListTitle.Text = "PLAYER LIST"
ListTitle.TextColor3 = Color3.fromRGB(240, 240, 240)
ListTitle.TextSize = 16
local PlayerScroll = Instance.new("ScrollingFrame")
PlayerScroll.Parent = ListFrame
PlayerScroll.BackgroundTransparency = 1
PlayerScroll.Position = UDim2.new(0, 5, 0, 40)
PlayerScroll.Size = UDim2.new(1, -10, 1, -45)
PlayerScroll.CanvasSize = UDim2.new(0, 0, 0, 0)
PlayerScroll.ScrollBarThickness = 4
local PlayerLayout = Instance.new("UIListLayout")
PlayerLayout.Parent = PlayerScroll
PlayerLayout.SortOrder = Enum.SortOrder.Name
PlayerLayout.Padding = UDim.new(0, 4)
PlayerLayout:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function()
PlayerScroll.CanvasSize = UDim2.new(0, 0, 0, PlayerLayout.AbsoluteContentSize.Y)
end)
-- ==========================================
-- LAYER 2: DETAILED INVENTORY FRAME
-- ==========================================
local DetailFrame = Instance.new("Frame")
DetailFrame.Name = "DetailFrame"
DetailFrame.Parent = ScreenGui
DetailFrame.BackgroundColor3 = Color3.fromRGB(35, 35, 35)
DetailFrame.Position = UDim2.new(0.05, 210, 0.3, 0)
DetailFrame.Size = UDim2.new(0, 290, 0, 320)
DetailFrame.Visible = false
DetailFrame.Active = true
DetailFrame.Draggable = true
styleCorner(DetailFrame, 8)
local UserLabel = Instance.new("TextLabel")
UserLabel.Parent = DetailFrame
UserLabel.Size = UDim2.new(1, -40, 0, 35)
UserLabel.Position = UDim2.new(0, 10, 0, 0)
UserLabel.BackgroundTransparency = 1
UserLabel.Font = Enum.Font.SourceSansBold
UserLabel.Text = "Username's Data"
UserLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
UserLabel.TextSize = 15
UserLabel.TextXAlignment = Enum.TextXAlignment.Left
local ItemScroll = Instance.new("ScrollingFrame")
ItemScroll.Parent = DetailFrame
ItemScroll.BackgroundTransparency = 1
ItemScroll.Position = UDim2.new(0, 5, 0, 40)
ItemScroll.Size = UDim2.new(1, -10, 1, -45)
ItemScroll.CanvasSize = UDim2.new(0, 0, 0, 0)
ItemScroll.ScrollBarThickness = 4
local ItemLayout = Instance.new("UIListLayout")
ItemLayout.Parent = ItemScroll
ItemLayout.SortOrder = Enum.SortOrder.Name
ItemLayout.Padding = UDim.new(0, 4)
ItemLayout:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function()
ItemScroll.CanvasSize = UDim2.new(0, 0, 0, ItemLayout.AbsoluteContentSize.Y)
end)
local CloseBtn = Instance.new("TextButton")
CloseBtn.Parent = DetailFrame
CloseBtn.Position = UDim2.new(1, -25, 0, 8)
CloseBtn.Size = UDim2.new(0, 18, 0, 18)
CloseBtn.BackgroundColor3 = Color3.fromRGB(150, 50, 50)
CloseBtn.Font = Enum.Font.SourceSansBold
CloseBtn.Text = "X"
CloseBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
CloseBtn.TextSize = 11
styleCorner(CloseBtn, 9)
-- ==========================================
-- DYNAMIC COLOR ENGINE & ASSET LOOKUP LOGIC
-- ==========================================
local rainbowLabels = {}
local function isFiltered(itemName)
-- 1. Filters out any item if it contains the word "Tool"
if string.find(itemName, "Tool") then
return true
end
-- 2. Filters out directional mesh variant labels
local badSuffixes = {"XY", "XZ", "YZ", "X", "Y", "Z"}
for _, suffix in ipairs(badSuffixes) do
if string.sub(itemName, -string.len(suffix)) == suffix then
return true
end
end
return false
end
local function getInventoryTemplateData(itemName)
local localPlayer = Players.LocalPlayer
if not localPlayer then return "", "" end
local playerGui = localPlayer:FindFirstChildOfClass("PlayerGui")
if playerGui then
local blocksFrame = playerGui:FindFirstChild("BuildGui")
and playerGui.BuildGui:FindFirstChild("InventoryFrame")
and playerGui.BuildGui.InventoryFrame:FindFirstChild("ScrollingFrame")
and playerGui.BuildGui.InventoryFrame.ScrollingFrame:FindFirstChild("BlocksFrame")
if blocksFrame then
local visualTemplate = blocksFrame:FindFirstChild(itemName)
if visualTemplate then
local typeIconId = ""
local frameImageId = ""
if visualTemplate:FindFirstChild("TypeIcon") and visualTemplate.TypeIcon:IsA("ImageLabel") then
typeIconId = visualTemplate.TypeIcon.Image
end
if visualTemplate:IsA("ImageButton") then
frameImageId = visualTemplate.Image
end
return typeIconId, frameImageId
end
end
end
return "", ""
end
local function updateLabelStyle(label, value)
local num = tonumber(value) or 0
label.TextStrokeTransparency = 1
rainbowLabels[label] = false
if num < 10 then
label.TextColor3 = Color3.fromRGB(0, 255, 100)
elseif num >= 10 and num < 100 then
label.TextColor3 = Color3.fromRGB(255, 220, 0)
elseif num >= 100 and num < 1000 then
label.TextColor3 = Color3.fromRGB(255, 50, 50)
elseif num >= 1000 and num < 10000 then
label.TextColor3 = Color3.fromRGB(180, 50, 255)
elseif num >= 10000 and num < 100000 then
label.TextColor3 = Color3.fromRGB(255, 120, 0)
label.TextStrokeColor3 = Color3.fromRGB(0, 0, 0)
label.TextStrokeTransparency = 0
elseif num >= 100000 and num < 1000000 then
label.TextColor3 = Color3.fromRGB(0, 0, 0)
label.TextStrokeColor3 = Color3.fromRGB(255, 255, 255)
label.TextStrokeTransparency = 0
else
rainbowLabels[label] = true
end
end
task.spawn(function()
while task.wait() do
local hue = (tick() % 4) / 4
local rainbowColor = Color3.fromHSV(hue, 0.8, 1)
for label, isActive in pairs(rainbowLabels) do
if isActive then
label.TextColor3 = rainbowColor
end
end
end
end)
-- ==========================================
-- CORE DATA TRACKING ENGINE
-- ==========================================
local activeTargetPlayer = nil
local liveConnections = {}
local function clearInventoryConnections()
for _, connection in ipairs(liveConnections) do
connection:Disconnect()
end
liveConnections = {}
rainbowLabels = {}
for _, child in ipairs(ItemScroll:GetChildren()) do
if child:IsA("Frame") then
child:Destroy()
end
end
end
CloseBtn.MouseButton1Click:Connect(function()
DetailFrame.Visible = false
clearInventoryConnections()
activeTargetPlayer = nil
end)
local function loadPlayerInventory(targetPlayer)
clearInventoryConnections()
activeTargetPlayer = targetPlayer
UserLabel.Text = targetPlayer.Name .. "'s Data"
DetailFrame.Visible = true
local dataFolder = targetPlayer:WaitForChild("Data", 5)
if not dataFolder then return end
local function renderItemRow(item)
if not item:IsA("ValueBase") then return end
-- Run filtering configuration lookups! Completely skip items containing "Tool"
if isFiltered(item.Name) then return end
local RowFrame = Instance.new("Frame")
RowFrame.Name = item.Name
RowFrame.Parent = ItemScroll
RowFrame.Size = UDim2.new(1, 0, 0, 32)
RowFrame.BackgroundColor3 = Color3.fromRGB(45, 45, 45)
styleCorner(RowFrame, 4)
local typeIconAsset, frameButtonAsset = getInventoryTemplateData(item.Name)
local ButtonDecal = Instance.new("ImageLabel")
ButtonDecal.Parent = RowFrame
ButtonDecal.Size = UDim2.new(0, 24, 0, 24)
ButtonDecal.Position = UDim2.new(0, 6, 0, 4)
ButtonDecal.BackgroundTransparency = 1
ButtonDecal.Image = frameButtonAsset ~= "" and frameButtonAsset or "rbxassetid://12328114032"
local TypeDecal = Instance.new("ImageLabel")
TypeDecal.Parent = RowFrame
TypeDecal.Size = UDim2.new(0, 24, 0, 24)
TypeDecal.Position = UDim2.new(0, 34, 0, 4)
TypeDecal.BackgroundTransparency = 1
TypeDecal.Image = typeIconAsset ~= "" and typeIconAsset or "rbxassetid://12328114032"
local NameLabel = Instance.new("TextLabel")
NameLabel.Parent = RowFrame
NameLabel.Size = UDim2.new(0.5, -65, 1, 0)
NameLabel.Position = UDim2.new(0, 65, 0, 0)
NameLabel.BackgroundTransparency = 1
NameLabel.Font = Enum.Font.SourceSans
NameLabel.Text = item.Name
NameLabel.TextColor3 = Color3.fromRGB(220, 220, 220)
NameLabel.TextSize = 14
NameLabel.TextXAlignment = Enum.TextXAlignment.Left
local ValueLabel = Instance.new("TextLabel")
ValueLabel.Parent = RowFrame
ValueLabel.Size = UDim2.new(0.4, -10, 1, 0)
ValueLabel.Position = UDim2.new(0.6, 0, 0, 0)
ValueLabel.BackgroundTransparency = 1
ValueLabel.Font = Enum.Font.SourceSansBold
ValueLabel.Text = tostring(item.Value)
ValueLabel.TextSize = 14
ValueLabel.TextXAlignment = Enum.TextXAlignment.Right
updateLabelStyle(ValueLabel, item.Value)
local changeEvent = item.Changed:Connect(function(newValue)
ValueLabel.Text = tostring(newValue)
updateLabelStyle(ValueLabel, newValue)
end)
table.insert(liveConnections, changeEvent)
end
for _, item in ipairs(dataFolder:GetChildren()) do
renderItemRow(item)
end
local childAddedEvent = dataFolder.ChildAdded:Connect(function(newItem)
renderItemRow(newItem)
end)
table.insert(liveConnections, childAddedEvent)
end
-- ==========================================
-- PLAYER MANAGEMENT SYSTEM
-- ==========================================
local function addPlayerButton(player)
if PlayerScroll:FindFirstChild(player.Name) then return end
local Btn = Instance.new("TextButton")
Btn.Name = player.Name
Btn.Parent = PlayerScroll
Btn.Size = UDim2.new(1, 0, 0, 30)
Btn.BackgroundColor3 = Color3.fromRGB(45, 45, 45)
Btn.Font = Enum.Font.SourceSans
Btn.Text = player.Name
Btn.TextColor3 = Color3.fromRGB(255, 255, 255)
Btn.TextSize = 14
styleCorner(Btn, 4)
Btn.MouseButton1Click:Connect(function()
loadPlayerInventory(player)
end)
end
local function removePlayerButton(player)
local Btn = PlayerScroll:FindFirstChild(player.Name)
if Btn then Btn:Destroy() end
if activeTargetPlayer == player then
DetailFrame.Visible = false
clearInventoryConnections()
activeTargetPlayer = nil
end
end
for _, p in ipairs(Players:GetPlayers()) do
addPlayerButton(p)
end
Players.PlayerAdded:Connect(addPlayerButton)
Players.PlayerRemoving:Connect(removePlayerButton)No comments yet for this script.



