0.0.1
This commit is contained in:
49
resources/[esx_addons]/esx_status/server/main.lua
Normal file
49
resources/[esx_addons]/esx_status/server/main.lua
Normal file
@@ -0,0 +1,49 @@
|
||||
---@param src number
|
||||
---@param xPlayer table
|
||||
AddEventHandler('esx:playerLoaded', function(src, xPlayer)
|
||||
local status = MySQL.scalar.await('SELECT `status` FROM `users` WHERE `identifier` = ? LIMIT 1', { xPlayer.getIdentifier() })
|
||||
|
||||
status = status and json.decode(status) or {}
|
||||
xPlayer.set('status', status)
|
||||
|
||||
TriggerClientEvent('esx_status:load', xPlayer.source, status)
|
||||
end)
|
||||
|
||||
---@param src number
|
||||
---@param reason string
|
||||
AddEventHandler('esx:playerDropped', function(src, reason)
|
||||
local xPlayer = ESX.Player(src)
|
||||
if not xPlayer then
|
||||
return
|
||||
end
|
||||
|
||||
local status = xPlayer.get('status') or {}
|
||||
MySQL.update('UPDATE users SET status = ? WHERE identifier = ?', { json.encode(status), xPlayer.getIdentifier() })
|
||||
end)
|
||||
|
||||
---@param src number
|
||||
---@param statusName string
|
||||
---@param cb function|table
|
||||
AddEventHandler('esx_status:getStatus', function(src, statusName, cb)
|
||||
local xPlayer = ESX.Player(src)
|
||||
if not xPlayer then
|
||||
return
|
||||
end
|
||||
|
||||
local status = xPlayer.get('status') or {}
|
||||
for i = 1, #status do
|
||||
if status[i].name == statusName then
|
||||
return cb(status[i])
|
||||
end
|
||||
end
|
||||
end)
|
||||
|
||||
---@param status table
|
||||
RegisterNetEvent('esx_status:update', function(status)
|
||||
local xPlayer = ESX.Player(source)
|
||||
if not xPlayer then
|
||||
return
|
||||
end
|
||||
|
||||
xPlayer.set('status', status)
|
||||
end)
|
||||
Reference in New Issue
Block a user