forked from Simnation/Main
ed
This commit is contained in:
parent
875c8448e1
commit
c81ae4bb6d
219 changed files with 8036 additions and 7 deletions
73
resources/[tools]/bl_bridge/server/inventory/ox.lua
Normal file
73
resources/[tools]/bl_bridge/server/inventory/ox.lua
Normal file
|
@ -0,0 +1,73 @@
|
|||
local retreiveExportsData = require 'utils'.retreiveExportsData
|
||||
local overrideFunction = {}
|
||||
local ox_inventory = exports.ox_inventory
|
||||
|
||||
overrideFunction.methods = retreiveExportsData(ox_inventory, {
|
||||
addItem = {
|
||||
originalMethod = 'AddItem',
|
||||
modifier = {
|
||||
passSource = true,
|
||||
}
|
||||
},
|
||||
removeItem = {
|
||||
originalMethod = 'RemoveItem',
|
||||
modifier = {
|
||||
passSource = true,
|
||||
effect = function(originalFun, source, name, count, slot)
|
||||
return originalFun(source, name, count, nil, slot)
|
||||
end,
|
||||
}
|
||||
},
|
||||
setMetaData = {
|
||||
originalMethod = 'SetMetadata',
|
||||
modifier = {
|
||||
passSource = true,
|
||||
}
|
||||
},
|
||||
canCarryItem = {
|
||||
originalMethod = 'CanCarryItem',
|
||||
modifier = {
|
||||
passSource = true,
|
||||
}
|
||||
},
|
||||
getItem = {
|
||||
originalMethod = 'GetSlotWithItem',
|
||||
modifier = {
|
||||
passSource = true,
|
||||
}
|
||||
},
|
||||
items = {
|
||||
originalMethod = 'GetInventoryItems',
|
||||
modifier = {
|
||||
executeFunc = true,
|
||||
passSource = true,
|
||||
}
|
||||
},
|
||||
})
|
||||
|
||||
local registeredItems = {}
|
||||
|
||||
AddEventHandler('ox_inventory:usedItem', function(playerId, itemName, slotId, metadata)
|
||||
local itemEffect = registeredItems[itemName]
|
||||
if not itemEffect then return end
|
||||
itemEffect(playerId, slotId, metadata)
|
||||
end)
|
||||
|
||||
function overrideFunction.registerUsableItem(name, cb)
|
||||
registeredItems[name] = cb
|
||||
end
|
||||
|
||||
function overrideFunction.registerInventory(id, data)
|
||||
local type, name, items in data
|
||||
if type == 'shop' then
|
||||
ox_inventory:RegisterShop(id, {
|
||||
name = name or 'Shop',
|
||||
inventory = items or {},
|
||||
})
|
||||
elseif type == 'stash' then
|
||||
local maxWeight, slots in data
|
||||
ox_inventory:RegisterStash(id, name or 'Stash', slots or 10, maxWeight or 20000)
|
||||
end
|
||||
end
|
||||
|
||||
return overrideFunction
|
Loading…
Add table
Add a link
Reference in a new issue