mirror of
https://github.com/esx-framework/esx_core.git
synced 2026-08-29 06:01:25 +00:00
feat(es_extended): add static player methods
This commit is contained in:
@@ -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)
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user