# Backpack Management

Before using the backpack API, please create backpack management objects. Methods are as follow:

local Backpack = class.Backpack.new()

The specific function name and description are as follows:

Serial number Function name Description
1 getBackpackBarIDRange(...) Get the range of backpack bar's ID(Start ID~End ID)
2 getBackpackBarSize(...) Get the size of backpack bar
3 setGridItem(...) Set the backpack
4 removeGridItem(...) Remove some items in backpack bar. Removed by item slots. All removed by default
5 removeGridItemByItemID(...) Remove some items in backpack bar. Removed by item ID. All removed by default
6 clearPack(...) Clear designate backpack bar
7 clearAllPack(...) Clear all the backpack(including backpack bar, shortcut bar, equip bar)
8 moveGridItem(...) Remove items in backpack. All transferred by default
9 swapGridItem(...) Exchange item backpack
10 enoughSpaceForItem(...) If there is enough space in backpack(including backpack bar, shortcut bar) to store items
11 calcSpaceNumForItem(...) Calculate the total number of remaining items that the backpack(including backpack bar, shortcut bar) can store
12 getBackpackBarValidList(...) Get valid list of items' ID which are already in backpack bar. Item ID
13 getBackpackBarItemList(...) Get items already in backpack bar. Item ID
14 hasItemByBackpackBar(...) Detect if there is any designated item in backpack
15 getItemNumByBackpackBar(...) Get the total number of items in backpack. Return to backpacks with items
16 getGridItemID(...) Obtain ID of items in backpack slots(Return to itemid, num)
17 getGridItemName(...) Get item name in backpack
18 getGridStack(...) Obtain the number of stacks in backpack slot(Back to curstack, maxstack)
19 getGridDurability(...) Obtain the durability of backpack slot(Back to durcur, durmax)
20 getGridEnchantList(...) Get enchantment of items in backpack. Return to enchantment ID.
21 getGridToolType(...) Get the item tool type in backpack (<0 means non-tool)
22 addItem(...) Add the item to backpack
23 discardItem(...) Discard an item in backpack slot
24 getGridNum(...) Get the number of items in one slot of backpack
25 actEquipUpByResID(...) put the equipment on the player 1.7+
26 actEquipOffByEquipID(...) take off the equipment from player 1.7+
27 actCreateEquip(...) Create equipment 1.7+
28 actDestructEquip(...) Destroy equipment 1.7+

# getBackpackBarIDRange

  • Parameters and types:
    • bartype:number backpack type, shortcut bar, saving bar,equipment bar
  • Return value and types:
  • The main role of this method: Get the range of backpack bar's ID(Start ID~End ID)
  • The specific use cases are as follows:
--获取快捷栏的物品格id,参数为背包栏类型:1快捷栏 2储存栏 3装备栏
local result,begid,endid=Backpack:getBackpackBarIDRange(1)
--在聊天框显示
Chat:sendSystemMsg("快捷栏的物品格id为:"..begid.."至"..endid)
--获取储存栏的物品格id
result,begid,endid=Backpack:getBackpackBarIDRange(2)
--在聊天框显示
Chat:sendSystemMsg("储存栏的物品格id为:"..begid.."至"..endid)
--装备栏的物品格id
result,begid,endid=Backpack:getBackpackBarIDRange(3)
--在聊天框显示
Chat:sendSystemMsg("装备栏的物品格id为:"..begid.."至"..endid)

# getBackpackBarSize

  • Parameters and types:
  • Return value and types:
  • The main role of this method: Get the size of backpack bar
  • The specific use cases are as follows:
--获取背包栏总格数,参数为 Backpack type:1快捷栏 2储存栏 3装备栏
local result,size=Backpack:getBackpackBarSize(1)
--在聊天框显示
Chat:sendSystemMsg("快捷栏一共有"..size.."格")

# setGridItem

  • Parameters and types:
  • Return value and types:
  • The main role of this method: Set the backpack
  • The specific use cases are as follows:
--给指定玩家的指定背包栏添加物品
--第一个参数1000为玩家迷你号
--第二个参数0为背包栏id,0为储存栏的第一格:0-29储存栏 1000-1007快捷栏 8000-8004装备栏
--第三个参数为要添加的物品id,12005是钻石剑
--第四个参数为要添加的物品 number
--最后一个参数为要添加的物品耐久,nil为默认满
Backpack:setGridItem(1000,0,12005,10,nil)
--在聊天框显示
Chat:sendSystemMsg("给迷你号为1000的玩家储存栏的第一格添加了10把钻石剑,耐久为满")

# removeGridItem

  • Parameters and types:
  • Return value and types:
  • The main role of this method: Remove some items in backpack bar. Removed by item slots. All removed by default
  • The specific use cases are as follows:
--移除指定玩家的指定背包栏的物品
--第一个参数为玩家迷你号
--第二个参数0为背包栏id,0为储存栏的第一格:0-29储存栏 1000-1007快捷栏 8000-8004装备栏
--第三个参数为移除 number
Backpack:removeGridItem(1000,0,10)
--在聊天框显示
Chat:sendSystemMsg("移除了玩家1000的背包栏第一格10个物品")

# removeGridItemByItemID

  • Parameters and types:
  • Return value and types:
  • The main role of this method: Remove some items in backpack bar. Removed by item ID. All removed by default
  • The specific use cases are as follows:
--移除指定玩家背包里的指定物品
--第一个参数为玩家迷你号
--第二个参数为要移除的物品id,101为土块
--第三个参数为要移除的物品 number
local result,num=Backpack:removeGridItemByItemID(1000,101,50)
--在聊天框显示
Chat:sendSystemMsg("尝试移除玩家1000背包里的50个土块,实际移除了"..num.."个")

# clearPack

  • Parameters and types:
  • Return value and types:
  • The main role of this method: Clear designate backpack bar
  • The specific use cases are as follows:
--清空指定玩家的背包物品
--第一个参数为玩家迷你号
--第二个参数为 Backpack type:1快捷栏 2储存栏 3装备栏
Backpack:clearPack(1000,1)
--在聊天框显示
Chat:sendSystemMsg("清空了玩家1000的快捷栏物品")

# clearAllPack

  • Parameters and types:
  • Return value and types:
  • The main role of this method: Clear all the backpack(including backpack bar, shortcut bar, equip bar)
  • The specific use cases are as follows:
--清空指定玩家的所有物品,包括快捷栏、储存栏和装备栏,参数为玩家迷你号
Backpack:clearAllPack(1000)
--在聊天框显示
Chat:sendSystemMsg("清空了玩家1000的所有物品,包括快捷栏、储存栏和装备栏")

# moveGridItem

  • Parameters and types:
  • Return value and types:
  • The main role of this method: Remove items in backpack. All transferred by default
  • The specific use cases are as follows:
--移动玩家背包物品到指定物品栏
--第一个参数为玩家迷你号
--第二个参数0为要移动的背包栏id,0为储存栏的第一格:0-29储存栏 1000-1007快捷栏 8000-8004装备栏
--第三个参数1000为移动至的背包栏id,0为储存栏的第一格:0-29储存栏 1000-1007快捷栏 8000-8004装备栏
--第四个参数为移动 number
local result=Backpack:moveGridItem(1000,0,1000,10)
if result==0 then--如果移动成功
	--在聊天框显示
	Chat:sendSystemMsg("把玩家1000的储存栏的第一格物品移动了10个到快捷栏第一格")
else--如果移动失败
	--在聊天框显示
	Chat:sendSystemMsg("玩家1000不在当前存档,或无法移动")
end

# swapGridItem

  • Parameters and types:
  • Return value and types:
  • The main role of this method: Exchange item backpack
  • The specific use cases are as follows:
--交换玩家两个物品栏的物品
--第一个参数为玩家迷你号
--后两个参数为要交换的背包栏id:0-29储存栏 1000-1007快捷栏 8000-8004装备栏
local result=Backpack:moveGridItem(1000,0,1000)
if result==0 then--如果交换成功
	--在聊天框显示
	Chat:sendSystemMsg("交换了玩家1000的储存栏第一格和快捷栏第一格的物品")
else--如果交换失败
	--在聊天框显示
	Chat:sendSystemMsg("玩家1000不在当前存档,或无法交换")
end

# enoughSpaceForItem

  • Parameters and types:
  • Return value and types:
  • The main role of this method: If there is enough space in backpack(including backpack bar, shortcut bar) to store items
  • The specific use cases are as follows:
--判断玩家背包(包括快捷栏和储存栏)是否能继续容纳指定 number的物品
--第一个参数为玩家迷你号
--第二个参数为要判断的物品id,101为土块
--第三个参数为物品 number
local result=Backpack:enoughSpaceForItem(1000,101,999)
if result==0 then--如果可以
	--在聊天框显示
	Chat:sendSystemMsg("玩家1000的背包可以继续容纳999个土块")
else--如果不可以或判断失败
	--在聊天框显示
	Chat:sendSystemMsg("玩家1000的背包无法继续容纳999个土块,或玩家1000不在当前存档")
end

# calcSpaceNumForItem

  • Parameters and types:
  • Return value and types:
  • The main role of this method: Calculate the total number of remaining items that the backpack(including backpack bar, shortcut bar) can store
  • The specific use cases are as follows:
--获取指定玩家的背包(包括快捷栏和储存栏)还能添加多少指定物品
--第一个参数为玩家迷你号
--第二个参数为要获取剩余容纳 number的物品,101为土块
local result,num=Backpack:calcSpaceNumForItem(1000,101)
if result==0 then--如果获取成功
	--在聊天框显示
	Chat:sendSystemMsg("玩家1000的背包还能添加"..num.."个土块")
else--如果获取失败
	--在聊天框显示
	Chat:sendSystemMsg("玩家1000不在当前存档")
end

# getBackpackBarValidList

  • Parameters and types:
  • Return value and types:
  • The main role of this method: Get valid list of items' ID which are already in backpack bar. Item ID
  • The specific use cases are as follows:
--获取指定玩家的背包中已有物品的格子id
--第一个参数为玩家迷你号
--第二个参数为背包栏类型:1快捷栏 2储存栏 3装备栏
local result,num,array=Backpack:getBackpackBarValidList(1000,2)
if result==0 then--如果获取成功
	--在聊天框显示已有物品的格子 number
	Chat:sendSystemMsg("玩家1000的储存栏一共有"..num.."格已经放置了物品")
	for i,a in ipairs(array) do
		--在聊天框显示格子id列表
		Chat:sendSystemMsg("第"..i.."个有物品的物品格id:"..a)
	end
else--如果获取失败
	--在聊天框显示
	Chat:sendSystemMsg("玩家1000不在当前存档")
end

# getBackpackBarItemList

  • Parameters and types:
  • Return value and types:
  • The main role of this method: Get items already in backpack bar. Item ID
  • The specific use cases are as follows:
--获取指定玩家背包的物品列表
--第一个参数为玩家迷你号
--第二个参数为背包栏类型:1快捷栏 2储存栏 3装备栏
local result,num,arr=Backpack:getBackpackBarItemList(1000,1)
if result==0 then--如果获取成功
	--在聊天框显示种类数
	Chat:sendSystemMsg("玩家1000的快捷栏一共有"..num.."种物品")
	for i,a in ipairs(arr) do
		--在聊天框显示物品id列表
		Chat:sendSystemMsg("第"..i.."种物品id:"..a)
	end
else--如果获取失败
	--在聊天框显示
	Chat:sendSystemMsg("玩家1000不在当前存档")
end

# hasItemByBackpackBar

  • Parameters and types:
  • Return value and types:
  • The main role of this method: Detect if there is any designated item in backpack
  • The specific use cases are as follows:
--判断玩家背包是否包含某物品
--第一个参数为玩家迷你号
--第二个参数为背包栏类型:1快捷栏 2储存栏 3装备栏
--第三个参数为要判断的物品id,1是地心基石
local result=Backpack:hasItemByBackpackBar(1000,1,1)
if result==0 then--如果有
	--在聊天框显示
	Chat:sendSystemMsg("玩家1000的快捷栏里有地心基石")
else--如果没有或获取失败
	--在聊天框显示
	Chat:sendSystemMsg("玩家1000的快捷栏里没有地心基石或玩家1000不在当前存档")
end

# getItemNumByBackpackBar

  • Parameters and types:
  • Return value and types:
  • The main role of this method: Get the total number of items in backpack. Return to backpacks with items
  • The specific use cases are as follows:
--获取指定玩家的背包有多少个指定物品
--第一个参数为玩家迷你号
--第二个参数为背包栏类型:1快捷栏 2储存栏 3装备栏
--第三个参数为要获取的物品id,101为土块
local result,num,arr=Backpack:getItemNumByBackpackBar(1000,2,101)
if result==0 then--如果获取成功
	--在聊天框显示物品 number
	Chat:sendSystemMsg("玩家1000的储存栏里有"..num.."个土块")
	for i,a in ipairs(arr) do
		--在聊天框显示物品格列表
		Chat:sendSystemMsg("有土块的第"..i.."个物品格id为:"..a)
	end
else--如果获取失败
	--在聊天框显示
	Chat:sendSystemMsg("玩家1000不在当前存档")
end

# getGridItemID

  • Parameters and types:
  • Return value and types:
  • The main role of this method: Obtain ID of items in backpack slots(Return to itemid, num)
  • The specific use cases are as follows:
--获取指定玩家指定物品格的物品id和 number
--第一个参数为玩家迷你号
--第二个参数0为背包栏物品格id,0为储存栏的第一格:0-29储存栏 1000-1007快捷栏 8000-8004装备栏
local result,itemid,num=Backpack:getGridItemID(1000,0)
if result==0 then--如果获取成功
	--在聊天框显示
	Chat:sendSystemMsg("玩家1000的背包储存栏的第一格物品id为:"..itemid..", number为:"..num)
else--如果获取失败
	--在聊天框显示
	Chat:sendSystemMsg("玩家1000不在当前存档")
end

# getGridItemName

  • Parameters and types:
  • Return value and types:
  • The main role of this method: Get item name in backpack
  • The specific use cases are as follows:
--获取指定玩家指定物品格的物品名称
--第一个参数为玩家迷你号
--第二个参数0为背包栏物品格id,0为储存栏的第一格:0-29储存栏 1000-1007快捷栏 8000-8004装备栏
local result,name=Backpack:getGridItemName(1000,0)
if result==0 then--如果获取成功
	--在聊天框显示
	Chat:sendSystemMsg("玩家1000的背包储存栏的第一格物品名称为:"..name)
else--如果获取失败
	--在聊天框显示
	Chat:sendSystemMsg("获取失败,可能是玩家1000不在当前存档")
end

# getGridStack

  • Parameters and types:
  • Return value and types:
  • The main role of this method: Obtain the number of stacks in backpack slot(Back to curstack, maxstack)
  • The specific use cases are as follows:
--获取指定玩家指定背包物品格的物品堆叠 number和最大堆叠数
--第一个参数为玩家迷你号
--第二个参数0为背包栏id,0为储存栏的第一格:0-29储存栏 1000-1007快捷栏 8000-8004装备栏
local result,num,maxstack=Backpack:getGridStack(1000,0)
if result==0 then--如果获取成功
	--在聊天框显示
	Chat:sendSystemMsg("玩家1000的背包储存栏第一格的物品当前堆叠了"..num.."个,该物品最大可以堆叠"..maxstack.."个")
else--如果获取失败
	--在聊天框显示
	Chat:sendSystemMsg("玩家1000不在当前存档")
end

# getGridDurability

  • Parameters and types:
  • Return value and types:
  • The main role of this method: Obtain the durability of backpack slot(Back to durcur, durmax)
  • The specific use cases are as follows:
--获取指定玩家指定背包物品格的物品当前耐久值和最大耐久值
--第一个参数为玩家迷你号
--第二个参数0为背包栏id,0为储存栏的第一格:0-29储存栏 1000-1007快捷栏 8000-8004装备栏
local result,durcur,durmax=Backpack:getGridDurability(1000,0)
if result==0 then--如果获取成功
	--在聊天框显示
	Chat:sendSystemMsg("玩家1000的背包储存栏第一格的物品的耐久值为"..durcur..",该物品最大耐久值为"..durmax)
else--如果获取失败
	--在聊天框显示
	Chat:sendSystemMsg("玩家1000不在当前存档")
end

# getGridEnchantList

  • Parameters and types:
  • Return value and types:
  • The main role of this method: Get enchantment of items in backpack. Return to enchantment ID.
  • The specific use cases are as follows:
--获取指定玩家背包中某格物品的附魔 number与id
--第一个参数为玩家迷你号
--第二个参数为背包栏id,1000为快捷栏的第一格:0-29储存栏 1000-1007快捷栏 8000-8004装备栏
local result,num,arr=Backpack:getGridEnchantList(1000,1000)
if result==0 then--如果获取成功
	--在聊天框显示附魔 number
	Chat:sendSystemMsg("玩家1000的快捷栏第一格物品附魔 number为"..num)
	for i,a in ipairs(arr) do
		--在聊天框显示附魔列表
		Chat:sendSystemMsg("第"..i.."个附魔id为:"..a)
	end
else--如果获取失败
	--在聊天框显示
	Chat:sendSystemMsg("玩家1000不在当前存档")
end

# getGridToolType

  • Parameters and types:
  • Return value and types:
  • The main role of this method: Get the item tool type in backpack (<0 means non-tool)
  • The specific use cases are as follows:
--获取指定玩家指定物品格的物品道具类型
--第一个参数为玩家迷你号
--第二个参数为背包栏id,1000为快捷栏的第一格:0-29储存栏 1000-1007快捷栏 8000-8004装备栏
--返回值可能是:-1非道具 1斧 2镐 3铲 4锄 6剑 7弓 14投掷 等
local result,type=Backpack:getGridToolType(1000,1000)
--在聊天框显示
Chat:sendSystemMsg("玩家1000快捷栏第一格物品类型为:(-1非道具 1斧 2镐 3铲 4锄 6剑 7弓 14投掷)"..type)

# addItem

  • Parameters and types:
  • Return value and types:
  • The main role of this method: Add the item to backpack
  • The specific use cases are as follows:
--给指定玩家的背包添加物品
--第一个参数为玩家迷你号
--第二个参数为要添加的物品id,101为土块
--第三个参数为要添加的物品 number
local result,successNum=Backpack:addItem(1000,101,999)
if result==0 then--如果添加成功
	--在聊天框显示
	Chat:sendSystemMsg("尝试给玩家1000的背包添加999个土块,实际添加了"..successNum)
else--如果添加失败
	--在聊天框显示
	Chat:sendSystemMsg("玩家1000不在当前存档")
end

# discardItem

  • Parameters and types:
  • Return value and types:
  • The main role of this method: Discard an item in backpack slot
  • The specific use cases are as follows:
--移除指定玩家的指定背包栏的物品
--第一个参数为玩家迷你号
--第二个参数0为背包栏id,0为储存栏的第一格:0-29储存栏 1000-1007快捷栏 8000-8004装备栏
--第三个参数为移除 number
Backpack:discardItem(1000,0,10)
--在聊天框显示
Chat:sendSystemMsg("移除了玩家1000的背包栏第一格10个物品")

# getGridNum

  • Parameters and types:
  • Return value and types:
  • The main role of this method: Get the number of items in one slot of backpack
  • The specific use cases are as follows:
--获取指定玩家指定物品格的物品 number
--第一个参数为玩家迷你号
--第二个参数0为背包栏物品格id,0为储存栏的第一格:0-29储存栏 1000-1007快捷栏 8000-8004装备栏
local result,num=Backpack:getGridNum(1000,0)
if result==0 then--如果获取成功
	--在聊天框显示
	Chat:sendSystemMsg("玩家1000的背包储存栏的第一格物品 number为:"..num)
else--如果获取失败
	--在聊天框显示
	Chat:sendSystemMsg("玩家1000不在当前存档")
end

# actEquipUpByResID 1.7+

  • Parameters and types:
  • Return value and types:
  • The main role of this method: put the equipment on the player
  • The specific use cases are as follows:
local result = Backpack:actEquipUpByResID(objid, resid)

# actEquipOffByEquipID 1.7+

  • Parameters and types:
  • Return value and types:
  • The main role of this method: take off the equipment from player
  • The specific use cases are as follows:
local result = Backpack:actEquipOffByEquipID(objid, equipid)

# actCreateEquip 1.7+

  • Parameters and types:
  • Return value and types:
  • The main role of this method: Create equipment
  • The specific use cases are as follows:
local result = Backpack:actCreateEquip(objid, resid)

# actDestructEquip 1.7+

  • Parameters and types:
  • Return value and types:
  • The main role of this method: Destroy equipment
  • The specific use cases are as follows:
local result = Backpack:actDestructEquip(objid, equipid)
Last Update: 9/7/2020, 10:19:13 PM