ADD
This commit is contained in:
parent
d58e87474f
commit
a474caf290
17 changed files with 2643 additions and 0 deletions
167
resources/[jobs]/[crime]/lation_247robbery/bridge/client.lua
Normal file
167
resources/[jobs]/[crime]/lation_247robbery/bridge/client.lua
Normal file
|
@ -0,0 +1,167 @@
|
|||
-- Initialize global variables to store framework & inventory
|
||||
Framework, Inventory = nil, nil
|
||||
|
||||
-- Initialize global player variables
|
||||
PlayerLoaded, PlayerData = nil, {}
|
||||
|
||||
-- Get framework
|
||||
local function InitializeFramework()
|
||||
if GetResourceState('es_extended') == 'started' then
|
||||
ESX = exports['es_extended']:getSharedObject()
|
||||
Framework = 'esx'
|
||||
|
||||
RegisterNetEvent('esx:playerLoaded', function(xPlayer)
|
||||
PlayerData = xPlayer
|
||||
PlayerLoaded = true
|
||||
TriggerEvent('lation_247robbery:onPlayerLoaded')
|
||||
end)
|
||||
|
||||
RegisterNetEvent('esx:onPlayerLogout', function()
|
||||
table.wipe(PlayerData)
|
||||
PlayerLoaded = false
|
||||
end)
|
||||
|
||||
AddEventHandler('onResourceStart', function(resourceName)
|
||||
if GetCurrentResourceName() ~= resourceName then return end
|
||||
PlayerData = GetPlayerData()
|
||||
PlayerLoaded = true
|
||||
TriggerEvent('lation_247robbery:onPlayerLoaded')
|
||||
end)
|
||||
|
||||
elseif GetResourceState('qbx_core') == 'started' then
|
||||
Framework = 'qbx'
|
||||
|
||||
AddEventHandler('QBCore:Client:OnPlayerLoaded', function()
|
||||
PlayerData = GetPlayerData()
|
||||
PlayerLoaded = true
|
||||
TriggerEvent('lation_247robbery:onPlayerLoaded')
|
||||
end)
|
||||
|
||||
RegisterNetEvent('qbx_core:client:playerLoggedOut', function()
|
||||
table.wipe(PlayerData)
|
||||
PlayerLoaded = false
|
||||
end)
|
||||
|
||||
AddEventHandler('onResourceStart', function(resourceName)
|
||||
if GetCurrentResourceName() ~= resourceName then return end
|
||||
PlayerData = GetPlayerData()
|
||||
PlayerLoaded = true
|
||||
TriggerEvent('lation_247robbery:onPlayerLoaded')
|
||||
end)
|
||||
elseif GetResourceState('qb-core') == 'started' then
|
||||
QBCore = exports['qb-core']:GetCoreObject()
|
||||
Framework = 'qb'
|
||||
|
||||
AddEventHandler('QBCore:Client:OnPlayerLoaded', function()
|
||||
PlayerData = GetPlayerData()
|
||||
PlayerLoaded = true
|
||||
TriggerEvent('lation_247robbery:onPlayerLoaded')
|
||||
end)
|
||||
|
||||
RegisterNetEvent('QBCore:Client:OnPlayerUnload', function()
|
||||
table.wipe(PlayerData)
|
||||
PlayerLoaded = false
|
||||
end)
|
||||
|
||||
AddEventHandler('onResourceStart', function(resourceName)
|
||||
if GetCurrentResourceName() ~= resourceName then return end
|
||||
PlayerData = GetPlayerData()
|
||||
PlayerLoaded = true
|
||||
TriggerEvent('lation_247robbery:onPlayerLoaded')
|
||||
end)
|
||||
elseif GetResourceState('ox_core') == 'started' then
|
||||
Ox = require '@ox_core.lib.init'
|
||||
Framework = 'ox'
|
||||
|
||||
AddEventHandler('ox:playerLoaded', function()
|
||||
PlayerData = GetPlayerData()
|
||||
PlayerLoaded = true
|
||||
TriggerEvent('lation_247robbery:onPlayerLoaded')
|
||||
end)
|
||||
|
||||
AddEventHandler('ox:playerLogout', function()
|
||||
table.wipe(PlayerData)
|
||||
PlayerLoaded = false
|
||||
end)
|
||||
|
||||
AddEventHandler('onResourceStart', function(resourceName)
|
||||
if GetCurrentResourceName() ~= resourceName then return end
|
||||
PlayerData = GetPlayerData()
|
||||
PlayerLoaded = true
|
||||
TriggerEvent('lation_247robbery:onPlayerLoaded')
|
||||
end)
|
||||
else
|
||||
-- Add custom framework here
|
||||
end
|
||||
end
|
||||
|
||||
-- Get inventory
|
||||
local function InitializeInventory()
|
||||
if GetResourceState('ox_inventory') == 'started' then
|
||||
Inventory = 'ox_inventory'
|
||||
elseif GetResourceState('qb-inventory') == 'started' then
|
||||
Inventory = 'qb-inventory'
|
||||
elseif GetResourceState('qs-inventory') == 'started' then
|
||||
Inventory = 'qs-inventory'
|
||||
elseif GetResourceState('ps-inventory') == 'started' then
|
||||
Inventory = 'ps-inventory'
|
||||
elseif GetResourceState('origen_inventory') == 'started' then
|
||||
Inventory = 'origen_inventory'
|
||||
elseif GetResourceState('codem-inventory') == 'started' then
|
||||
Inventory = 'codem-inventory'
|
||||
elseif GetResourceState('core_inventory') == 'started' then
|
||||
Inventory = 'core_inventory'
|
||||
else
|
||||
-- Add custom inventory here
|
||||
end
|
||||
end
|
||||
|
||||
-- Returns player data
|
||||
function GetPlayerData()
|
||||
if Framework == 'esx' then
|
||||
return ESX.GetPlayerData()
|
||||
elseif Framework == 'qb' then
|
||||
return QBCore.Functions.GetPlayerData()
|
||||
elseif Framework == 'qbx' then
|
||||
return exports.qbx_core:GetPlayerData()
|
||||
elseif Framework == 'ox' then
|
||||
return Ox.GetPlayer()
|
||||
else
|
||||
-- Add custom framework here
|
||||
end
|
||||
end
|
||||
|
||||
-- Returns boolean if player has specified amount of item
|
||||
--- @param item string
|
||||
--- @param amount number
|
||||
--- @return boolean
|
||||
function HasItem(item, amount)
|
||||
if not item or not amount then return false end
|
||||
if Inventory then
|
||||
if Inventory == 'ox_inventory' then
|
||||
return exports[Inventory]:Search('count', item) >= amount
|
||||
elseif Inventory == 'core_inventory' then
|
||||
return exports[Inventory]:hasItem(item, amount)
|
||||
else
|
||||
return exports[Inventory]:HasItem(item, amount)
|
||||
end
|
||||
else
|
||||
local player = GetPlayerData()
|
||||
if not player then return false end
|
||||
local inventory = Framework == 'esx' and player.inventory or player.items
|
||||
if not inventory then return false end
|
||||
for _, item_data in pairs(inventory) do
|
||||
if item_data and item_data.name == item then
|
||||
local count = item_data.amount or item_data.count or 0
|
||||
if count >= amount then
|
||||
return true
|
||||
end
|
||||
end
|
||||
end
|
||||
return false
|
||||
end
|
||||
end
|
||||
|
||||
-- Initialize defaults
|
||||
InitializeFramework()
|
||||
InitializeInventory()
|
Loading…
Add table
Add a link
Reference in a new issue