local ffi = require 'ffi'
ffi.cdef [[
typedef unsigned long HANDLE;
typedef HANDLE HWND;
typedef const char *LPCTSTR;
HWND GetActiveWindow(void);
bool SetWindowTextA(HWND hWnd, LPCTSTR lpString);
]]
function main()
if not isSampLoaded() and not isSampfuncsLoaded() then return end
while not isSampAvailable() do wait(100) end
local _, id = sampGetPlayerIdByCharHandle(PLAYER_PED)
local nick = sampGetPlayerNickname(id)
local server = sampGetCurrentServerName()
ffi.C.SetWindowTextA(ffi.C.GetActiveWindow(), server..' '..nick..'['..id..']')
while true do
wait(0)
if select(2, sampGetPlayerIdByCharHandle(PLAYER_PED)) ~= id or sampGetPlayerNickname(select(2, sampGetPlayerIdByCharHandle(PLAYER_PED))) ~= nick or server ~= sampGetCurrentServerName() then
_, id = sampGetPlayerIdByCharHandle(PLAYER_PED)
nick = sampGetPlayerNickname(id)
server = sampGetCurrentServerName()
ffi.C.SetWindowTextA(ffi.C.GetActiveWindow(), server..' '..nick..'['..id..']')
end
end
end