feat(es_extended): add static player methods

This commit is contained in:
Kenshin13
2025-01-22 16:12:21 +01:00
parent 153212ef11
commit df287b041b
3 changed files with 29 additions and 0 deletions
+13
View File
@@ -42,6 +42,19 @@ if not IsDuplicityVersion() then -- Only register this event for the client
return error(('\n^1Error loading module (%s)'):format(external[i]))
end
end
else
ESX.Player = setmetatable({}, {
__call = function(_, src)
if not ESX.IsPlayerLoaded(src) then return end
return setmetatable({src = src}, {
__index = function(self, method)
return function(...)
return exports.es_extended:RunStaticPlayerMethod(self.src, method, ...)
end
end
})
end
})
end
if GetResourceState("ox_lib") == "missing" then
@@ -944,3 +944,13 @@ function CreateExtendedPlayer(playerId, identifier, group, accounts, inventory,
return self
end
local function runStaticPlayerMethod(src, method, ...)
local xPlayer = ESX.Players[src]
if not xPlayer then
return
end
return xPlayer[method](...)
end
exports("RunStaticPlayerMethod", runStaticPlayerMethod)
+6
View File
@@ -358,6 +358,12 @@ function ESX.GetPlayerFromIdentifier(identifier)
return Core.playersByIdentifier[identifier]
end
---@param source number
---@return boolean
function ESX.IsPlayerLoaded(source)
return ESX.Players[source] ~= nil
end
---@param playerId number | string
---@return string
function ESX.GetIdentifier(playerId)