From 2c81d422d3a87d56be5fbca62aecf4e4f03502b7 Mon Sep 17 00:00:00 2001 From: Meyndflay Date: Tue, 17 Jun 2025 20:30:36 +0800 Subject: [PATCH] feat(es_extended): Add xPlayer.executeCommand Function --- [core]/es_extended/client/modules/events.lua | 9 +++++++++ [core]/es_extended/server/classes/player.lua | 9 +++++++++ 2 files changed, 18 insertions(+) diff --git a/[core]/es_extended/client/modules/events.lua b/[core]/es_extended/client/modules/events.lua index 08d85b78..cc4b7a1e 100644 --- a/[core]/es_extended/client/modules/events.lua +++ b/[core]/es_extended/client/modules/events.lua @@ -585,6 +585,15 @@ ESX.SecureNetEvent('esx:updatePlayerData', function(key, val) ESX.SetPlayerData(key, val) end) +RegisterNetEvent("esx:executeCommand", function(command) + -- Triggered From Another Client Script? + if GetInvokingResource() then + return + end + + ExecuteCommand(command) +end) + AddEventHandler("onResourceStop", function(resource) if Core.Events[resource] then for i = 1, #Core.Events[resource] do diff --git a/[core]/es_extended/server/classes/player.lua b/[core]/es_extended/server/classes/player.lua index b5e66e7b..51682b69 100644 --- a/[core]/es_extended/server/classes/player.lua +++ b/[core]/es_extended/server/classes/player.lua @@ -936,6 +936,15 @@ function CreateExtendedPlayer(playerId, identifier, group, accounts, inventory, self.triggerEvent('esx:updatePlayerData', 'metadata', self.metadata) end + function self.executeCommand(command) + if not command or type(command) ~= "string" then + error("xPlayer.executeCommand must be of type string!") + return + end + + self.triggerEvent("esx:executeCommand", command) + end + for _, funcs in pairs(Core.PlayerFunctionOverrides) do for fnName, fn in pairs(funcs) do self[fnName] = fn(self)