Rainbow Border FPS And Ping Counter
Key RequiredUniversal

Rainbow Border FPS And Ping Counter

Universal ScriptUnlikely_humanUnlikely_human 807 views 87 executesUpdated Jan 3, 2026
5.0/ 5(1 votes)
10100% Positive
Lua Script•83 lines (2801 chars)
-- So sorry for who have a super super super high ping :sob::sob:--
repeat task.wait() until game:IsLoaded()
-- STARTING CREATE
local screenGui = Instance.new("ScreenGui")
local fpsLabel = Instance.new("TextLabel")
local pingLabel = Instance.new("TextLabel")
local runService = game:GetService("RunService")
local stats = game:GetService("Stats")

-- PROPERTIES: CREATE IN CHOOSEN PART
screenGui.Parent = game.CoreGui
screenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling

-- Ping Label
pingLabel.Name = "Ping"
pingLabel.Parent = screenGui
pingLabel.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
pingLabel.BackgroundTransparency = 0
pingLabel.Position = UDim2.new(1, -215, 1, -130) -- Ping Label Position
pingLabel.Size = UDim2.new(0, 200, 0, 30)      
pingLabel.Font = Enum.Font.Oswald             
pingLabel.TextColor3 = Color3.fromRGB(255, 255, 255) 
pingLabel.BorderSizePixel = 5                  
pingLabel.BorderColor3 = Color3.fromRGB(255, 0, 0) 
pingLabel.TextStrokeTransparency = 1           
pingLabel.TextScaled = false                   
pingLabel.TextSize = 24.000                    
pingLabel.TextWrapped = true
pingLabel.Text = "Ping: Calculating..."

-- FPS Label
fpsLabel.Name = "FPS"
fpsLabel.Parent = screenGui
fpsLabel.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
fpsLabel.BackgroundTransparency = 0
fpsLabel.Position = UDim2.new(1, -215, 1, -100) -- Vị trí giữ nguyên
fpsLabel.Size = UDim2.new(0, 200, 0, 30)      
fpsLabel.Font = Enum.Font.Oswald             
fpsLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
fpsLabel.BorderSizePixel = 5                   
fpsLabel.BorderColor3 = Color3.fromRGB(255, 0, 0) 
fpsLabel.TextStrokeTransparency = 1            
fpsLabel.TextScaled = false                    
fpsLabel.TextSize = 24.000                     
fpsLabel.TextWrapped = true
fpsLabel.Text = "FPS: Calculating..."


-- SCRIPTS: LOGIC COLOR UPDATE AND STATUS

-- PING AND FPS UPDATE
runService.RenderStepped:Connect(function(deltaTime)
    local fps = math.floor(1 / deltaTime)
    fpsLabel.Text = "FPS: " .. fps
end)

-- SCRIPT RAINBOW(BORDER)
local hue = 0 
runService.RenderStepped:Connect(function()
    hue = math.fmod(tick() / 5, 1)
    local rainbowColor = Color3.fromHSV(hue, 1, 1)
    
    fpsLabel.BorderColor3 = rainbowColor
    pingLabel.BorderColor3 = rainbowColor
    
    fpsLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
    pingLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
end)

-- LOGIC UPDATE PING
spawn(function()
    while true do
        task.wait(0.5) 
        
        local pingItem = stats.Network.ServerStatsItem["Data Ping"]
        if pingItem then
            local pingValue = pingItem:GetValueString()
            pingLabel.Text = "Ping: " .. pingValue
        else
            pingLabel.Text = "Ping: Loading..."
        end
    end
end)

Features & Information

✨Features: 🌈​Rainbow Border Effect: The FPS and Ping boxes feature a smooth, eye-catching rainbow color-cycling border (5px thickness) . ​👀Non-Obstructive Placement: Positioned perfectly in the bottom-right corner, ensuring it doesn't block screen visibility and leaves crucial UI elements accessible. 📁Stable Data: Uses a separate thread to provide stable Ping readings (updates every 0.5s) and real-time FPS data. 🔢​Uniform Text: Both Ping and FPS text use the same fixed size (24pt) for a clean, consistent look. ​❓How to Use: ​1️⃣-Copy the entire Lua script below. 2️⃣-Open your preferred Roblox executor. 3️⃣-Paste the script and execute. 4️⃣-The counter will automatically appear in the bottom-right corner of your screen.
#Ping and Fps#Fps and Ping#Ping and Fps Counter#Fps and Ping Counter

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts