mirror of
https://github.com/esx-framework/esx_core.git
synced 2026-08-31 02:08:55 +00:00
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.
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user