Memory = require 'memory'
Font = renderCreateFont('Arial', 12, 2)
Tab = {}
Cmd = 'fps'
Delay = 200
Load = 0
PosX = 15
PosY = 500
--------------------------------------------------------------------------------------------------------------------------------------------
-- Поток сделан для того, чтобы передавать значения FPS с задержкой. Ибо, если трогать задержку в бесконечном цикле,
-- что находится в главной функции — рендер будет отображаться с пробелами.
--------------------------------------------------------------------------------------------------------------------------------------------
function main()
if not isSampfuncsLoaded() or not isSampLoaded() then return end
while not isSampAvailable() do wait(100) end
sampRegisterChatCommand(Cmd, function() act = not act end)
lua_thread.create(render)
while true do wait(0)
if Load == 0 then
if act and not isPauseMenuActive() then
for _, v in ipairs(Tab) do
renderFontDrawText(Font, v, PosX, PosY, -1)
end
end
else
if not act and not isPauseMenuActive() then
for _, v in ipairs(Tab) do
renderFontDrawText(Font, v, PosX, PosY, -1)
end
end
end
end
end
function render()
while true do wait(Delay)
fps = Memory.getfloat(0xB7CB50, 0, false)
fpsID = string.format('%.f', fps)
if not isGamePaused() then
if (#Tab > 0) then
table.remove(Tab, 1)
end
table.insert(Tab, string.format('FPS: %s', fpsID))
end
end
end