1
0
Fork 0
forked from Simnation/Main
Main/resources/[Developer]/[Anna]/gs_trackerdart/bridge/sv_bridge.lua
2025-06-07 08:51:21 +02:00

84 lines
2.3 KiB
Lua

---@diagnostic disable: undefined-field
ESX = nil
QBCore = nil
if (GetResourceState('es_extended') == 'started') then
ESX = exports['es_extended']:getSharedObject()
elseif (GetResourceState('qb-core') == 'started') then
QBCore = exports['qb-core']:GetCoreObject()
end
Functions = {}
Functions.HasItem = function(playerId, itemName)
if ESX then
local xPlayer = ESX.GetPlayerFromId(playerId)
return xPlayer.getInventoryItem(itemName).count > 0
elseif QBCore then
local Player = QBCore.Functions.GetPlayer(playerId)
return Player.Functions.GetItemByName(itemName).amount > 0
end
end
Functions.RemoveItem = function(playerId, itemName, amount)
if ESX then
local xPlayer = ESX.GetPlayerFromId(playerId)
xPlayer.removeInventoryItem(itemName, amount)
elseif QBCore then
local Player = QBCore.Functions.GetPlayer(playerId)
Player.Functions.RemoveItem(itemName, amount)
end
end
Functions.GetPolicePlayers = function()
if not Config.allowedJobs then
return { -1 }
end
local jobs = {}
for jobName, _ in pairs(Config.allowedJobs) do
jobs[#jobs + 1] = jobName
end
local playerIds = {}
if ESX then
local result = ESX.GetExtendedPlayers('job', jobs)
for key, xPlayers in pairs(result) do
for i = 1, #xPlayers do
playerIds[#playerIds + 1] = xPlayers[i].source
end
end
elseif QBCore then
for jobName, _ in pairs(Config.allowedJobs) do
local players = QBCore.Functions.GetPlayersOnDuty(jobName)
for i = 1, #players do
playerIds[#playerIds + 1] = players[i]
end
end
end
return playerIds
end
--[[
-- If you are using an older version of ESX, and the blips are not showing up, you can use this function instead of the one above.
Functions.GetPolicePlayers = function()
local jobs = {}
for jobName, _ in pairs(Config.allowedJobs) do
jobs[#jobs + 1] = jobName
end
local playerIds = {}
for i = 1, #jobs do
local jobName = jobs[i]
local result = ESX.GetExtendedPlayers('job', jobName)
for key, xPlayer in pairs(result) do
playerIds[#playerIds + 1] = xPlayer.source
end
end
return playerIds
end
]]