From ef8f8060454b98aea834a0a71f4cbd86f42002a2 Mon Sep 17 00:00:00 2001 From: Canis_Lupus <56067968+CanysLypys@users.noreply.github.com> Date: Tue, 18 Jul 2023 19:01:31 +0200 Subject: [PATCH 1/4] Fixing getNearbyPlayers function By using the function you see the following: source = GetPlayerPed(source) -- So source is now the playerPed source = GetEntityCoords(GetPlayerPed(source)) -- The source is getting new defined by calling the entity coords from the playerPed and then the playerPed once again. --- [core]/es_extended/server/onesync.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/[core]/es_extended/server/onesync.lua b/[core]/es_extended/server/onesync.lua index 515b5145..fcb249a2 100644 --- a/[core]/es_extended/server/onesync.lua +++ b/[core]/es_extended/server/onesync.lua @@ -15,7 +15,7 @@ local function getNearbyPlayers(source, closest, distance, ignore) error("Received invalid first argument (source); should be playerId or vector3 coordinates") end - source = GetEntityCoords(GetPlayerPed(source)) + source = GetEntityCoords(source) end for _, xPlayer in pairs(ESX.Players) do From 30d497500d0ac64e5cdb67c77517a9ae4f09683b Mon Sep 17 00:00:00 2001 From: Canis_Lupus <56067968+CanysLypys@users.noreply.github.com> Date: Fri, 21 Jul 2023 00:50:16 +0200 Subject: [PATCH 2/4] Fixing getNearbyPlayers source definition (updated) The requested features are now included. playerPed and playerCoords do have now two different locals for better orientation and included nil checking for the function. --- [core]/es_extended/server/onesync.lua | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/[core]/es_extended/server/onesync.lua b/[core]/es_extended/server/onesync.lua index fcb249a2..19fb2eab 100644 --- a/[core]/es_extended/server/onesync.lua +++ b/[core]/es_extended/server/onesync.lua @@ -7,15 +7,21 @@ ESX.OneSync = {} local function getNearbyPlayers(source, closest, distance, ignore) local result = {} local count = 0 + local playerPed + local playerCoords if not distance then distance = 100 end if type(source) == 'number' then - source = GetPlayerPed(source) - + playerPed = GetPlayerPed(source) + if not source then - error("Received invalid first argument (source); should be playerId or vector3 coordinates") + error("Received invalid first argument (source); should be playerId") end - source = GetEntityCoords(source) + playerCoords = GetEntityCoords(playerPed) + + if not playerCoords then + error("Received nil value (playerCoords); perhaps source is nil at first place?") + end end for _, xPlayer in pairs(ESX.Players) do @@ -24,13 +30,13 @@ local function getNearbyPlayers(source, closest, distance, ignore) local coords = GetEntityCoords(entity) if not closest then - local dist = #(source - coords) + local dist = #(playerCoords - coords) if dist <= distance then count = count + 1 result[count] = { id = xPlayer.source, ped = NetworkGetNetworkIdFromEntity(entity), coords = coords, dist = dist } end else - local dist = #(source - coords) + local dist = #(playerCoords - coords) if dist <= (result.dist or distance) then result = { id = xPlayer.source, ped = NetworkGetNetworkIdFromEntity(entity), coords = coords, dist = dist } end From b6e1c4debaf79e9a03118d501e208dcc38e70ad0 Mon Sep 17 00:00:00 2001 From: Canis_Lupus <56067968+CanysLypys@users.noreply.github.com> Date: Mon, 24 Jul 2023 19:58:27 +0200 Subject: [PATCH 3/4] Updating getNearbyPlayers - Added an 'early' return with an empty table if the source or the playerCoord are not given. --- [core]/es_extended/server/onesync.lua | 2 ++ 1 file changed, 2 insertions(+) diff --git a/[core]/es_extended/server/onesync.lua b/[core]/es_extended/server/onesync.lua index 19fb2eab..eec847ba 100644 --- a/[core]/es_extended/server/onesync.lua +++ b/[core]/es_extended/server/onesync.lua @@ -15,12 +15,14 @@ local function getNearbyPlayers(source, closest, distance, ignore) if not source then error("Received invalid first argument (source); should be playerId") + return result end playerCoords = GetEntityCoords(playerPed) if not playerCoords then error("Received nil value (playerCoords); perhaps source is nil at first place?") + return result end end From 6bc7d418af3cebbcbb604aaa74160764848393af Mon Sep 17 00:00:00 2001 From: Thekuca <63980591+Thekuca@users.noreply.github.com> Date: Wed, 26 Jul 2023 23:35:25 +0200 Subject: [PATCH 4/4] fix --- [core]/es_extended/server/onesync.lua | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/[core]/es_extended/server/onesync.lua b/[core]/es_extended/server/onesync.lua index eec847ba..e2fe8dd9 100644 --- a/[core]/es_extended/server/onesync.lua +++ b/[core]/es_extended/server/onesync.lua @@ -38,10 +38,12 @@ local function getNearbyPlayers(source, closest, distance, ignore) result[count] = { id = xPlayer.source, ped = NetworkGetNetworkIdFromEntity(entity), coords = coords, dist = dist } end else - local dist = #(playerCoords - coords) - if dist <= (result.dist or distance) then - result = { id = xPlayer.source, ped = NetworkGetNetworkIdFromEntity(entity), coords = coords, dist = dist } - end + if xPlayer.source ~= source then + local dist = #(playerCoords - coords) + if dist <= (result.dist or distance) then + result = { id = xPlayer.source, ped = NetworkGetNetworkIdFromEntity(entity), coords = coords, dist = dist } + end + end end end end