mirror of
https://github.com/qbcore-fivem/qb-core.git
synced 2026-08-29 04:01:24 +00:00
Remove inventory code from the core (#784)
* tweak(config): remove inventory code * tweak(client/functions): remove inventory code * cleanup(server/commands): remove inventory command * cleanup(server/events): remove hasitem callback * cleanup(server/functions): remove inventory code * cleanup(server/player): remove inventory code * feat(server/player): QBCore:Player:SetPlayerData server side Removed QBCore:Server:PlayerLoaded for PR that will be merged before me that adds it * feat(server/player): QBCore:Server:OnGangUpdate * fix(shared/items): remove duplicate snowball * fix(server/events): warn for exploitable event * fix(server/functions): startup error * feat(server/player): some backwards compatibility * fix(server/events): warn for exploitable event * feat(server/player): Player.Functions.AddField * feat(server/exports): SetField and AddField * fix(server/player): inventory state check
This commit is contained in:
+18
-33
@@ -253,15 +253,28 @@ end
|
||||
-- Items
|
||||
|
||||
function QBCore.Functions.CreateUseableItem(item, cb)
|
||||
QBCore.UseableItems[item] = cb
|
||||
if GetResourceState('qb-inventory') == 'missing' then return end
|
||||
|
||||
if GetResourceState('qb-inventory') ~= 'started' then
|
||||
CreateThread(function()
|
||||
repeat
|
||||
Wait(1000)
|
||||
until GetResourceState('qb-inventory') == 'started'
|
||||
exports['qb-inventory']:CreateUsableItem(item, cb)
|
||||
end)
|
||||
else
|
||||
exports['qb-inventory']:CreateUsableItem(item, cb)
|
||||
end
|
||||
end
|
||||
|
||||
function QBCore.Functions.CanUseItem(item)
|
||||
return QBCore.UseableItems[item]
|
||||
if GetResourceState('qb-inventory') == 'missing' then return end
|
||||
return exports['qb-inventory']:GetUsableItem(item)
|
||||
end
|
||||
|
||||
function QBCore.Functions.UseItem(source, item)
|
||||
QBCore.UseableItems[item.name](source, item)
|
||||
if GetResourceState('qb-inventory') == 'missing' then return end
|
||||
exports['qb-inventory']:UseItem(source, item)
|
||||
end
|
||||
|
||||
-- Kick Player
|
||||
@@ -402,36 +415,8 @@ end
|
||||
-- Utility functions
|
||||
|
||||
function QBCore.Functions.HasItem(source, items, amount)
|
||||
local Player = QBCore.Functions.GetPlayer(source)
|
||||
if not Player then return false end
|
||||
local isTable = type(items) == 'table'
|
||||
local isArray = isTable and table.type(items) == 'array' or false
|
||||
local totalItems = #items
|
||||
local count = 0
|
||||
local kvIndex = 2
|
||||
if isTable and not isArray then
|
||||
totalItems = 0
|
||||
for _ in pairs(items) do totalItems += 1 end
|
||||
kvIndex = 1
|
||||
end
|
||||
if isTable then
|
||||
for k, v in pairs(items) do
|
||||
local itemKV = {k, v}
|
||||
local item = Player.Functions.GetItemByName(itemKV[kvIndex])
|
||||
if item and ((amount and item.amount >= amount) or (not isArray and item.amount >= v) or (not amount and isArray)) then
|
||||
count += 1
|
||||
end
|
||||
end
|
||||
if count == totalItems then
|
||||
return true
|
||||
end
|
||||
else -- Single item as string
|
||||
local item = Player.Functions.GetItemByName(items)
|
||||
if item and (not amount or (item and amount and item.amount >= amount)) then
|
||||
return true
|
||||
end
|
||||
end
|
||||
return false
|
||||
if GetResourceState('qb-inventory') == 'missing' then return end
|
||||
return exports['qb-inventory']:HasItem(source, items, amount)
|
||||
end
|
||||
|
||||
function QBCore.Functions.Notify(source, text, type, length)
|
||||
|
||||
Reference in New Issue
Block a user