require 'lib.moonloader'
local font = renderCreateFont("uvKits", 12, 5)
local hud = {
x = 20,
spacing = 18
}
local fps = 0
local frames = 0
local lastUpdate = os.clock()
local isLoaded = false
function main()
repeat wait(500) until isSampLoaded()
repeat wait(500) until isSampfuncsLoaded()
repeat wait(500) until isSampAvailable()
local _, screenY = getScreenResolution()
hud.y = screenY - 80
isLoaded = true
while true do
wait(0)
end
end
function onD3DPresent()
if not isLoaded then
return
end
local _, playerId = sampGetPlayerIdByCharHandle(PLAYER_PED)
local ping = sampGetPlayerPing(playerId) or 0
local currentFps = getFPS()
local currentTime = os.date("%H:%M:%S")
local info = {
string.format("Ping: %d ms", ping),
string.format("FPS: %d", currentFps),
string.format("Time: %s", currentTime)
}
for i, text in ipairs(info) do
renderFontDrawText(
font,
text,
hud.x,
hud.y + (i - 1) * hud.spacing,
0xFFFFFFFF
)
end
end
function getFPS()
frames = frames + 1
local currentTime = os.clock()
if currentTime - lastUpdate >= 1 then
fps = frames
frames = 0
lastUpdate = currentTime
end
return fps
end