00 Key SystemMobileM

BloxScripts.funThe Pro Diagnostics Hub is an advanced Roblox monitoring interface. It tracks critical client performance metrics in real-time, including live FPS and frame time, network ping, RAM usage, network traffic, active players, script errors, and graphics quality levels. It features hover tooltips, an error counter reset tool, and an animated confirmation prompt for safe and clean unloading.
-- [[ BloxScripts Risk Notice ]]
-- This script has not been verified by BloxScripts.fun. Deal with caution.
--
-- Stay safe:
-- • Never log in on unofficial Roblox sites or lookalike domains.
-- • Real Roblox links use roblox.com (check the .com ending).
-- • Treat fake Roblox login / "claim reward" pages as phishing.
-- [[ End BloxScripts Risk Notice ]]
-- LocalScript: StarterPlayer > StarterPlayerScripts
local Players = game:GetService("Players")
local TweenService = game:GetService("TweenService")
local UserInputService = game:GetService("UserInputService")
local Stats = game:GetService("Stats")
local LogService = game:GetService("LogService")
local RunService = game:GetService("RunService")
local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")
--------------------------------------------------
-- GUI CREATION
--------------------------------------------------
local gui = Instance.new("ScreenGui")
gui.Name = "DiagnosticsMenuUI"
gui.ResetOnSpawn = false
gui.Parent = playerGui
local main = Instance.new("Frame")
main.Size = UDim2.new(0, 380, 0, 520)
main.Position = UDim2.new(0.5, -190, 0.5, -260)
main.BackgroundColor3 = Color3.fromRGB(12, 15, 13)
main.BorderSizePixel = 0
main.ClipsDescendants = false
main.Parent = gui
-- Opening Animation
main.Size = UDim2.new(0, 0, 0, 0)
main.Position = UDim2.new(0.5, 0, 0.5, 0)
TweenService:Create(main, TweenInfo.new(0.4, Enum.EasingStyle.Quart, Enum.EasingDirection.Out), { Size = UDim2.new(0, 380, 0, 520), Position = UDim2.new(0.5, -190, 0.5, -260) }):Play()
local mainCorner = Instance.new("UICorner")
mainCorner.CornerRadius = UDim.new(0, 16)
mainCorner.Parent = main
local mainStroke = Instance.new("UIStroke")
mainStroke.Color = Color3.fromRGB(0, 180, 255)
mainStroke.Thickness = 1.5
mainStroke.Transparency = 0.2
mainStroke.Parent = main
--------------------------------------------------
-- TOOLTIP / INFO BUBBLE SYSTEM
--------------------------------------------------
local tooltip = Instance.new("Frame")
tooltip.Size = UDim2.new(0, 190, 0, 36)
tooltip.Position = UDim2.new(1, 12, 0, 0)
tooltip.BackgroundColor3 = Color3.fromRGB(18, 24, 30)
tooltip.BorderSizePixel = 0
tooltip.Visible = false
tooltip.Parent = main
local tooltipCorner = Instance.new("UICorner")
tooltipCorner.CornerRadius = UDim.new(0, 8)
tooltipCorner.Parent = tooltip
local tooltipStroke = Instance.new("UIStroke")
tooltipStroke.Color = Color3.fromRGB(0, 180, 255)
tooltipStroke.Thickness = 1
tooltipStroke.Transparency = 0.4
tooltipStroke.Parent = tooltip
local tooltipText = Instance.new("TextLabel")
tooltipText.Size = UDim2.new(1, -16, 1, 0)
tooltipText.Position = UDim2.new(0, 8, 0, 0)
tooltipText.BackgroundTransparency = 1
tooltipText.Font = Enum.Font.GothamMedium
tooltipText.TextSize = 10
tooltipText.TextColor3 = Color3.fromRGB(210, 225, 235)
tooltipText.TextWrapped = true
tooltipText.TextXAlignment = Enum.TextXAlignment.Left
tooltipText.Parent = tooltip
local function showTooltip(element, description)
element.MouseEnter:Connect(function()
tooltipText.Text = description
tooltip.Position = UDim2.new(1, 12, 0, element.Position.Y.Offset)
tooltip.Visible = true
tooltip.Size = UDim2.new(0, 0, 0, 0)
tooltip.BackgroundTransparency = 1
tooltipText.TextTransparency = 1
tooltipStroke.Transparency = 1
TweenService:Create(tooltip, TweenInfo.new(0.2, Enum.EasingStyle.Quart, Enum.EasingDirection.Out), {
Size = UDim2.new(0, 190, 0, 36),
BackgroundTransparency = 0
}):Play()
TweenService:Create(tooltipText, TweenInfo.new(0.2, Enum.EasingStyle.Quart, Enum.EasingDirection.Out), {
TextTransparency = 0
}):Play()
TweenService:Create(tooltipStroke, TweenInfo.new(0.2, Enum.EasingStyle.Quart, Enum.EasingDirection.Out), {
Transparency = 0.4
}):Play()
end)
element.MouseLeave:Connect(function()
local outTween = TweenService:Create(tooltip, TweenInfo.new(0.15, Enum.EasingStyle.Quart, Enum.EasingDirection.In), {
Size = UDim2.new(0, 0, 0, 0),
BackgroundTransparency = 1
})
TweenService:Create(tooltipText, TweenInfo.new(0.15, Enum.EasingStyle.Quart, Enum.EasingDirection.In), {
TextTransparency = 1
}):Play()
TweenService:Create(tooltipStroke, TweenInfo.new(0.15, Enum.EasingStyle.Quart, Enum.EasingDirection.In), {
Transparency = 1
}):Play()
outTween:Play()
outTween.Completed:Connect(function()
if tooltip.Size.X.Offset == 0 then
tooltip.Visible = false
end
end)
end)
end
--------------------------------------------------
-- HEADER
--------------------------------------------------
local header = Instance.new("TextButton")
header.Size = UDim2.new(1, 0, 0, 42)
header.BackgroundColor3 = Color3.fromRGB(16, 21, 24)
header.BorderSizePixel = 0
header.AutoButtonColor = false
header.Text = ""
header.Parent = main
local headerCorner = Instance.new("UICorner")
headerCorner.CornerRadius = UDim.new(0, 16)
headerCorner.Parent = header
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 = "PRO DIAGNOSTICS <font color='#00B4FF'>HUB</font>"
title.RichText = true
title.Font = Enum.Font.GothamBold
title.TextSize = 13
title.TextColor3 = Color3.new(1, 1, 1)
title.TextXAlignment = Enum.TextXAlignment.Left
title.Parent = header
local credit = Instance.new("TextLabel")
credit.Size = UDim2.new(1, -20, 0, 14)
credit.Position = UDim2.new(0, 15, 1, -22)
credit.BackgroundTransparency = 1
credit.Text = "Made by veryvare"
credit.Font = Enum.Font.GothamMedium
credit.TextSize = 10
credit.TextColor3 = Color3.fromRGB(90, 120, 135)
credit.TextXAlignment = Enum.TextXAlignment.Left
credit.Parent = main
-- Dragging functionality
local dragging, dragStart, startPosition
header.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
dragging = true
dragStart = input.Position
startPosition = main.Position
end
end)
UserInputService.InputChanged:Connect(function(input)
if dragging and input.UserInputType == Enum.UserInputType.MouseMovement then
local delta = input.Position - dragStart
main.Position = UDim2.new(startPosition.X.Scale, startPosition.X.Offset + delta.X, startPosition.Y.Scale, startPosition.Y.Offset + delta.Y)
end
end)
UserInputService.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = false end
end)
--------------------------------------------------
-- CONTENT CONTAINER
--------------------------------------------------
local contentContainer = Instance.new("Frame")
contentContainer.Size = UDim2.new(1, 0, 1, -42)
contentContainer.Position = UDim2.new(0, 0, 0, 42)
contentContainer.BackgroundTransparency = 1
contentContainer.Parent = main
--------------------------------------------------
-- BUTTON ANIMATION HELPER
--------------------------------------------------
local function setupButtonAnimations(btn)
local defaultSize = btn.Size
local hoverSize = UDim2.new(defaultSize.X.Scale, defaultSize.X.Offset + 4, defaultSize.Y.Scale, defaultSize.Y.Offset + 2)
btn.MouseEnter:Connect(function()
TweenService:Create(btn, TweenInfo.new(0.2, Enum.EasingStyle.Quart, Enum.EasingDirection.Out), {
Size = hoverSize
}):Play()
end)
btn.MouseLeave:Connect(function()
TweenService:Create(btn, TweenInfo.new(0.2, Enum.EasingStyle.Quart, Enum.EasingDirection.Out), {
Size = defaultSize
}):Play()
end)
btn.MouseButton1Down:Connect(function()
TweenService:Create(btn, TweenInfo.new(0.1, Enum.EasingStyle.Quart, Enum.EasingDirection.Out), {
Size = UDim2.new(defaultSize.X.Scale, defaultSize.X.Offset - 4, defaultSize.Y.Scale, defaultSize.Y.Offset - 2)
}):Play()
end)
btn.MouseButton1Up:Connect(function()
TweenService:Create(btn, TweenInfo.new(0.15, Enum.EasingStyle.Quart, Enum.EasingDirection.Out), {
Size = hoverSize
}):Play()
end)
end
--------------------------------------------------
-- PROFESSIONAL DIAGNOSTIC METRICS BOXES
--------------------------------------------------
local function createInfoBox(posY, titleText)
local box = Instance.new("Frame")
box.Size = UDim2.new(1, -30, 0, 32)
box.Position = UDim2.new(0, 15, 0, posY)
box.BackgroundColor3 = Color3.fromRGB(16, 20, 24)
box.Parent = contentContainer
local corner = Instance.new("UICorner")
corner.CornerRadius = UDim.new(0, 8)
corner.Parent = box
local stroke = Instance.new("UIStroke")
stroke.Color = Color3.fromRGB(25, 40, 50)
stroke.Thickness = 1
stroke.Parent = box
local label = Instance.new("TextLabel")
label.Size = UDim2.new(1, -16, 1, 0)
label.Position = UDim2.new(0, 8, 0, 0)
label.BackgroundTransparency = 1
label.Text = titleText .. ": --"
label.Font = Enum.Font.GothamBold
label.TextSize = 11
label.TextColor3 = Color3.fromRGB(0, 180, 255)
label.TextXAlignment = Enum.TextXAlignment.Left
label.Parent = box
return box, label
end
local fpsBox, fpsLabel = createInfoBox(12, "LIVE FPS & FRAME TIME")
showTooltip(fpsBox, "Displays current frames per second and render time.")
local pingBox, pingLabel = createInfoBox(50, "NETWORK PING / LATENCY")
showTooltip(pingBox, "Measures current connection delay to the server in milliseconds.")
local memBox, memLabel = createInfoBox(88, "CLIENT MEMORY (RAM)")
showTooltip(memBox, "Shows real-time memory usage consumed by your client.")
local netBox, netLabel = createInfoBox(126, "NETWORK RECEIVE RATE")
showTooltip(netBox, "Indicates incoming data stream speed from the server.")
local plyBox, plyLabel = createInfoBox(164, "SERVER PLAYERS ACTIVE")
showTooltip(plyBox, "Shows total player count currently connected to this session.")
local errBox, errLabel = createInfoBox(202, "CLIENT SCRIPT ERRORS")
showTooltip(errBox, "Monitors and logs any client-side script errors.")
local gfxBox, gfxLabel = createInfoBox(240, "GRAPHICS QUALITY LEVEL")
showTooltip(gfxBox, "Displays your current client graphics quality setting.")
-- Real-time Pro Diagnostics Loop
local errorCount = 0
LogService.MessageOut:Connect(function(msg, msgType)
if msgType == Enum.MessageType.MessageError then
errorCount = errorCount + 1
end
end)
local frameCount = 0
local lastUpdate = tick()
RunService.RenderStepped:Connect(function(step)
frameCount = frameCount + 1
local now = tick()
pcall(function()
if now - lastUpdate >= 0.5 then
local fps = math.floor(frameCount / (now - lastUpdate))
local ms = math.floor(step * 1000 * 10) / 10
fpsLabel.Text = "FPS: " .. tostring(fps) .. " (" .. tostring(ms) .. " ms)"
frameCount = 0
lastUpdate = now
end
local ping = math.floor(player:GetNetworkPing() * 1000)
pingLabel.Text = "NETWORK PING: " .. tostring(ping) .. " ms"
local mem = math.floor(Stats:GetTotalMemoryUsageMb())
memLabel.Text = "CLIENT MEMORY (RAM): " .. tostring(mem) .. " MB"
local kbps = math.floor(Stats.DataReceiveKbps or 0)
netLabel.Text = "NETWORK RECEIVE: " .. tostring(kbps) .. " KB/s"
plyLabel.Text = "SERVER PLAYERS: " .. tostring(#Players:GetPlayers()) .. " / " .. tostring(Players.MaxPlayers)
errLabel.Text = "CLIENT ERRORS: " .. tostring(errorCount)
local quality = settings().Rendering.QualityLevel.Value
gfxLabel.Text = "GRAPHICS QUALITY: Level " .. tostring(quality)
end)
end)
--------------------------------------------------
-- UTILITY ACTIONS
--------------------------------------------------
local clearLogBtn = Instance.new("TextButton")
clearLogBtn.Size = UDim2.new(1, -30, 0, 32)
clearLogBtn.Position = UDim2.new(0, 15, 0, 285)
clearLogBtn.BackgroundColor3 = Color3.fromRGB(16, 22, 28)
clearLogBtn.Text = "RESET ERROR COUNTER"
clearLogBtn.Font = Enum.Font.GothamBold
clearLogBtn.TextSize = 11
clearLogBtn.TextColor3 = Color3.fromRGB(255, 200, 0)
clearLogBtn.Parent = contentContainer
local clCorner = Instance.new("UICorner")
clCorner.CornerRadius = UDim.new(0, 10)
clCorner.Parent = clearLogBtn
local clStroke = Instance.new("UIStroke")
clStroke.Color = Color3.fromRGB(180, 140, 0)
clStroke.Thickness = 1
clStroke.Transparency = 0.5
clStroke.Parent = clearLogBtn
setupButtonAnimations(clearLogBtn)
showTooltip(clearLogBtn, "Resets the tracked client error counter back to zero.")
clearLogBtn.MouseButton1Click:Connect(function()
errorCount = 0
clearLogBtn.Text = "COUNTER RESET!"
task.delay(1.5, function()
clearLogBtn.Text = "RESET ERROR COUNTER"
end)
end)
--------------------------------------------------
-- UNLOAD BUTTON & CONFIRMATION POPUP SYSTEM
--------------------------------------------------
local unloadBtn = Instance.new("TextButton")
unloadBtn.Size = UDim2.new(1, -30, 0, 32)
unloadBtn.Position = UDim2.new(0, 15, 0, 332)
unloadBtn.BackgroundColor3 = Color3.fromRGB(28, 16, 18)
unloadBtn.Text = "UNLOAD MENU"
unloadBtn.Font = Enum.Font.GothamBold
unloadBtn.TextSize, unloadBtn.TextColor3 = 11, Color3.fromRGB(255, 70, 70)
unloadBtn.Parent = contentContainer
local unloadCorner = Instance.new("UICorner")
unloadCorner.CornerRadius = UDim.new(0, 10)
unloadCorner.Parent = unloadBtn
local unloadStroke = Instance.new("UIStroke")
unloadStroke.Color = Color3.fromRGB(150, 50, 50)
unloadStroke.Thickness = 1
unloadStroke.Transparency = 0.5
unloadStroke.Parent = unloadBtn
setupButtonAnimations(unloadBtn)
showTooltip(unloadBtn, "Closes and completely removes the diagnostics menu interface.")
-- Confirmation Overlay (Hidden by default)
local confirmOverlay = Instance.new("Frame")
confirmOverlay.Size = UDim2.new(1, 0, 1, 0)
confirmOverlay.Position = UDim2.new(0, 0, 0, 0)
confirmOverlay.BackgroundColor3 = Color3.fromRGB(12, 15, 13)
confirmOverlay.BackgroundTransparency = 1
confirmOverlay.Visible = false
confirmOverlay.ZIndex = 10
confirmOverlay.Parent = main
local confirmBox = Instance.new("Frame")
confirmBox.Size = UDim2.new(0, 0, 0, 0)
confirmBox.Position = UDim2.new(0.5, 0, 0.5, 0)
confirmBox.BackgroundColor3 = Color3.fromRGB(16, 21, 24)
confirmBox.BorderSizePixel = 0
confirmBox.ZIndex = 11
confirmBox.Parent = confirmOverlay
local cbCorner = Instance.new("UICorner")
cbCorner.CornerRadius = UDim.new(0, 12)
cbCorner.Parent = confirmBox
local cbStroke = Instance.new("UIStroke")
cbStroke.Color = Color3.fromRGB(0, 180, 255)
cbStroke.Thickness = 1.5
cbStroke.Transparency = 0.3
cbStroke.Parent = confirmBox
local confirmLabel = Instance.new("TextLabel")
confirmLabel.Size = UDim2.new(1, -20, 0, 45)
confirmLabel.Position = UDim2.new(0, 10, 0, 15)
confirmLabel.BackgroundTransparency = 1
confirmLabel.Text = "Are you sure you want to unload this menu?"
confirmLabel.Font = Enum.Font.GothamBold
confirmLabel.TextSize = 11
confirmLabel.TextColor3 = Color3.fromRGB(220, 235, 245)
confirmLabel.TextWrapped = true
confirmLabel.TextXAlignment = Enum.TextXAlignment.Center
confirmLabel.ZIndex = 12
confirmLabel.Parent = confirmBox
-- YES Button
local yesBtn = Instance.new("TextButton")
yesBtn.Size = UDim2.new(0.44, 0, 0, 32)
yesBtn.Position = UDim2.new(0.04, 0, 0, 75)
yesBtn.BackgroundColor3 = Color3.fromRGB(28, 16, 18)
yesBtn.Text = "YES, UNLOAD"
yesBtn.Font = Enum.Font.GothamBold
yesBtn.TextSize = 10
yesBtn.TextColor3 = Color3.fromRGB(255, 70, 70)
yesBtn.ZIndex = 12
yesBtn.Parent = confirmBox
local yesCorner = Instance.new("UICorner")
yesCorner.CornerRadius = UDim.new(0, 8)
yesCorner.Parent = yesBtn
local yesStroke = Instance.new("UIStroke")
yesStroke.Color = Color3.fromRGB(150, 50, 50)
yesStroke.Thickness = 1
yesStroke.Transparency = 0.5
yesStroke.Parent = yesBtn
setupButtonAnimations(yesBtn)
-- NO Button
local noBtn = Instance.new("TextButton")
noBtn.Size = UDim2.new(0.44, 0, 0, 32)
noBtn.Position = UDim2.new(0.52, 0, 0, 75)
noBtn.BackgroundColor3 = Color3.fromRGB(16, 22, 28)
noBtn.Text = "NO, CANCEL"
noBtn.Font = Enum.Font.GothamBold
noBtn.TextSize = 10
noBtn.TextColor3 = Color3.fromRGB(0, 180, 255)
noBtn.ZIndex = 12
noBtn.Parent = confirmBox
local noCorner = Instance.new("UICorner")
noCorner.CornerRadius = UDim.new(0, 8)
noCorner.Parent = noBtn
local noStroke = Instance.new("UIStroke")
noStroke.Color = Color3.fromRGB(0, 120, 180)
noStroke.Thickness = 1
noStroke.Transparency = 0.5
noStroke.Parent = noBtn
setupButtonAnimations(noBtn)
-- Open Confirmation Popup with Animation
unloadBtn.MouseButton1Click:Connect(function()
confirmOverlay.Visible = true
confirmOverlay.BackgroundTransparency = 1
confirmBox.Size = UDim2.new(0, 0, 0, 0)
confirmBox.Position = UDim2.new(0.5, 0, 0.5, 0)
TweenService:Create(confirmOverlay, TweenInfo.new(0.2, Enum.EasingStyle.Quart, Enum.EasingDirection.Out), {
BackgroundTransparency = 0.3
}):Play()
TweenService:Create(confirmBox, TweenInfo.new(0.25, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {
Size = UDim2.new(0, 320, 0, 125),
Position = UDim2.new(0.5, -160, 0.5, -62.5)
}):Play()
end)
-- YES: Play Exit Animation, then Destroy GUI (Silent)
yesBtn.MouseButton1Click:Connect(function()
yesBtn.Active = false
noBtn.Active = false
confirmOverlay.Visible = false
local closeTween = TweenService:Create(main, TweenInfo.new(0.3, Enum.EasingStyle.Quart, Enum.EasingDirection.In), {
Size = UDim2.new(0, 0, 0, 0),
Position = UDim2.new(0.5, 0, 0.5, 0)
})
closeTween:Play()
closeTween.Completed:Wait()
if gui then
gui:Destroy()
end
end)
-- NO: Close Confirmation Popup with Animation
noBtn.MouseButton1Click:Connect(function()
local t1 = TweenService:Create(confirmOverlay, TweenInfo.new(0.15, Enum.EasingStyle.Quart, Enum.EasingDirection.In), {
BackgroundTransparency = 1
})
local t2 = TweenService:Create(confirmBox, TweenInfo.new(0.15, Enum.EasingStyle.Quart, Enum.EasingDirection.In), {
Size = UDim2.new(0, 0, 0, 0),
Position = UDim2.new(0.5, 0, 0.5, 0)
})
t1:Play()
t2:Play()
t2.Completed:Connect(function()
confirmOverlay.Visible = false
end)
end)Review the source before using it. Executions count successful copies, capped at 10 per user and network per script in 24 hours.
00
00
00