1
0
Fork 0
forked from Simnation/Main
Main/resources/[tools]/MugShotBase64/client.lua
2025-08-04 05:39:52 +02:00

63 lines
No EOL
1.5 KiB
Lua

local id = 0
local MugshotsCache = {}
local Answers = {}
function GetMugShotBase64(Ped,Tasparent)
if not Ped then return "" end
id = id + 1
local Handle = RegisterPedheadshot(Ped)
local timer = 2000
while ((not Handle or not IsPedheadshotReady(Handle) or not IsPedheadshotValid(Handle)) and timer > 0) do
Citizen.Wait(10)
timer = timer - 10
end
local MugShotTxd = 'none'
if (IsPedheadshotReady(Handle) and IsPedheadshotValid(Handle)) then
MugshotsCache[id] = Handle
MugShotTxd = GetPedheadshotTxdString(Handle)
end
SendNUIMessage({
type = 'convert',
pMugShotTxd = MugShotTxd,
removeImageBackGround = Tasparent or false,
id = id,
})
local p = promise.new()
Answers[id] = p
return Citizen.Await(p)
end
exports("GetMugShotBase64", GetMugShotBase64)
RegisterNUICallback('Answer', function(data)
if MugshotsCache[data.Id] then
UnregisterPedheadshot(MugshotsCache[data.Id])
MugshotsCache[data.Id] = nil
end
Answers[data.Id]:resolve(data.Answer)
Answers[data.Id] = nil
end)
AddEventHandler('onResourceStop', function(resourceName)
if (GetCurrentResourceName() ~= resourceName) then
return
end
for k,v in pairs(MugshotsCache) do
UnregisterPedheadshot(v)
end
MugshotsCache = {}
id = 0
end)
RegisterCommand("base64mugshotNormal",function(source,args,rawCommand)
print(GetMugShotBase64(GetPlayerPed(-1),false))
end,false)
RegisterCommand("base64mugshotTrasParent",function(source,args,rawCommand)
print(GetMugShotBase64(GetPlayerPed(-1),true))
end,false)