example
example

资源 [QB]库存界面-适配最新版本qb框架(nopixel克隆版)

amazinggad

qb研究中···
高级用户
认证用户
github链接:

1732714533970.png

如果你也喜欢QBCORE框架的开发,相信你在找插件的时候(比如使用ps-inventorty)会发现很多问题,原因是 QB框架函数的更新导致。你使用新QB框架后使用旧的qb插件自然会导致很多问题,所以你需要找最新框架适配的插件,具体可以看作者的更新日期和说明。​

同样,如果你想使用PS库存这类旧库存,你需要使用旧QB框架的文件。​


我自己在测试的时候发现一个问题,当警察查扣你的库存时,会导致被查的人的库存打不开,简单解决方案:​

server/main.lua 中 找到

lua:
local function OpenInventoryById(source, targetId)
    local QBPlayer = QBCore.Functions.GetPlayer(source)
    local TargetPlayer = QBCore.Functions.GetPlayer(tonumber(targetId))
    if not QBPlayer or not TargetPlayer then return end
    if Player(targetId).state.inv_busy then TriggerClientEvent("pappu-inventorynp:client:closeinv", targetId) end
    Wait(1500)
    Player(targetId).state.inv_busy = true
    OpenInventory("otherplayer", targetId, nil, source)
end

exports('OpenInventoryById', OpenInventoryById)


整体修改为

lua:
local function OpenInventoryById(source, targetId)
    local QBPlayer = QBCore.Functions.GetPlayer(source)
    local TargetPlayer = QBCore.Functions.GetPlayer(tonumber(targetId))
    if not QBPlayer or not TargetPlayer then return end
    if Player(targetId).state.inv_busy then TriggerClientEvent("qb-inventory:client:closeinv", targetId) end
    Wait(1500)
    Player(targetId).state.inv_busy = true
    OpenInventory("otherplayer", targetId, nil, source)
    --by app
    Wait(10000)
    TriggerClientEvent("qb-inventory:client:closeinv",source)
    Player(targetId).state.inv_busy = false
    QBCore.Functions.Notify(source,'你只能打开10秒的库存', 'error')
  
end
exports('OpenInventoryById', OpenInventoryById)


这只是简单的修改,通过给警察10秒的检查时间后 关闭警察的库存 让被查的人的库存可以打开自己的库存。BUG关键点在于设置​

lua:
 state.inv_busy

顺便说一句,你只需要把 所有 pappu-inventorynp 更改为 qb-inventory即可

使用VSCODE 按下 ctrl+shift+H
1732714362016.png
然后更改文件夹名为 qb-inventory 替换到框架里的 qb-inventory 即可
 
最后编辑:
顶部