1
0
Fork 0
forked from Simnation/Main
Main/resources/[carscripts]/AdvancedParking/server/sv_utils.lua
2025-08-07 14:38:30 +02:00

74 lines
1.7 KiB
Lua

-- returns if any player is inside a given vehicle
function IsAnyPlayerInsideVehicle(vehicle, playerPeds)
for i = 1, #playerPeds do
local veh = GetVehiclePedIsIn(playerPeds[i], false)
if (DoesEntityExist(veh) and veh == vehicle) then
return true
end
end
return false
end
-- return the id and distance of the closest player
function GetClosestPlayer(position, maxRadius, players, playerPedsWithHandles, bucket)
local closestDistance = maxRadius or 1000.0
local closestPlayer = nil
for i = 1, #players do
if (GetPlayerRoutingBucket(players[i]) == bucket) then
local distance = #(position - GetEntityCoords(playerPedsWithHandles[ players[i] ]))
if (distance < closestDistance) then
closestDistance = distance
closestPlayer = players[i]
end
end
end
return closestPlayer, closestDistance
end
-- return all player peds associated to their player handles
function GetAllPlayerPedsWithHandles(players)
local peds = {}
for i = 1, #players do
local ped = GetPlayerPed(players[i])
peds[players[i]] = DoesEntityExist(ped) and ped or nil
end
return peds
end
-- returns all currently loaded player peds
function GetAllPlayerPeds()
local playerPeds = {}
local players = GetPlayers()
for i = 1, #players do
local ped = GetPlayerPed(players[i])
if (DoesEntityExist(ped)) then
playerPeds[#playerPeds + 1] = ped
end
end
return playerPeds
end
-- returns a list of all vehicles that are loaded and are registered within AP already
function GetLoadedVehiclesWithId(vehicles)
local list = {}
for i = 1, #vehicles do
if (DoesEntityExist(vehicles[i])) then
local id = Entity(vehicles[i])?.state?.ap_id
if (id) then
list[id] = vehicles[i]
end
end
end
return list
end