Main/resources/[standalone]/fmLib/wrappers/server/utils.lua

51 lines
1.4 KiB
Lua
Raw Normal View History

2025-06-07 08:51:21 +02:00
FM.utils = {}
---@param src number
---@param message string
---@param type? 'success'|'error'
function FM.utils.notify(src, message, type)
if not src then return end
if not message then return end
if ESX then TriggerClientEvent('esx:showNotification', src, message, type)
elseif QB then TriggerClientEvent('QBCore:Notify', src, message, type) end
end
---@param filter? { job?: string, gang?: string, count?: boolean }
function FM.utils.getPlayers(filter)
local playerSources = GetPlayers()
local players = {}
for _, src in pairs(playerSources) do
local p = FM.player.get(tonumber(src))
if not p then goto continue end
if not filter then
players[src] = p
else
if filter.job then
local job = p.getJob()
if job and job.name == filter.job then
players[src] = p
end
end
if filter.gang then
local gang = p.getGang()
if gang and gang.name == filter.gang then
players[src] = p
end
end
end
::continue::
end
if filter and filter.count then
local count = 0
for _, _ in pairs(players) do count = count + 1 end
return count
end
return players
end