local vehicleStashes = {} local function OpenVehicleRoofbox(player, vehicle) Entity(vehicle).state.kq_roofboxes_open = true end local function CloseVehicleRoofbox(player, vehicle) Entity(vehicle).state.kq_roofboxes_open = false end RegisterServerEvent('kq_roofboxes:server:openRoofbox') AddEventHandler('kq_roofboxes:server:openRoofbox', function(netId, model) local player = source local vehicle = NetworkGetEntityFromNetworkId(netId) Debug('Attempting open vehicle roofbox') if not CanPlayerOpenVehicleRoofbox(player, vehicle) then Debug('CanPlayerOpenVehicleRoofbox returned false') return end Debug('Opening vehicle roofbox') OpenVehicleRoofbox(player, vehicle) local mapping = { [1] = 'normalRoofbox', [2] = 'smallRoofbox', [3] = 'supercarRoofbox', } local size = Config.stashes[mapping[model]] local stashId = GetVehicleStashId(vehicle) exports.kq_link:OpenCustomStash(player, stashId, L('Roofbox'), size.slots, size.maxWeight) vehicleStashes[stashId] = vehicle end) RegisterServerEvent('kq_roofboxes:server:closeInventory') AddEventHandler('kq_roofboxes:server:closeInventory', function(netId) CloseVehicleRoofbox(source, NetworkGetEntityFromNetworkId(netId)) end) RegisterServerEvent('ox_inventory:closedInventory') AddEventHandler('ox_inventory:closedInventory', function(player, stashId) if vehicleStashes[stashId] then CloseVehicleRoofbox(player, vehicleStashes[stashId]) end end) RegisterServerEvent('inventory:closeInventory') AddEventHandler('inventory:closeInventory', function(player, stashId) if vehicleStashes[stashId] then CloseVehicleRoofbox(player, vehicleStashes[stashId]) end end) RegisterServerEvent('qb-inventory:server:closeInventory') AddEventHandler('qb-inventory:server:closeInventory', function(stashId) if vehicleStashes[stashId] then CloseVehicleRoofbox(source, vehicleStashes[stashId]) end end)