Skip to content
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Discord: [Byte Labs](https://discord.gg/fqsqSjZfxE)
# Frameworks 'qb' | 'esx' | 'nd'
setr bl:framework 'qb'

# Inventories 'ox' | 'qb'
# Inventories 'ox' | 'qb' | 'codem'
setr bl:inventory 'ox'

# Context 'ox' | 'qb'
Expand Down
4 changes: 4 additions & 0 deletions client/inventory/all.lua
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,10 @@ function inventory.openInventory(invType, invId)
local inventoryData = Utils.await('bl_bridge:validInventory', 10, invType, invId)
if not inventoryData then return end
TriggerServerEvent('inventory:server:OpenInventory', invType, invId, inventoryData)
elseif invFramework == 'codem'then
local inventoryData = Utils.await('bl_bridge:validInventory', 10, invType, invId)
if not inventoryData then return end
TriggerServerEvent('inventory:server:OpenInventory', invType, invId, inventoryData)
end
end

Expand Down
3 changes: 2 additions & 1 deletion init.lua
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,8 @@ Config = {
ox = 'ox_inventory',
qb = 'qb-inventory',
ps = 'ps-inventory',
qs = 'qs-inventory'
qs = 'qs-inventory',
codem = 'codem-inventory'
},
core = {
nd = 'ND_Core',
Expand Down
2 changes: 1 addition & 1 deletion server/core/esx.lua
Original file line number Diff line number Diff line change
Expand Up @@ -124,4 +124,4 @@ function Core.GetPlayer(src)
end

Core.Players = shared.Players
return Core
return Core
2 changes: 1 addition & 1 deletion server/core/qb.lua
Original file line number Diff line number Diff line change
Expand Up @@ -135,4 +135,4 @@ function Core.hasPerms(...)
return shared.Functions.HasPermission(...)
end

return Core
return Core
67 changes: 67 additions & 0 deletions server/inventory/codem.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
local overrideFunction = {}
local registeredInventories = {}
overrideFunction.methods = {
Functions = {
addItem = {
originalMethod = 'AddItem',
modifier = {
effect = function(originalFun, name, amount, metadata, slot)
return originalFun(name, amount, slot, metadata)
end
}
},
removeItem = {
originalMethod = 'RemoveItem',
},
getItem = {
originalMethod = 'GetItemByName',
modifier = {
effect = function(originalFun, itemName)
local data = originalFun(itemName)
if not data then
return false, 'Item not exist or you don\'t have it'
end
return {
label = data.label,
name = data.name,
weight = data.weight,
slot = data.slot,
close = data.shouldClose,
stack = not data.unique,
metadata = data.info ~= '' and data.info or {},
count = data.amount or 1
}
end
}
}
},
PlayerData = {
items = {
originalMethod = 'items',
},
}
}

function overrideFunction.registerInventory(id, data)
local type, name, items, slots, maxWeight in data

for k,v in ipairs(items) do
v.amount = v.amount or 10
v.slot = k
end

registeredInventories[('%s-%s'):format(type, id)] = {
label = name,
items = items,
slots = slots or #items,
maxweight = maxWeight
}
end

require'utils'.register('bl_bridge:validInventory', function(_, invType, invId)
local inventory = registeredInventories[('%s-%s'):format(invType, invId)]
if not inventory then return end
return inventory
end)

return overrideFunction
2 changes: 1 addition & 1 deletion server/inventory/ox.lua
Original file line number Diff line number Diff line change
Expand Up @@ -58,4 +58,4 @@ function overrideFunction.registerInventory(id, data)
end
end

return overrideFunction
return overrideFunction
2 changes: 1 addition & 1 deletion server/inventory/qb.lua
Original file line number Diff line number Diff line change
Expand Up @@ -73,4 +73,4 @@ require'utils'.register('bl_bridge:validInventory', function(_, invType, invId)
return inventory
end)

return overrideFunction
return overrideFunction