1
0
Fork 0
forked from Simnation/Main
This commit is contained in:
Nordi98 2025-07-30 01:18:19 +02:00
parent 03da67c996
commit 135f0e163e
5 changed files with 225 additions and 1 deletions

View file

@ -0,0 +1,76 @@
local QBCore = exports['qb-core']:GetCoreObject()
-- Check if player has a backpack equipped
function CheckForBackpack()
local ped = PlayerPedId()
-- Get the current bag drawable ID (component 5 is the bag slot)
local currentBag = GetPedDrawableVariation(ped, 5)
-- Check if this bag ID is in our config
if Config.Backpacks[currentBag] then
return currentBag
end
return nil
end
-- Open backpack inventory command
RegisterCommand('openbackpack', function()
local backpackId = CheckForBackpack()
if backpackId then
local citizenId = QBCore.Functions.GetPlayerData().citizenid
local backpackStashId = "backpack_" .. citizenId .. "_" .. backpackId
TriggerServerEvent('backpack:server:openInventory', backpackStashId, backpackId)
else
lib.notify(Config.Notifications.noBackpack)
end
end, false)
-- Register key binding
RegisterKeyMapping('openbackpack', 'Open Backpack Inventory', 'keyboard', Config.BackpackKey)
-- Listen for inventory open event to check if we should show backpack
RegisterNetEvent('inventory:client:OpenInventory', function()
-- Small delay to let the main inventory open first
Citizen.Wait(100)
-- Check if player has a backpack and automatically show the backpack tab
local backpackId = CheckForBackpack()
if backpackId then
local citizenId = QBCore.Functions.GetPlayerData().citizenid
local backpackStashId = "backpack_" .. citizenId .. "_" .. backpackId
TriggerServerEvent('backpack:server:openInventory', backpackStashId, backpackId)
end
end)
-- Monitor for clothing changes to update backpack status
Citizen.CreateThread(function()
local lastBackpack = nil
while true do
Citizen.Wait(1000) -- Check every second
local currentBackpack = CheckForBackpack()
-- If backpack status changed
if currentBackpack ~= lastBackpack then
lastBackpack = currentBackpack
-- If player removed a backpack, we could add additional logic here
if not currentBackpack then
-- Player removed backpack
else
-- Player equipped backpack
end
end
end
end)
-- Initialize when player loads
RegisterNetEvent('QBCore:Client:OnPlayerLoaded', function()
-- Nothing needed here, backpack will be checked when inventory is opened
end)