Skip to content

背包模块管理接口 Backpack

具体函数名及描述如下:

序号函数名函数描述
1SetGridItem(...)设置背包格道具
2RemoveGridItem(...)移除背包格内一定数量道具
3RemoveGridItemByItemID(...)移除背包内一定数量道具,通过道具ID移除,默认全部移除
4ClearPack(...)清空指定背包栏
5ClearAllPack(...)清空全部背包(包含背包栏、快捷栏、装备栏)
6MoveGridItem(...)移动背包道具,默认全部转移
7SwapGridItem(...)交换背包道具
8EnoughSpaceForItem(...)背包(包含背包栏、快捷栏)是否有足够的空间存放一定数量的道具
9CalcSpaceNumForItem(...)计算背包(包含背包栏、快捷栏)能存放的道具剩余总数量
10HasItemByBackpackBar(...)检测背包是否持有某个道具
11GetItemNumByBackpackBar(...)获取背包持有某个道具总数量,同时返回装有道具的背包格数组
12GetItemNum(...)获取背包持有某个道具总数量,同时返回装有道具的背包格数组
13GetGridItemID(...)获取背包格道具ID(返回itemid, num)
14GetGridItemName(...)获取背包格道具名称
15AddItem(...)添加道具到背包
16DiscardItemByID(...)丢弃背包某个格子里的道具
17ActEquipUpByResID(...)玩家穿上装备
18ActEquipOffByEquipID(...)玩家脱下装备栏装备
19ActDestructEquip(...)销毁装备
20CreateItem(...)创建道具到玩家背包
21PlayShortCutIxEffect(...)在手持道具上播放特效
22PlayShortCutIxParticle(...)在手持道具上播放特效
23StopShortCutIxEffect(...)停止手持道具上播放特效
24PlayShortCutItemParticle(...)playerid:number:玩家ID,itemid:number:道具类型,effectid:number:特效ID,offset:table:偏移
25StopShortCutItemEffect(...)删除玩家快捷栏上某种类型道具手持特效

SetGridItem

  • 参数及类型:
    • playerid:number玩家ID
    • gridid:number格子ID
    • itemid:number,string道具类型
    • num:number道具数量(默认1)
    • durability:number耐久值(默认1)
  • 返回值及类型:
  • 该方法的主要作用: 设置背包格道具
  • 具体使用案例如下:
lua
    local playerid = Player:GetHostUin()

    -- 设置快捷栏第一个格子为100,数量为3

    local result = Backpack:SetGridItem(playerid, BackpackBeginIndex.Shortcut, 100, 3)

RemoveGridItem

  • 参数及类型:
  • 返回值及类型:
  • 该方法的主要作用: 移除背包格内一定数量道具
  • 具体使用案例如下:
lua
    local playerid = Player:GetHostUin()

    -- 移除快捷栏第一个格内1个道具

    local result = Backpack:RemoveGridItem(playerid, BackpackBeginIndex.Shortcut, 1)

RemoveGridItemByItemID

  • 参数及类型:
    • playerid:number玩家ID
    • itemid:number,string道具类型
    • num:number道具数量
  • 返回值及类型:
    • ret:number移除数量(ret and ret> 0 成功)
  • 该方法的主要作用: 移除背包内一定数量道具,通过道具ID移除,默认全部移除
  • 具体使用案例如下:
lua
    local playerid = Player:GetHostUin()

    -- 移除背包内 5个草块

    local result = Backpack:RemoveGridItemByItemID(playerid, 100, 5)

    -- 移除背包内 全部草块

    local resul2t = Backpack:RemoveGridItemByItemID(playerid, 100)

ClearPack

  • 参数及类型:
  • 返回值及类型:
  • 该方法的主要作用: 清空指定背包栏
  • 具体使用案例如下:
lua
    local playerid = Player:GetHostUin()

    -- 清除快捷栏全部道具

    Backpack:ClearPack(playerid, BackpackType.Shortcut)

ClearAllPack

  • 参数及类型:
  • 返回值及类型:
  • 该方法的主要作用: 清空全部背包(包含背包栏、快捷栏、装备栏)
  • 具体使用案例如下:
lua
    local result = Backpack:ClearAllPack(Player:GetHostUin())

MoveGridItem

  • 参数及类型:
    • playerid:number玩家ID
    • gridsrc:number移动格子ID
    • griddst:number移动至的目标格子ID
    • num:number道具数量(默认全部)
  • 返回值及类型:
  • 该方法的主要作用: 移动背包道具,默认全部转移
  • 具体使用案例如下:
lua
    -- 移动快捷栏第一个格子到第二个格子

    local result = Backpack:MoveGridItem(playerid, BackpackBeginIndex.Shortcut, BackpackBeginIndex.Shortcut + 1)

SwapGridItem

  • 参数及类型:
  • 返回值及类型:
  • 该方法的主要作用: 交换背包道具
  • 具体使用案例如下:
lua
    local playerid = Player:GetHostUin()

    -- 交换快捷栏第一个格子和第二个格子

    local result = Backpack:SwapGridItem(playerid, BackpackBeginIndex.Shortcut, BackpackBeginIndex.Shortcut + 1)

EnoughSpaceForItem

  • 参数及类型:
    • playerid:number玩家ID
    • itemid:number,string道具类型
    • num:number道具数量(默认1)
  • 返回值及类型:
  • 该方法的主要作用: 背包(包含背包栏、快捷栏)是否有足够的空间存放一定数量的道具
  • 具体使用案例如下:
lua
    local playerid = Player:GetHostUin()

    local result = Backpack:EnoughSpaceForItem(playerid, 12005, 1)

CalcSpaceNumForItem

  • 参数及类型:
    • playerid:number玩家ID
    • itemid:number,string道具类型
  • 返回值及类型:
    • leftNum:number可以存放的数量
  • 该方法的主要作用: 计算背包(包含背包栏、快捷栏)能存放的道具剩余总数量
  • 具体使用案例如下:
lua
    local playerid = Player:GetHostUin()

    local spaceNum = Backpack:CalcSpaceNumForItem(playerid, 12005)

HasItemByBackpackBar

  • 参数及类型:
  • 返回值及类型:
  • 该方法的主要作用: 检测背包是否持有某个道具
  • 具体使用案例如下:
lua
    -- 快捷栏是否有草块

    local result = Backpack:HasItemByBackpackBar(playerid, BackpackType.Shortcut, 100)

GetItemNumByBackpackBar

  • 参数及类型:
  • 返回值及类型:
  • 该方法的主要作用: 获取背包持有某个道具总数量,同时返回装有道具的背包格数组
  • 具体使用案例如下:
lua
    local itemNum, grids = Backpack:GetItemNumByBackpackBar(playerid, BackpackType.Shortcut, 100)

GetItemNum

  • 参数及类型:
    • playerid:number玩家ID
    • itemid:number,string道具类型
    • isAddEquip:boolean是否添加装备栏(默认false)
  • 返回值及类型:
  • 该方法的主要作用: 获取背包持有某个道具总数量,同时返回装有道具的背包格数组
  • 具体使用案例如下:
lua
    -- 获取道具的数量,包含装备栏

    local itemNum = Backpack:GetItemNum(playerid, 12202)

    -- 获取道具的数量,不包含装备栏

    local itemNum2 = Backpack:GetItemNum(playerid, 12202, false)

GetGridItemID

  • 参数及类型:
  • 返回值及类型:
    • itemid:number,string道具类型
    • num:number道具数量
  • 该方法的主要作用: 获取背包格道具ID(返回itemid, num)
  • 具体使用案例如下:
lua
    local playerid = Player:GetHostUin()

    local gridItemID = Backpack:GetGridItemID(playerid, BackpackBeginIndex.Shortcut)

GetGridItemName

  • 参数及类型:
  • 返回值及类型:
  • 该方法的主要作用: 获取背包格道具名称
  • 具体使用案例如下:
lua
    -- 获取快捷栏第一个格子物品名称

    local gridItemName = Backpack:GetGridItemName(playerid, BackpackBeginIndex.Shortcut)

AddItem

  • 参数及类型:
    • playerid:number玩家ID
    • itemid:number,string道具类型
    • num:number道具数量
    • prioritytype:number优先快捷栏还是背包栏:1优先快捷栏 2优先背包栏(默认1)
  • 返回值及类型:
    • num:number成功添加的数量
  • 该方法的主要作用: 添加道具到背包
  • 具体使用案例如下:
lua
    local playerid = Player:GetHostUin()

    -- 创建物品,只添加能放入的数量

    local successNum = Backpack:AddItem(playerid, 100, 10)

DiscardItemByID

  • 参数及类型:
  • 返回值及类型:
  • 该方法的主要作用: 丢弃背包某个格子里的道具
  • 具体使用案例如下:
lua
    local playerid = Player:GetHostUin()

    local result = Backpack:DiscardItemByID(playerid, 12005)

    local result2 = Backpack:DiscardItemByID(playerid, "r2_7485931052202679286_22924")

ActEquipUpByResID

  • 参数及类型:
    • playerid:number玩家ID
    • itemid:number,string道具类型
  • 返回值及类型:
  • 该方法的主要作用: 玩家穿上装备
  • 具体使用案例如下:
lua
    local playerid = Player:GetHostUin()

    local result = Backpack:ActEquipUpByResID(playerid, 12202)

ActEquipOffByEquipID

  • 参数及类型:
  • 返回值及类型:
  • 该方法的主要作用: 玩家脱下装备栏装备
  • 具体使用案例如下:
lua
    local playerid = Player:GetHostUin()

    -- 卸下装备的皮胸甲

    -- 头盔1(BackpackBeginIndex.Equip),胸甲2,护腿3,靴子4,披风5

    local result = Backpack:ActEquipOffByEquipID(playerid, BackpackBeginIndex.Equip + 1)

ActDestructEquip

  • 参数及类型:
  • 返回值及类型:
  • 该方法的主要作用: 销毁装备
  • 具体使用案例如下:
lua
  -- 销毁装备栏的皮胸甲

    local result = Backpack:ActDestructEquip(playerid, BackpackBeginIndex.Equip + 1)

CreateItem

  • 参数及类型:
  • 返回值及类型:
    • code:bool成功(true)
  • 该方法的主要作用: 创建道具到玩家背包
  • 具体使用案例如下:
lua
    local playerid = Player:GetHostUin()

    -- 创建物品,默认放快捷栏跟背包栏(放不下会掉落在地上)

    Backpack:CreateItem(playerid, 100, 3)

    -- 创建物品,默认放快捷栏(快捷栏放不下会掉落在地上)

    Backpack:CreateItem(playerid, 100, 2, BackpackType.Shortcut)

    -- 创建皮胸甲,直接装备上,装备不上会掉落

    Backpack:CreateItem(playerid, 12202, 1, BackpackType.Equip)

PlayShortCutIxEffect

  • 参数及类型:
  • 返回值及类型:
  • 该方法的主要作用: 在手持道具上播放特效
  • 具体使用案例如下:
lua
local code = Backpack:PlayShortCutIxEffect(playerid, effectid, scale)

PlayShortCutIxParticle

  • 参数及类型:
    • playerid:number玩家ID
    • effectids:number特效ID
    • offset:table偏移
    • rot:table:旋转 scale:table:缩放
  • 返回值及类型:
  • 该方法的主要作用: 在手持道具上播放特效
  • 具体使用案例如下:
lua
    local playerid = Player:GetHostUin()

    -- 播放手持特效, 偏移量(0, 1, 0), 不旋转, 缩放(2, 2, 2)

    local result = Backpack:PlayShortCutIxParticle(playerid, 1011, {x = 0, y = 1, z = 0}, nil, {x = 2, y = 2, z = 2})

StopShortCutIxEffect

  • 参数及类型:
  • 返回值及类型:
  • 该方法的主要作用: 停止手持道具上播放特效
  • 具体使用案例如下:
lua
    local playerid = Player:GetHostUin()

    local result = Backpack:StopShortCutIxEffect(playerid, 1011)

PlayShortCutItemParticle

  • 参数及类型: rot:table:旋转 scale:table:缩放
  • 返回值及类型:
  • 该方法的主要作用: playerid:number:玩家ID,itemid:number:道具类型,effectid:number:特效ID,offset:table:偏移
  • 具体使用案例如下:
lua
    local playerid = Player:GetHostUin()

    -- 播放手持能量剑时候播放特效1011, 不偏移量, 不旋转, 不缩放

    local result = Backpack:PlayShortCutItemParticle(playerid, 12005, 1011)

StopShortCutItemEffect

  • 参数及类型:
  • 返回值及类型:
  • 该方法的主要作用: 删除玩家快捷栏上某种类型道具手持特效
  • 具体使用案例如下:
lua
    local playerid = Player:GetHostUin()

    -- 停止手持能量剑时候播放特效1011

    local result = Backpack:StopShortCutItemEffect(playerid, 12005, 1011)