You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

FiveM QB-Core中Tebex武器变体兑换后无法装备的问题

问题:Tebex兑换的武器皮肤包无法装备

我在售卖基于Tebex的手枪熔岩外观皮肤包,已成功兑换并在物品栏显示该物品,但尝试装备时无任何反应。尝试过将Tebex配置中的物品类型设为item和weapon均未解决问题。

相关配置文件如下:

1. resources/[weapons]/weapon_pistol_lava/fxmanifest.lua

fx_version "cerulean"
game "gta5"
lua54 "yes"

server_scripts {
    "server/server.lua"
}

files {
    "stream/w_pi_pistol_hi.ydr"
}

data_file "DLC_ITYP_REQUEST" "stream/w_pi_pistol_hi.ydr"

dependencies {
    'qb-core'
}

dependency '/assetpacks'

2. nass_serverstore/config.lua

["Pistol - Lava"] = { -- Exact package name from tebex
    Items = {
        {
            name = "weapon_pistol_lava", -- Item or account name depending on type specified below
            amount = 1, -- Amount of item or money
            type = "item" -- Four types: account, item, or weapon and car
        },
    },
},

3. qb-weapons/items.lua

weapon_pistol_lava           = { name = 'weapon_pistol', label = 'Walther P99 Lava', weight = 1000, type = 'weapon', ammotype = 'AMMO_PISTOL', image = 'weapon_pistol_lava.png', unique = true, useable = true, description = 'A small firearm designed to be held in one hand with a lava skin' },

4. qb-shared/items.lua

weapon_pistol_lava           = { name = 'weapon_pistol', label = 'Walther P99 Lava', weight = 1000, type = 'weapon', ammotype = 'AMMO_PISTOL', image = 'weapon_pistol_lava.png', unique = true, useable = true, description = 'A small firearm designed to be held in one hand' },

解决方案

1. 修正武器物品的核心配置

你当前的物品配置把weapon_pistol_lava的name设为weapon_pistol,会导致框架将其识别为普通手枪,而非带皮肤的独立物品。需修改qb-weapons/items.lua和qb-shared/items.lua中的配置:

weapon_pistol_lava = { 
    name = 'weapon_pistol_lava', 
    label = 'Walther P99 Lava', 
    weight = 1000, 
    type = 'weapon', 
    ammotype = 'AMMO_PISTOL', 
    weaponHash = `WEAPON_PISTOL`, -- 关键:绑定原版手枪的哈希值
    image = 'weapon_pistol_lava.png', 
    unique = true, 
    useable = true, 
    description = 'A small firearm designed to be held in one hand with a lava skin' 
},

注意:两个文件的配置必须完全一致,避免逻辑冲突。

2. 配置物品使用逻辑(核心修复)

当前资源缺少客户端脚本处理物品的装备动作,需在weapon_pistol_lava资源中添加:

  • 创建client/client.lua文件,写入:
QBCore.Functions.CreateUseableItem("weapon_pistol_lava", function(source, item)
    local Player = QBCore.Functions.GetPlayer(source)
    if not Player then return end

    -- 移除物品栏中的皮肤道具
    Player.Functions.RemoveItem(item.name, 1)
    -- 为玩家添加带皮肤的武器
    Player.Functions.AddWeapon("weapon_pistol_lava", 0) -- 0为初始弹药量,可按需调整
    TriggerClientEvent('QBCore:Notify', source, "已装备熔岩手枪皮肤")
end)
  • 在fxmanifest.lua中添加客户端脚本引用:
client_scripts {
    "client/client.lua"
}

3. 确认Tebex商店配置

保持nass_serverstore/config.lua中的type为item,因为你是发放可使用的皮肤道具,而非直接发放武器:

["Pistol - Lava"] = {
    Items = {
        {
            name = "weapon_pistol_lava",
            amount = 1,
            type = "item"
        },
    },
},

4. 验证模型资源加载

  • 检查stream/w_pi_pistol_hi.ydr路径是否正确,服务器启动时执行ensure weapon_pistol_lava,查看控制台是否有加载错误。
  • 确认data_file "DLC_ITYP_REQUEST" "stream/w_pi_pistol_hi.ydr"无拼写错误,该指令用于告诉游戏加载自定义模型资源。

5. 兼容QB武器系统

若使用替换模型的皮肤方式,需确保qb-weapons支持自定义武器模型映射,或你的ydr文件正确替换了原版手枪的模型资源。


内容的提问来源于stack exchange,提问作者R01010010

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 13:53:12