
KeylessUniversal

local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local TweenService = game:GetService("TweenService")
local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")
local PANEL_W = 320
local PANEL_H = 420
local ENTRY_HEIGHT = 56
local RECENT_IGNORE_SECONDS = 2
local lastSeen = {}
local entriesCount = 0
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "BoomboxTrackerGui"
screenGui.ResetOnSpawn = false
screenGui.Parent = playerGui
local panel = Instance.new("Frame")
panel.Name = "MainPanel"
panel.Size = UDim2.new(0, PANEL_W, 0, PANEL_H)
panel.Position = UDim2.new(0.7, 0, 0.15, 0)
panel.AnchorPoint = Vector2.new(0,0)
panel.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
panel.BorderSizePixel = 0
panel.Parent = screenGui
local panelRound = Instance.new("UICorner", panel)
panelRound.CornerRadius = UDim.new(0, 14)
local header = Instance.new("Frame", panel)
header.Size = UDim2.new(1, 0, 0, 50)
header.BackgroundColor3 = Color3.fromRGB(28, 28, 28)
header.BorderSizePixel = 0
local headerRound = Instance.new("UICorner", header)
headerRound.CornerRadius = UDim.new(0, 12)
local title = Instance.new("TextLabel", header)
title.Size = UDim2.new(1, -100, 1, 0)
title.Position = UDim2.new(0, 12, 0, 0)
title.BackgroundTransparency = 1
title.Text = "Boombox Tracker"
title.TextColor3 = Color3.fromRGB(230,230,230)
title.TextSize = 18
title.Font = Enum.Font.GothamBold
title.TextXAlignment = Enum.TextXAlignment.Left
local function makeHeaderButton(name, text, posOffset)
local b = Instance.new("TextButton", header)
b.Name = name
b.Size = UDim2.new(0, 56, 0, 34)
b.Position = UDim2.new(1, -posOffset, 0.5, -17)
b.BackgroundColor3 = Color3.fromRGB(55,55,55)
b.TextColor3 = Color3.fromRGB(240,240,240)
b.Font = Enum.Font.Gotham
b.TextSize = 14
b.Text = text
local r = Instance.new("UICorner", b)
r.CornerRadius = UDim.new(0,8)
return b
end
local btnClose = makeHeaderButton("CloseBtn", "✕", 12)
local btnClear = makeHeaderButton("ClearBtn", "Clear", 74)
local btnCopyAll = makeHeaderButton("CopyAllBtn", "Copy All", 136)
local btnToggle = makeHeaderButton("ToggleBtn", "Hide", 198)
local content = Instance.new("Frame", panel)
content.Position = UDim2.new(0, 0, 0, 50)
content.Size = UDim2.new(1, 0, 1, -50)
content.BackgroundTransparency = 1
local scroll = Instance.new("ScrollingFrame", content)
scroll.Name = "List"
scroll.Size = UDim2.new(1, -12, 1, -12)
scroll.Position = UDim2.new(0, 6, 0, 6)
scroll.CanvasSize = UDim2.new(0, 0, 0, 0)
scroll.ScrollBarThickness = 8
scroll.BackgroundTransparency = 1
scroll.AutomaticCanvasSize = Enum.AutomaticSize.Y
local listLayout = Instance.new("UIListLayout", scroll)
listLayout.SortOrder = Enum.SortOrder.LayoutOrder
listLayout.Padding = UDim.new(0, 8)
local padding = Instance.new("UIPadding", scroll)
padding.PaddingTop = UDim.new(0, 4)
padding.PaddingBottom = UDim.new(0, 8)
local toast = Instance.new("TextLabel", panel)
toast.Size = UDim2.new(1, -24, 0, 28)
toast.Position = UDim2.new(0, 12, 1, -36)
toast.BackgroundTransparency = 1
toast.Text = ""
toast.TextColor3 = Color3.fromRGB(255,255,255)
toast.Font = Enum.Font.Gotham
toast.TextSize = 14
local toastTask
local function showToast(text, timeSec)
timeSec = timeSec or 1.2
toast.Text = text
toast.BackgroundTransparency = 0.6
toast.BackgroundColor3 = Color3.fromRGB(10,10,10)
toast.TextColor3 = Color3.fromRGB(240,240,240)
if toastTask then task.cancel(toastTask) end
toastTask = task.spawn(function()
wait(timeSec)
toast.BackgroundTransparency = 1
toast.Text = ""
end)
end
local credit = Instance.new("TextLabel", screenGui)
credit.Size = UDim2.new(0, 220, 0, 24)
credit.AnchorPoint = Vector2.new(0.5, 1)
credit.Position = UDim2.new(0.5, 0, 1, -6)
credit.BackgroundTransparency = 1
credit.Text = "script created by ScriptBox"
credit.TextColor3 = Color3.fromRGB(180,180,180)
credit.TextSize = 14
credit.Font = Enum.Font.Gotham
local function showManualCopyModal(textToShow)
local existing = screenGui:FindFirstChild("ManualCopyModal")
if existing then existing:Destroy() end
local modal = Instance.new("Frame", screenGui)
modal.Name = "ManualCopyModal"
modal.AnchorPoint = Vector2.new(0.5,0.5)
modal.Position = UDim2.new(0.5, 0, 0.5, 0)
modal.Size = UDim2.new(0, 300, 0, 160)
modal.BackgroundColor3 = Color3.fromRGB(18,18,18)
modal.BorderSizePixel = 0
Instance.new("UICorner", modal).CornerRadius = UDim.new(0,12)
local label = Instance.new("TextLabel", modal)
label.Size = UDim2.new(1, -24, 0, 42)
label.Position = UDim2.new(0, 12, 0, 12)
label.BackgroundTransparency = 1
label.Text = "Tap & hold the box to Copy"
label.TextColor3 = Color3.fromRGB(240,240,240)
label.Font = Enum.Font.Gotham
label.TextSize = 14
local box = Instance.new("TextBox", modal)
box.Size = UDim2.new(1, -24, 0, 56)
box.Position = UDim2.new(0, 12, 0, 62)
box.Text = textToShow
box.ClearTextOnFocus = false
box.Font = Enum.Font.Gotham
box.TextSize = 16
box.TextColor3 = Color3.fromRGB(20,20,20)
box.BackgroundColor3 = Color3.fromRGB(240,240,240)
box.Selectable = true
box.TextEditable = false
Instance.new("UICorner", box).CornerRadius = UDim.new(0,8)
local closeBtn = Instance.new("TextButton", modal)
closeBtn.Size = UDim2.new(0, 54, 0, 36)
closeBtn.Position = UDim2.new(1, -66, 1, -46)
closeBtn.Text = "Close"
closeBtn.Font = Enum.Font.GothamBold
closeBtn.TextSize = 14
closeBtn.BackgroundColor3 = Color3.fromRGB(80,80,80)
Instance.new("UICorner", closeBtn).CornerRadius = UDim.new(0,8)
closeBtn.MouseButton1Click:Connect(function()
modal:Destroy()
end)
end
local function createEntry(soundId, ownerName, soundName)
entriesCount = entriesCount + 1
local entryFrame = Instance.new("Frame")
entryFrame.Size = UDim2.new(1, -8, 0, ENTRY_HEIGHT)
entryFrame.BackgroundColor3 = Color3.fromRGB(36,36,36)
entryFrame.BorderSizePixel = 0
entryFrame.Parent = scroll
Instance.new("UICorner", entryFrame).CornerRadius = UDim.new(0,10)
local left = Instance.new("Frame", entryFrame)
left.Size = UDim2.new(0.7, -8, 1, 0)
left.Position = UDim2.new(0, 8, 0, 0)
left.BackgroundTransparency = 1
local titleLabel = Instance.new("TextLabel", left)
titleLabel.Size = UDim2.new(1, 0, 0.6, 0)
titleLabel.Position = UDim2.new(0, 0, 0, 6)
titleLabel.BackgroundTransparency = 1
titleLabel.Text = (ownerName or "Unknown") .. " — " .. (soundName or "")
titleLabel.TextXAlignment = Enum.TextXAlignment.Left
titleLabel.TextSize = 14
titleLabel.Font = Enum.Font.GothamBold
titleLabel.TextColor3 = Color3.fromRGB(240,240,240)
local idLabel = Instance.new("TextLabel", left)
idLabel.Size = UDim2.new(1, 0, 0.4, 0)
idLabel.Position = UDim2.new(0, 0, 0.6, -6)
idLabel.BackgroundTransparency = 1
idLabel.Text = tostring(soundId)
idLabel.TextXAlignment = Enum.TextXAlignment.Left
idLabel.TextSize = 13
idLabel.Font = Enum.Font.Gotham
idLabel.TextColor3 = Color3.fromRGB(200,200,200)
local copyBtn = Instance.new("TextButton", entryFrame)
copyBtn.Size = UDim2.new(0.28, -12, 0.78, 0)
copyBtn.Position = UDim2.new(0.72, 6, 0.11, 0)
copyBtn.Text = "Copy"
copyBtn.Font = Enum.Font.GothamBold
copyBtn.TextSize = 14
copyBtn.TextColor3 = Color3.fromRGB(255,255,255)
copyBtn.BackgroundColor3 = Color3.fromRGB(70,130,180)
Instance.new("UICorner", copyBtn).CornerRadius = UDim.new(0,10)
copyBtn.MouseButton1Click:Connect(function()
local numericId = tostring(soundId):match("%d+") or tostring(soundId)
local ok = pcall(function()
if setclipboard then
setclipboard(numericId)
else
error("no_setclipboard")
end
end)
if ok then
showToast("Copied ID: " .. numericId)
else
showManualCopyModal(numericId)
end
end)
end
btnClear.MouseButton1Click:Connect(function()
for _,v in pairs(scroll:GetChildren()) do
if v:IsA("Frame") then v:Destroy() end
end
lastSeen = {}
entriesCount = 0
scroll.CanvasSize = UDim2.new(0,0,0,0)
showToast("Cleared")
end)
btnClose.MouseButton1Click:Connect(function()
screenGui.Enabled = false
end)
btnCopyAll.MouseButton1Click:Connect(function()
local ids = {}
for _,v in pairs(scroll:GetChildren()) do
if v:IsA("Frame") then
for _,ch in pairs(v:GetDescendants()) do
if ch:IsA("TextLabel") and ch.Text:match("%d+") and not ch.Name:match("Title") then
local num = ch.Text:match("%d+")
if num then table.insert(ids, num) end
break
end
end
end
end
if #ids == 0 then
showToast("No IDs to copy")
return
end
local all = table.concat(ids, "\n")
local ok = pcall(function()
if setclipboard then setclipboard(all) else error("no_setclipboard") end
end)
if ok then
showToast("Copied all IDs")
else
showManualCopyModal(all)
end
end)
local panelVisible = true
btnToggle.MouseButton1Click:Connect(function()
panelVisible = not panelVisible
content.Visible = panelVisible
scroll.Visible = panelVisible
btnToggle.Text = panelVisible and "Hide" or "Show"
end)
local dragging = false
local dragInput, dragStart, startPos
local function update(input)
local delta = input.Position - dragStart
panel.Position = UDim2.new(
startPos.X.Scale,
startPos.X.Offset + delta.X,
startPos.Y.Scale,
startPos.Y.Offset + delta.Y
)
end
panel.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1
or input.UserInputType == Enum.UserInputType.Touch then
dragging = true
dragStart = input.Position
startPos = panel.Position
input.Changed:Connect(function()
if input.UserInputState == Enum.UserInputState.End then
dragging = false
end
end)
end
end)
panel.InputChanged:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseMovement
or input.UserInputType == Enum.UserInputType.Touch then
dragInput = input
end
end)
UserInputService.InputChanged:Connect(function(input)
if input == dragInput and dragging then
update(input)
end
end)
local function findBoomboxOwner(sound)
local cur = sound
for i = 1, 6 do
if not cur then break end
if cur:IsA("Tool") then
if cur.Name:lower():find("boom") then
local char = cur.Parent
if char and char:IsA("Model") then
local p = Players:GetPlayerFromCharacter(char)
if p then return p, cur end
end
return nil, cur
end
end
cur = cur.Parent
end
return nil, nil
end
local function handlePotentialSound(sound)
if not sound or not sound:IsA("Sound") then return end
if not sound.SoundId or sound.SoundId == "" then return end
local function tryAdd()
local owner, source = findBoomboxOwner(sound)
if not (owner or (source and tostring(source):lower():find("boom"))) then return end
local ownerName = owner and owner.Name or (source and source.Name) or "Unknown"
local key = tostring(sound.SoundId) .. "|" .. tostring(ownerName)
local now = os.time()
if lastSeen[key] and (now - lastSeen[key] < RECENT_IGNORE_SECONDS) then return end
lastSeen[key] = now
createEntry(sound.SoundId, ownerName, sound.Name)
end
if sound.IsPlaying then
tryAdd()
else
local conn
conn = sound:GetPropertyChangedSignal("IsPlaying"):Connect(function()
if sound.IsPlaying then
tryAdd()
conn:Disconnect()
end
end)
end
end
for _,v in pairs(workspace:GetDescendants()) do
if v:IsA("Sound") and v.SoundId ~= "" then
task.delay(0.05, function() handlePotentialSound(v) end)
end
end
workspace.DescendantAdded:Connect(function(desc)
if desc:IsA("Sound") then
task.delay(0.05, function()
pcall(function() handlePotentialSound(desc) end)
end)
end
end)
showToast("Boombox Tracker Active", 1.4)



nice script bro, keep up the good work!
@pxrson999 FE?
@NullX_404 not sure, just saw it and thought it was a nice script