memory = require "memory"
encoding = require "encoding"
encoding.default = 'CP1251'
u8 = encoding.UTF8
require "lib.moonloader"
function lib_check()
imgui = {
['fpath'] = getWorkingDirectory().."\\lib\\imgui.lua",
['updlink'] = "[URL]https://drive.google.com/u/0/uc?id=1R-NK-xH_qqQ8TB0wNoBdPpVs7X79mtT2&export=download[/URL]"
}
if doesFileExist("moonloader\\lib\\imgui.lua") then
imgui = require 'imgui'
else
print("Не найдена ImGui библиотека, начинается автоматическая загрузка библиотеки")
downloadUrlToFile(imgui['updlink'], imgui['fpath'], function(id, status, p1, p2)
if status == dlstatus.STATUS_ENDDOWNLOADDATA then
print('Загрузка библиотеки imgui завершена.')
end
end)
end
end
lib_check()
local overlay = imgui.ImBool(false)
function main()
if not isSampLoaded() or not isSampfuncsLoaded() then return end
while not isSampAvailable() do wait(2000) end
sampRegisterChatCommand("overlay", function() overlay.v = not overlay.v imgui.ShowCursor = false end)
while true do
wait(0)
getFps()
imgui.Process = overlay.v
end
end
function getFps()
wait(500) -- Задержка при показе фпс
getfps = memory.getfloat(0xB7CB50, true) -- получение фпс
if tostring(getfps):find(".") then
newfps, _ = tostring(getfps):match("(%d+).(%d+)") -- Фпс получается 152.15468468, эта функция делает 152
if newfps == nil then
return false
end
fps = newfps
else
fps = getfps
end
end
function imgui.OnDrawFrame()
if overlay.v then
local unix_time = os.time(os.date('!*t'))
local moscow_time = unix_time + 3 * 60 * 60
local _, myid = sampGetPlayerIdByCharHandle(PLAYER_PED) -- получение своего id (нужно, чтобы получить свой пинг)
local ping = sampGetPlayerPing(myid) -- получение пинга
local nick = sampGetPlayerNickname(myid) -- получение ника
local sw, sh = getScreenResolution()
imgui.SetNextWindowPos(imgui.ImVec2(sw/1.1,sh/1.5),imgui.Cond.Always,imgui.ImVec2(0.5,0.5)) -- позиция
imgui.Begin("##оверлей", overlay.v, imgui.WindowFlags.NoResize + imgui.WindowFlags.NoCollapse + imgui.WindowFlags.NoTitleBar)
imgui.Text(u8"Ваш ник: "..nick)
imgui.Text(u8"Ваш ping: "..ping)
if fps then
imgui.Text(u8"Ваш fps: "..fps)
end
imgui.Text(u8"Время: "..os.date('%H:%M:%S', moscow_time))
imgui.End()
end
end