fishing
This commit is contained in:
parent
7e2451be50
commit
176f249885
23 changed files with 1323 additions and 0 deletions
78
resources/[jobs]/[civ]/wasabi_fishing/bridge/qb/client.lua
Normal file
78
resources/[jobs]/[civ]/wasabi_fishing/bridge/qb/client.lua
Normal file
|
|
@ -0,0 +1,78 @@
|
|||
if GetResourceState('qb-core') ~= 'started' then return end
|
||||
QBCore = exports['qb-core']:GetCoreObject()
|
||||
Framework, PlayerLoaded, PlayerData = 'qb', nil, {}
|
||||
|
||||
AddStateBagChangeHandler('isLoggedIn', '', function(_bagName, _key, value, _reserved, _replicated)
|
||||
if value then
|
||||
PlayerData = QBCore.Functions.GetPlayerData()
|
||||
else
|
||||
table.wipe(PlayerData)
|
||||
end
|
||||
PlayerLoaded = value
|
||||
end)
|
||||
|
||||
AddEventHandler('onResourceStart', function(resourceName)
|
||||
if GetCurrentResourceName() ~= resourceName or not LocalPlayer.state.isLoggedIn then return end
|
||||
PlayerData = QBCore.Functions.GetPlayerData()
|
||||
PlayerLoaded = true
|
||||
end)
|
||||
|
||||
|
||||
AddEventHandler('gameEventTriggered', function(event, data)
|
||||
if event ~= 'CEventNetworkEntityDamage' then return end
|
||||
local victim, victimDied = data[1], data[4]
|
||||
if not IsPedAPlayer(victim) then return end
|
||||
local player = PlayerId()
|
||||
if victimDied and NetworkGetPlayerIndexFromPed(victim) == player and (IsPedDeadOrDying(victim, true) or IsPedFatallyInjured(victim)) then
|
||||
TriggerEvent('wasabi_fishing:onPlayerDeath')
|
||||
end
|
||||
end)
|
||||
|
||||
RegisterNetEvent('QBCore:Client:OnPlayerLoaded', function()
|
||||
TriggerEvent('wasabi_fishing:onPlayerSpawn')
|
||||
end)
|
||||
|
||||
RegisterNetEvent('QBCore:Player:SetPlayerData', function(newPlayerData)
|
||||
if source ~= '' and GetInvokingResource() ~= 'qb-core' then return end
|
||||
PlayerData = newPlayerData
|
||||
end)
|
||||
|
||||
function HasGroup(filter)
|
||||
local groups = { 'job', 'gang' }
|
||||
local type = type(filter)
|
||||
|
||||
if type == 'string' then
|
||||
for i = 1, #groups do
|
||||
local data = PlayerData[groups[i]]
|
||||
|
||||
if data.name == filter then
|
||||
return data.name, data.grade.level
|
||||
end
|
||||
end
|
||||
else
|
||||
local tabletype = table.type(filter)
|
||||
|
||||
if tabletype == 'hash' then
|
||||
for i = 1, #groups do
|
||||
local data = PlayerData[groups[i]]
|
||||
local grade = filter[data.name]
|
||||
|
||||
if grade and grade <= data.grade.level then
|
||||
return data.name, data.grade.level
|
||||
end
|
||||
end
|
||||
elseif tabletype == 'array' then
|
||||
for i = 1, #filter do
|
||||
local group = filter[i]
|
||||
|
||||
for j = 1, #groups do
|
||||
local data = PlayerData[groups[j]]
|
||||
|
||||
if data.name == group then
|
||||
return data.name, data.grade.level
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
Loading…
Add table
Add a link
Reference in a new issue