From c2d7898e1fe03325c0a93b42a888a58c2f77a7ee Mon Sep 17 00:00:00 2001 From: Mr Sneaky <123227860+MrSne7aky@users.noreply.github.com> Date: Fri, 22 Aug 2025 16:30:50 +0200 Subject: [PATCH 1/3] feat(es_extended): dd isNew state to Player stateBag on playerLoaded Stores the isNew flag in the player's stateBag on server. On the client, you can get it like this: ``` print(Player(source).state.isNew) ``` - [x] My commit messages and PR title follow the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) standard. - [x] My changes have been tested locally and function as expected. - [x] My PR does not introduce any breaking changes. - [x] I have provided a clear explanation of what my PR does, including the reasoning behind the changes and any relevant context. --- [core]/es_extended/server/main.lua | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/[core]/es_extended/server/main.lua b/[core]/es_extended/server/main.lua index fe0821a0..ef5c1612 100644 --- a/[core]/es_extended/server/main.lua +++ b/[core]/es_extended/server/main.lua @@ -331,12 +331,13 @@ AddEventHandler("playerDropped", function(reason) end end) -AddEventHandler("esx:playerLoaded", function(_, xPlayer) +AddEventHandler("esx:playerLoaded", function(_, xPlayer, isNew) local job = xPlayer.getJob().name local jobKey = ("%s:count"):format(job) Core.JobsPlayerCount[job] = (Core.JobsPlayerCount[job] or 0) + 1 GlobalState[jobKey] = Core.JobsPlayerCount[job] + Player(xPlayer.source).state:set('isNew', isNew, true) end) AddEventHandler("esx:setJob", function(_, job, lastJob) From 5cc766be67cb188a29b9af34784bd880198f6f3b Mon Sep 17 00:00:00 2001 From: Mr Sneaky <123227860+MrSne7aky@users.noreply.github.com> Date: Fri, 22 Aug 2025 18:36:51 +0200 Subject: [PATCH 2/3] Update main.lua --- [core]/es_extended/server/main.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/[core]/es_extended/server/main.lua b/[core]/es_extended/server/main.lua index ef5c1612..a800120c 100644 --- a/[core]/es_extended/server/main.lua +++ b/[core]/es_extended/server/main.lua @@ -337,7 +337,7 @@ AddEventHandler("esx:playerLoaded", function(_, xPlayer, isNew) Core.JobsPlayerCount[job] = (Core.JobsPlayerCount[job] or 0) + 1 GlobalState[jobKey] = Core.JobsPlayerCount[job] - Player(xPlayer.source).state:set('isNew', isNew, true) + Player(xPlayer.source).state:set('isNew', isNew, false) end) AddEventHandler("esx:setJob", function(_, job, lastJob) From b965cddca0bd4e9bc1be5144bc6f3ac0622ccead Mon Sep 17 00:00:00 2001 From: Mr Sneaky <123227860+MrSne7aky@users.noreply.github.com> Date: Sat, 23 Aug 2025 17:31:16 +0200 Subject: [PATCH 3/3] Update main.lua --- [core]/es_extended/server/main.lua | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/[core]/es_extended/server/main.lua b/[core]/es_extended/server/main.lua index a800120c..6e9f9052 100644 --- a/[core]/es_extended/server/main.lua +++ b/[core]/es_extended/server/main.lua @@ -337,7 +337,9 @@ AddEventHandler("esx:playerLoaded", function(_, xPlayer, isNew) Core.JobsPlayerCount[job] = (Core.JobsPlayerCount[job] or 0) + 1 GlobalState[jobKey] = Core.JobsPlayerCount[job] - Player(xPlayer.source).state:set('isNew', isNew, false) + if isNew then + Player(xPlayer.source).state:set('isNew', true, false) + end end) AddEventHandler("esx:setJob", function(_, job, lastJob)