Skip to content

道具模块管理接口 Item

具体函数名及描述如下:

序号函数名函数描述
1GetItemName(...)获取道具名称
2RandomItemID(...)在资源库里随机获取一个道具ID
3RandomProjectileID(...)在资源库里随机获取一个投掷物ID
4GetAttr(...)获取道具属性
5GetItemDesc(...)获取道具类型
6GetCustomGunAttr(...)获取自定义枪械的属性(仅自定义枪械有效)
7GetCraftIDNum(...)获取道具配方的数量
8GetCraftMaterialAndNum(...)获取道具的配方材料和数量
9GetFacade(...)获取道具类型外观
10CreateItemInstInWorld(...)在位置上创建道具实例的掉落物
11CreateGunInWorld(...)在位置上创建枪械道具实例的掉落物
12GetEquipItemGridID(...)获取装备道具所对应的装备栏
13ModifyGunAttribute(...)修改枪械道具实例的属性
14GetGunAttribute(...)获取枪械道具实例的属性
15GetGunPrefabAttribute(...)获取枪预制的属性
16GetItemIdByInstanceId(...)根据道具实例ID获取道具ID
17GetResIdByInstanceId(...)根据道具实例ID获取预制ID
18AddSubModelPart(...)给道具实例添加一个模型子部件(如果界面模型使用了道具实例的模型,则修改模型后需要隔大约0.5秒等数据同步客机后再刷新界面)
19DeleteSubModelPart(...)删除一个道具实例的模型子部件
20ReplaceSubModelPart(...)修改一个道具实例的模型子部件
21SetStringCustomData(...)设置道具实例的自定义数据string
22SetBoolCustomData(...)设置道具实例的自定义数据bool
23SetNumberCustomData(...)设置道具实例的自定义数据number
24SetObjCustomData(...)设置道具实例的自定义数据Object
25SetArrayCustomData(...)设置道具实例的自定义数据Array
26GetStringCustomData(...)获取道具实例的自定义数据string
27GetBoolCustomData(...)获取道具实例的自定义数据bool
28GetNumberCustomData(...)获取道具实例的自定义数据number
29GetObjCustomData(...)获取道具实例的自定义数据Object
30GetArrayCustomData(...)获取道具实例的自定义数据Array

GetItemName

  • 参数及类型:
    • itemid:number,string道具ID
  • 返回值及类型:
  • 该方法的主要作用: 获取道具名称
  • 具体使用案例如下:
lua
    local itemName = Item:GetItemName(12005)

    if itemName then

        print("获取物品名称", itemName)

    end

RandomItemID

  • 参数及类型: 无
  • 返回值及类型:
  • 该方法的主要作用: 在资源库里随机获取一个道具ID
  • 具体使用案例如下:
lua
    local itemID = Item:RandomItemID()

    if itemID then

        print("随机生成的物品ID", itemID)

    end

RandomProjectileID

  • 参数及类型: 无
  • 返回值及类型:
  • 该方法的主要作用: 在资源库里随机获取一个投掷物ID
  • 具体使用案例如下:
lua
    local projectileID = Item:RandomProjectileID()

    if projectileID then

        print("随机生成的投射物ID", projectileID)

    end

GetAttr

  • 参数及类型:
    • itemid:number,string道具ID
    • attr:number属性类型枚举(ItemAttr)ItemAttr
  • 返回值及类型:
  • 该方法的主要作用: 获取道具属性
  • 具体使用案例如下:
lua
    local attr = Item:GetAttr(12005, ItemAttr.Attack)

    if attr then

        print("获取攻击力", attr)

    end

GetItemDesc

  • 参数及类型:
    • itemid:number,string道具ID
  • 返回值及类型:
  • 该方法的主要作用: 获取道具类型
  • 具体使用案例如下:
lua
    local itemDesc = Item:GetItemDesc(12005)

    if itemDesc then

        print("获取物品描述", itemDesc)

    end

GetCustomGunAttr

  • 参数及类型:
    • itemid:number,string道具ID
    • attrname:string属性名 GunAttrGunAttr
  • 返回值及类型:
    • val:any返回的值
  • 该方法的主要作用: 获取自定义枪械的属性(仅自定义枪械有效)
  • 具体使用案例如下:
lua
local val = Item:GetCustomGunAttr(itemid, attrname)

GetCraftIDNum

  • 参数及类型:
    • itemid:number,string道具ID
  • 返回值及类型:
  • 该方法的主要作用: 获取道具配方的数量
  • 具体使用案例如下:
lua
    --能够合成木板的数量

    local craftIDNum = Item:GetCraftIDNum(206)

    if craftIDNum then

        print("获取物品可合成的配方数量", craftIDNum)

    end

GetCraftMaterialAndNum

  • 参数及类型:
    • itemid:number,string道具ID
  • 返回值及类型:
    • tab:table原料信息 { {iemid
    • itemnum}}
  • 该方法的主要作用: 获取道具的配方材料和数量
  • 具体使用案例如下:
lua
    local resultid = 206

    --获取制作物品的材料和数量

    local num = Item:GetCraftIDNum(resultid)

    if num then

        for i = 1, num do

            local tab = Item:GetCraftMaterialAndNum(resultid,i)

            if tab then

                print("获取制作物品的材料和数量", tab)

                for k,v in pairs(tab) do

                    print("材料索引", k, "材料ID", v[1], "数量", v[2])

                end

            end

        end

    end

GetFacade

  • 参数及类型:
    • itemid:number
    • string:道具类型ID或道具预制ID
  • 返回值及类型:
  • 该方法的主要作用: 获取道具类型外观
  • 具体使用案例如下:
lua
    -- 官方默认道具示例

    local facade1 = Item:GetFacade(12002)

    if facade1 == nil then

        print("facade1 is nil")

    end

    -- 自定义道具示例

    local facade2 = Item:GetFacade('r2_7495945919239178250_23010')

    if facade2 == nil then

        print("facade2 is nil")

    end

CreateItemInstInWorld

  • 参数及类型:
    • itemid:number,string道具id
    • pos:table掉落物位置{x=0
    • y=0
    • z=0}
  • 返回值及类型:
    • objid:number,nil对象objid
  • 该方法的主要作用: 在位置上创建道具实例的掉落物
  • 具体使用案例如下:
lua
local objid = Item:CreateItemInstInWorld(itemid, pos)

CreateGunInWorld

  • 参数及类型:
    • itemid:number,string道具id
    • pos:table掉落物位置
  • 返回值及类型:
    • objid:number,nil对象objid
  • 该方法的主要作用: 在位置上创建枪械道具实例的掉落物
  • 具体使用案例如下:
lua
local objid = Item:CreateGunInWorld(itemid, pos)

GetEquipItemGridID

  • 参数及类型:
    • itemid:number,string装备道具ID
  • 返回值及类型:
    • ret:number装备栏位置 BackpackBeginIndex.Equip + (EquipSlotType)
  • 该方法的主要作用: 获取装备道具所对应的装备栏
  • 具体使用案例如下:
lua
    -- 官方默认道具示例

    local grid =  Item:GetEquipItemGridID(12201)

    if grid == (EquipSlotType.Head + BackpackBeginIndex.Equip )  then

        print("皮头盔的装备栏是 8000")

    end

ModifyGunAttribute

  • 参数及类型:
    • instId:string道具实例id
    • key:string属性的枚举(CmpEnvEnum.GunAttr)GunAttr
    • value:number,string,bool值
  • 返回值及类型:
  • 该方法的主要作用: 修改枪械道具实例的属性
  • 具体使用案例如下:
lua
local ret = Item:ModifyGunAttribute(instId, key, value)

GetGunAttribute

  • 参数及类型:
  • 返回值及类型:
    • value:number,string,bool,nil值
  • 该方法的主要作用: 获取枪械道具实例的属性
  • 具体使用案例如下:
lua
local value = Item:GetGunAttribute(instId, key)

GetGunPrefabAttribute

  • 参数及类型:
  • 返回值及类型:
    • value:number,string,bool,nil值
  • 该方法的主要作用: 获取枪预制的属性
  • 具体使用案例如下:
lua
local value = Item:GetGunPrefabAttribute(instId, key)

GetItemIdByInstanceId

  • 参数及类型:
  • 返回值及类型:
    • itemId:number,nil道具id
  • 该方法的主要作用: 根据道具实例ID获取道具ID
  • 具体使用案例如下:
lua
local itemId = Item:GetItemIdByInstanceId(instId)

GetResIdByInstanceId

  • 参数及类型:
  • 返回值及类型:
    • resId:string,nil预制id
  • 该方法的主要作用: 根据道具实例ID获取预制ID
  • 具体使用案例如下:
lua
local resId = Item:GetResIdByInstanceId(instId)

AddSubModelPart

  • 参数及类型:
  • 返回值及类型:
    • partName:string,nil部件名字
  • 该方法的主要作用: 给道具实例添加一个模型子部件(如果界面模型使用了道具实例的模型,则修改模型后需要隔大约0.5秒等数据同步客机后再刷新界面)
  • 具体使用案例如下:
lua
local partName = Item:AddSubModelPart(instId, partName, boneName, modelStr, offset, rot, scale)

DeleteSubModelPart

  • 参数及类型:
  • 返回值及类型:
  • 该方法的主要作用: 删除一个道具实例的模型子部件
  • 具体使用案例如下:
lua
local ret = Item:DeleteSubModelPart(instId, partName)

ReplaceSubModelPart

  • 参数及类型:
  • 返回值及类型:
  • 该方法的主要作用: 修改一个道具实例的模型子部件
  • 具体使用案例如下:
lua
local ret = Item:ReplaceSubModelPart(instId, partName, boneName, modelStr, offset, rot, scale)

SetStringCustomData

  • 参数及类型:
  • 返回值及类型:
  • 该方法的主要作用: 设置道具实例的自定义数据string
  • 具体使用案例如下:
lua
local ret = Item:SetStringCustomData(instId, key, value)

SetBoolCustomData

  • 参数及类型:
  • 返回值及类型:
  • 该方法的主要作用: 设置道具实例的自定义数据bool
  • 具体使用案例如下:
lua
local ret = Item:SetBoolCustomData(instId, key, value)

SetNumberCustomData

  • 参数及类型:
  • 返回值及类型:
  • 该方法的主要作用: 设置道具实例的自定义数据number
  • 具体使用案例如下:
lua
local ret = Item:SetNumberCustomData(instId, key, value)

SetObjCustomData

  • 参数及类型:
  • 返回值及类型:
  • 该方法的主要作用: 设置道具实例的自定义数据Object
  • 具体使用案例如下:
lua
local ret = Item:SetObjCustomData(instId, key, value)

SetArrayCustomData

  • 参数及类型:
  • 返回值及类型:
  • 该方法的主要作用: 设置道具实例的自定义数据Array
  • 具体使用案例如下:
lua
local ret = Item:SetArrayCustomData(instId, key, value)

GetStringCustomData

  • 参数及类型:
  • 返回值及类型:
    • value:string,nil值
  • 该方法的主要作用: 获取道具实例的自定义数据string
  • 具体使用案例如下:
lua
local value = Item:GetStringCustomData(instId, key)

GetBoolCustomData

  • 参数及类型:
  • 返回值及类型:
    • value:bool,nil值
  • 该方法的主要作用: 获取道具实例的自定义数据bool
  • 具体使用案例如下:
lua
local value = Item:GetBoolCustomData(instId, key)

GetNumberCustomData

  • 参数及类型:
  • 返回值及类型:
    • value:number,nil值
  • 该方法的主要作用: 获取道具实例的自定义数据number
  • 具体使用案例如下:
lua
local value = Item:GetNumberCustomData(instId, key)

GetObjCustomData

  • 参数及类型:
  • 返回值及类型:
    • value:table,nil值
  • 该方法的主要作用: 获取道具实例的自定义数据Object
  • 具体使用案例如下:
lua
local value = Item:GetObjCustomData(instId, key)

GetArrayCustomData

  • 参数及类型:
  • 返回值及类型:
    • value:table,nil值
  • 该方法的主要作用: 获取道具实例的自定义数据Array
  • 具体使用案例如下:
lua
local value = Item:GetArrayCustomData(instId, key)