A real FPS and Ping logger open source btw
Key RequiredUniversal

A real FPS and Ping logger open source btw

Universal ScriptMelotenMeloten 463 views 49 executesUpdated Feb 18, 2026
5.0/ 5(2 votes)
20100% Positive
Lua Script•81 lines (2256 chars)
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")

local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")

local screenGui = Instance.new("ScreenGui")
screenGui.Name = "StatsGui"
screenGui.IgnoreGuiInset = true
screenGui.Parent = playerGui

local textLabel = Instance.new("TextLabel")
textLabel.Size = UDim2.new(0, 200, 0, 60)
textLabel.AnchorPoint = Vector2.new(0.5, 0.5)
textLabel.Position = UDim2.new(0.5, 0, 0.5, 0)
textLabel.BackgroundTransparency = 1
textLabel.TextColor3 = Color3.new(0, 1, 0)
textLabel.TextSize = 20
textLabel.Font = Enum.Font.SourceSansBold
textLabel.TextXAlignment = Enum.TextXAlignment.Center
textLabel.TextYAlignment = Enum.TextYAlignment.Center
textLabel.Active = true
textLabel.Parent = screenGui

local dragging = false
local dragInput
local dragStart
local startPos

textLabel.InputBegan:Connect(function(input)
	if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
		dragging = true
		dragStart = input.Position
		startPos = textLabel.Position
		
		input.Changed:Connect(function()
			if input.UserInputState == Enum.UserInputState.End then
				dragging = false
			end
		end)
	end
end)

textLabel.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
		local delta = input.Position - dragStart
		textLabel.Position = UDim2.new(
			startPos.X.Scale, 
			startPos.X.Offset + delta.X, 
			startPos.Y.Scale, 
			startPos.Y.Offset + delta.Y
		)
	end
end)

local updateInterval = 0.3
local elapsedTime = 0
local frameCount = 0
local numDP = 1

RunService.RenderStepped:Connect(function(deltaTime)
	elapsedTime += deltaTime
	frameCount += 1

	if elapsedTime >= updateInterval then
		local fps = frameCount / elapsedTime
		local ping = math.round(player:GetNetworkPing() * 1000)
		
		textLabel.Text = string.format("FPS: %." .. numDP .. "f\nPing: %d ms", fps, ping)

		elapsedTime = 0
		frameCount = 0
	end
end)

Features & Information

Idk You can see your FPS and Pong Open Source
#Open#Source#Open Source#FPS#Ping

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts