Main/resources/[jobs]/[civ]/wasabi_fishing/bridge/esx/client.lua
2025-07-01 11:20:24 +02:00

65 lines
1.9 KiB
Lua

-----------------For support, scripts, and more----------------
--------------- https://discord.gg/wasabiscripts -------------
---------------------------------------------------------------
if GetResourceState('es_extended') ~= 'started' then return end
ESX = exports['es_extended']:getSharedObject()
Framework, PlayerLoaded, PlayerData = 'esx', nil, {}
RegisterNetEvent('esx:playerLoaded', function(xPlayer)
PlayerData = xPlayer
PlayerLoaded = true
end)
RegisterNetEvent('esx:onPlayerSpawn', function()
TriggerEvent('wasabi_fishing:onPlayerSpawn')
end)
AddEventHandler('esx:onPlayerDeath', function(data)
TriggerEvent('wasabi_fishing:onPlayerDeath')
end)
RegisterNetEvent('esx:onPlayerLogout', function()
table.wipe(PlayerData)
PlayerLoaded = false
end)
RegisterNetEvent('esx:setJob', function(job)
PlayerData.job = job
end)
AddEventHandler('onResourceStart', function(resourceName)
if GetCurrentResourceName() ~= resourceName or not ESX.PlayerLoaded then return end
PlayerData = ESX.GetPlayerData()
PlayerLoaded = true
end)
AddEventHandler('esx:setPlayerData', function(key, value)
if GetInvokingResource() ~= 'es_extended' then return end
PlayerData[key] = value
end)
function HasGroup(filter)
local type = type(filter)
if type == 'string' then
if PlayerData.job.name == filter then
return PlayerData.job.name, PlayerData.job.grade
end
else
local tabletype = table.type(filter)
if tabletype == 'hash' then
local grade = filter[PlayerData.job.name]
if grade and grade <= PlayerData.job.grade then
return PlayerData.job.name, PlayerData.job.grade
end
elseif tabletype == 'array' then
for i = 1, #filter do
if PlayerData.job.name == filter[i] then
return PlayerData.job.name, PlayerData.job.grade
end
end
end
end
end