# 背包管理接口 Backpack
在使用背包接口前需先创建背包管理对象,方法如下:(此处已废弃)
local Backpack = class.Backpack.new()
具体函数名及描述如下:
# getBackpackBarIDRange
- 参数及类型:
- bartype:
number
快捷栏枚举(BACKPACK_TYPE)
- bartype:
- 返回值及类型:
- 该方法的主要作用: 获取道具背包栏ID范围(起始ID~结束ID)
- 具体使用案例如下:
--获取快捷栏的物品格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
- 参数及类型:
- bartype:
number
快捷栏枚举(BACKPACK_TYPE)
- bartype:
- 返回值及类型:
- 该方法的主要作用: 获取道具背包栏大小
- 具体使用案例如下:
--获取背包栏总格数,参数为背包类型:1快捷栏 2储存栏 3装备栏
local result,size=Backpack:getBackpackBarSize(1)
--在聊天框显示
Chat:sendSystemMsg("快捷栏一共有"..size.."格")
# setGridItem
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 设置背包格道具
- 具体使用案例如下:
--给指定玩家的指定背包栏添加物品
--第一个参数1000为玩家迷你号
--第二个参数0为背包栏id,0为储存栏的第一格:0-29储存栏 1000-1007快捷栏 8000-8004装备栏
--第三个参数为要添加的物品id,12005是钻石剑
--第四个参数为要添加的物品数量
--最后一个参数为要添加的物品耐久,nil为默认满
Backpack:setGridItem(1000,0,12005,10,nil)
--在聊天框显示
Chat:sendSystemMsg("给迷你号为1000的玩家储存栏的第一格添加了10把钻石剑,耐久为满")
# removeGridItem
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 移除背包格内一定数量道具
- 具体使用案例如下:
--移除指定玩家的指定背包栏的物品
--第一个参数为玩家迷你号
--第二个参数0为背包栏id,0为储存栏的第一格:0-29储存栏 1000-1007快捷栏 8000-8004装备栏
--第三个参数为移除数量
Backpack:removeGridItem(1000,0,10)
--在聊天框显示
Chat:sendSystemMsg("移除了玩家1000的背包栏第一格10个物品")
# removeGridItemByItemID
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 移除背包内一定数量道具,通过道具ID移除,默认全部移除
- 具体使用案例如下:
--移除指定玩家背包里的指定物品
--第一个参数为玩家迷你号
--第二个参数为要移除的物品id,101为土块
--第三个参数为要移除的物品数量
local result,num=Backpack:removeGridItemByItemID(1000,101,50)
--在聊天框显示
Chat:sendSystemMsg("尝试移除玩家1000背包里的50个土块,实际移除了"..num.."个")
# clearPack
- 参数及类型:
- playerid:
number
玩家ID - bartype:
number
快捷栏枚举(BACKPACK_TYPE)BACKPACK_TYPE
- playerid:
- 返回值及类型:
- 该方法的主要作用: 清空指定背包栏
- 具体使用案例如下:
--清空指定玩家的背包物品
--第一个参数为玩家迷你号
--第二个参数为背包类型:1快捷栏 2储存栏 3装备栏
Backpack:clearPack(1000,1)
--在聊天框显示
Chat:sendSystemMsg("清空了玩家1000的快捷栏物品")
# clearAllPack
- 参数及类型:
- playerid:
number
玩家ID
- playerid:
- 返回值及类型:
- 该方法的主要作用: 清空全部背包(包含背包栏、快捷栏、装备栏)
- 具体使用案例如下:
--清空指定玩家的所有物品,包括快捷栏、储存栏和装备栏,参数为玩家迷你号
Backpack:clearAllPack(1000)
--在聊天框显示
Chat:sendSystemMsg("清空了玩家1000的所有物品,包括快捷栏、储存栏和装备栏")
# moveGridItem
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 移动背包道具,默认全部转移
- 具体使用案例如下:
--移动玩家背包物品到指定物品栏
--第一个参数为玩家迷你号
--第二个参数0为要移动的背包栏id,0为储存栏的第一格:0-29储存栏 1000-1007快捷栏 8000-8004装备栏
--第三个参数1000为移动至的背包栏id,0为储存栏的第一格:0-29储存栏 1000-1007快捷栏 8000-8004装备栏
--第四个参数为移动数量
local result=Backpack:moveGridItem(1000,0,1000,10)
if result==0 then--如果移动成功
--在聊天框显示
Chat:sendSystemMsg("把玩家1000的储存栏的第一格物品移动了10个到快捷栏第一格")
else--如果移动失败
--在聊天框显示
Chat:sendSystemMsg("玩家1000不在当前存档,或无法移动")
end
# swapGridItem
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 交换背包道具
- 具体使用案例如下:
--交换玩家两个物品栏的物品
--第一个参数为玩家迷你号
--后两个参数为要交换的背包栏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
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 背包(包含背包栏、快捷栏)是否有足够的空间存放一定数量的道具
- 具体使用案例如下:
--判断玩家背包(包括快捷栏和储存栏)是否能继续容纳指定数量的物品
--第一个参数为玩家迷你号
--第二个参数为要判断的物品id,101为土块
--第三个参数为物品数量
local result=Backpack:enoughSpaceForItem(1000,101,999)
if result==0 then--如果可以
--在聊天框显示
Chat:sendSystemMsg("玩家1000的背包可以继续容纳999个土块")
else--如果不可以或判断失败
--在聊天框显示
Chat:sendSystemMsg("玩家1000的背包无法继续容纳999个土块,或玩家1000不在当前存档")
end
# calcSpaceNumForItem
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 计算背包(包含背包栏、快捷栏)能存放的道具剩余总数量
- 具体使用案例如下:
--获取指定玩家的背包(包括快捷栏和储存栏)还能添加多少指定物品
--第一个参数为玩家迷你号
--第二个参数为要获取剩余容纳数量的物品,101为土块
local result,num=Backpack:calcSpaceNumForItem(1000,101)
if result==0 then--如果获取成功
--在聊天框显示
Chat:sendSystemMsg("玩家1000的背包还能添加"..num.."个土块")
else--如果获取失败
--在聊天框显示
Chat:sendSystemMsg("玩家1000不在当前存档")
end
# getBackpackBarValidList
- 参数及类型:
- playerid:
number
玩家ID - bartype:
number
快捷栏枚举(BACKPACK_TYPE)BACKPACK_TYPE
- playerid:
- 返回值及类型:
- 该方法的主要作用: 获取道具背包栏有效格ID列表(道具已存在),背包格ID数组
- 具体使用案例如下:
--获取指定玩家的背包中已有物品的格子id
--第一个参数为玩家迷你号
--第二个参数为背包栏类型:1快捷栏 2储存栏 3装备栏
local result,num,array=Backpack:getBackpackBarValidList(1000,2)
if result==0 then--如果获取成功
--在聊天框显示已有物品的格子数量
Chat:sendSystemMsg("玩家1000的储存栏一共有"..num.."格已经放置了物品")
for i,a in ipairs(array) do
--在聊天框显示格子id列表
Chat:sendSystemMsg("第"..i.."个有物品的物品格id:"..a)
end
else--如果获取失败
--在聊天框显示
Chat:sendSystemMsg("玩家1000不在当前存档")
end
# getBackpackBarItemList
- 参数及类型:
- playerid:
number
玩家ID - bartype:
number
快捷栏枚举(BACKPACK_TYPE)BACKPACK_TYPE
- playerid:
- 返回值及类型:
- 该方法的主要作用: 获取道具背包栏已拥有道具,道具ID数组
- 具体使用案例如下:
--获取指定玩家背包的物品列表
--第一个参数为玩家迷你号
--第二个参数为背包栏类型: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
- 参数及类型:
- playerid:
number
玩家ID - bartype:
number
快捷栏枚举(BACKPACK_TYPE)BACKPACK_TYPE - itemid:
number
道具类型
- playerid:
- 返回值及类型:
- 该方法的主要作用: 检测背包是否持有某个道具
- 具体使用案例如下:
--判断玩家背包是否包含某物品
--第一个参数为玩家迷你号
--第二个参数为背包栏类型:1快捷栏 2储存栏 3装备栏
--第三个参数为要判断的物品id,1是地心基石
local result,grid=Backpack:hasItemByBackpackBar(1000,1,1)
if result==0 and grid then--如果有
--在聊天框显示
Chat:sendSystemMsg("玩家1000的快捷栏里有地心基石,位置在"..grid)
else--如果没有或获取失败
--在聊天框显示
Chat:sendSystemMsg("玩家1000的快捷栏里没有地心基石或玩家1000不在当前存档")
end
# getItemNumByBackpackBar
- 参数及类型:
- playerid:
number
玩家ID - bartype:
number
快捷栏枚举(BACKPACK_TYPE)BACKPACK_TYPE - itemid:
number
道具类型
- playerid:
- 返回值及类型:
- 该方法的主要作用: 获取背包持有某个道具总数量,同时返回装有道具的背包格数组
- 具体使用案例如下:
--获取指定玩家的背包有多少个指定物品
--第一个参数为玩家迷你号
--第二个参数为背包栏类型:1快捷栏 2储存栏 3装备栏
--第三个参数为要获取的物品id,101为土块
local result,num,arr=Backpack:getItemNumByBackpackBar(1000,2,101)
if result==0 then--如果获取成功
--在聊天框显示物品数量
Chat:sendSystemMsg("玩家1000的储存栏里有"..num.."个土块")
for i,a in ipairs(arr) do
--在聊天框显示物品格列表
Chat:sendSystemMsg("有土块的第"..i.."个物品格id为:"..a)
end
else--如果获取失败
--在聊天框显示
Chat:sendSystemMsg("玩家1000不在当前存档")
end
# getGridItemID
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 获取背包格道具ID(返回itemid, num)
- 具体使用案例如下:
--获取指定玩家指定物品格的物品id和数量
--第一个参数为玩家迷你号
--第二个参数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..",数量为:"..num)
else--如果获取失败
--在聊天框显示
Chat:sendSystemMsg("玩家1000不在当前存档")
end
# getGridItemName
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 获取背包格道具名称
- 具体使用案例如下:
--获取指定玩家指定物品格的物品名称
--第一个参数为玩家迷你号
--第二个参数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
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 获取背包格道具堆叠数(返回curstack, maxstack)
- 具体使用案例如下:
--获取指定玩家指定背包物品格的物品堆叠数量和最大堆叠数
--第一个参数为玩家迷你号
--第二个参数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
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 获取背包格道具耐久度(返回durcur, durmax)
- 具体使用案例如下:
--获取指定玩家指定背包物品格的物品当前耐久值和最大耐久值
--第一个参数为玩家迷你号
--第二个参数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
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 获取背包格道具附魔,返回附魔id数组
- 具体使用案例如下:
--获取指定玩家背包中某格物品的附魔数量与id
--第一个参数为玩家迷你号
--第二个参数为背包栏id,1000为快捷栏的第一格:0-29储存栏 1000-1007快捷栏 8000-8004装备栏
local result,num,arr=Backpack:getGridEnchantList(1000,1000)
if result==0 then--如果获取成功
--在聊天框显示附魔数量
Chat:sendSystemMsg("玩家1000的快捷栏第一格物品附魔数量为"..num)
for i,a in ipairs(arr) do
--在聊天框显示附魔列表
Chat:sendSystemMsg("第"..i.."个附魔id为:"..a)
end
else--如果获取失败
--在聊天框显示
Chat:sendSystemMsg("玩家1000不在当前存档")
end
# getGridToolType
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 获取背包道具工具类型(
- 具体使用案例如下:
--获取指定玩家指定物品格的物品道具类型
--第一个参数为玩家迷你号
--第二个参数为背包栏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
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 添加道具到背包
- 具体使用案例如下:
--给指定玩家的背包添加物品
--第一个参数为玩家迷你号
--第二个参数为要添加的物品id,101为土块
--第三个参数为要添加的物品数量
local result,successNum=Backpack:addItem(1000,101,999)
if result==0 then--如果添加成功
--在聊天框显示
Chat:sendSystemMsg("尝试给玩家1000的背包添加999个土块,实际添加了"..successNum)
else--如果添加失败
--在聊天框显示
Chat:sendSystemMsg("玩家1000不在当前存档")
end
# discardItem
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 丢弃背包某个格子里的道具
- 具体使用案例如下:
--移除指定玩家的指定背包栏的物品
--第一个参数为玩家迷你号
--第二个参数0为背包栏id,0为储存栏的第一格:0-29储存栏 1000-1007快捷栏 8000-8004装备栏
--第三个参数为移除数量
Backpack:discardItem(1000,0,10)
--在聊天框显示
Chat:sendSystemMsg("移除了玩家1000的背包栏第一格10个物品")
# getGridNum
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 获取背包某个格子的道具数量
- 具体使用案例如下:
--获取指定玩家指定物品格的物品数量
--第一个参数为玩家迷你号
--第二个参数0为背包栏物品格id,0为储存栏的第一格:0-29储存栏 1000-1007快捷栏 8000-8004装备栏
local result,num=Backpack:getGridNum(1000,0)
if result==0 then--如果获取成功
--在聊天框显示
Chat:sendSystemMsg("玩家1000的背包储存栏的第一格物品数量为:"..num)
else--如果获取失败
--在聊天框显示
Chat:sendSystemMsg("玩家1000不在当前存档")
end
# actEquipUpByResID
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 玩家穿上装备
- 具体使用案例如下:
local code, equipid = Backpack:actEquipUpByResID(playerid, itemid)
if code == ErrorCode.OK then
print('执行成功', code, equipid )
else
print('执行失败')
end
# actEquipOffByEquipID
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 玩家脱下装备栏装备
- 具体使用案例如下:
local code = Backpack:actEquipOffByEquipID(playerid, equipid)
if code == ErrorCode.OK then
print('执行成功', code )
else
print('执行失败')
end
# actCreateEquip
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 创建装备
- 具体使用案例如下:
local code = Backpack:actCreateEquip(playerid, itemid)
if code == ErrorCode.OK then
print('执行成功', code )
else
print('执行失败')
end
# actDestructEquip
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 销毁装备
- 具体使用案例如下:
local code = Backpack:actDestructEquip(playerid, equipid)
if code == ErrorCode.OK then
print('执行成功', code )
else
print('执行失败')
end
# PlayShortCutIxEffect
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 设置当前手持道具上播放粒子特效
- 具体使用案例如下:
local code = Backpack:PlayShortCutIxEffect(playerid, effectid, scale)
if code == ErrorCode.OK then
print('执行成功', code )
else
print('执行失败')
end
# StopShortCutIxEffect
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 停止手持道具上播放特效
- 具体使用案例如下:
local code = Backpack:StopShortCutIxEffect(playerid, effectid)
if code == ErrorCode.OK then
print('执行成功', code )
else
print('执行失败')
end
# PlayShortCutItemEffect
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 设置快捷栏道具的粒子特效
- 具体使用案例如下:
local code = Backpack:PlayShortCutItemEffect(playerid, itemid, effectid, scale)
if code == ErrorCode.OK then
print('执行成功', code )
else
print('执行失败')
end
# StopShortCutItemEffect
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 移除快捷栏道具的粒子特效
- 具体使用案例如下:
local code = Backpack:StopShortCutItemEffect(playerid, itemid, effectid)
if code == ErrorCode.OK then
print('执行成功', code )
else
print('执行失败')
end