forked from Simnation/Main
51 lines
1.4 KiB
Lua
51 lines
1.4 KiB
Lua
![]() |
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
|