# 道具管理接口 Item
在使用道具接口前需先创建道具管理对象,方法如下:(此处已废弃)
local Item = class.Item.new()
具体函数名及描述如下:
序号 | 函数名 | 函数描述 |
---|---|---|
1 | getItemName(...) | 获取道具名称 |
2 | getItemId(...) | 获取掉落物的类型ID |
3 | getDropItemNum(...) | 获取掉落物数量 |
4 | randomItemID(...) | 在资源库里随机创建一个道具 |
5 | randomProjectileID(...) | 在资源库里随机创建一个投掷物 |
6 | getItemDesc(...) | 获取道具类型描述 |
7 | GetAttr(...) | 获取道具属性值 |
8 | playAct(...) | 微缩掉落落物或投掷物播放动作 |
# getItemName
- 参数及类型:
- itemid:
number
道具类型ID
- itemid:
- 返回值及类型:
- 该方法的主要作用: 获取道具名称
- 具体使用案例如下:
--获取id为1的物品的名称,参数1就是需要获取名称的物品id
local result,name=Item:getItemName(1)
--在聊天框显示
Chat:sendSystemMsg("id为1的物品的名字是:"..name)
# getItemId
- 参数及类型:
- objid:
number
掉落物objid
- objid:
- 返回值及类型:
- 该方法的主要作用: 获取掉落物的类型ID
- 具体使用案例如下:
--每当有玩家做动画表情,聊天框显示房主周围10格内其中一个掉落物的id
--当玩家做动画表情时执行此函数
local function Player_PlayAction(event)
--获取房主的坐标
local result,x,y,z=Player:getPosition(0)
--获取房主周围10格内的掉落物数量和列表
local result2,num,objids=World:getActorsByBox(3,x-10,y-10,z-10,x+10,y+10,z+10)
if num>0 then--如果存在掉落物
--获取掉落物列表中的第一个物品的id
local result3,itemid=Item:getItemId(objids[1])
--在聊天框显示
Chat:sendSystemMsg("附近10格发现掉落物品!其中一个物品id为"..itemid)
else--如果不存在掉落物
--在聊天框显示
Chat:sendSystemMsg("附近10格没有发现掉落物品!")
end
end
--注册动画表情监听器,当玩家做动画表情时执行上面的函数
ScriptSupportEvent:registerEvent([=[Player.PlayAction]=],Player_PlayAction)
# getDropItemNum
- 参数及类型:
- objid:
number
掉落物objid
- objid:
- 返回值及类型:
- 该方法的主要作用: 获取掉落物数量
- 具体使用案例如下:
--每当有玩家做动画表情,聊天框显示房主周围10格内其中一个掉落物的堆叠数量
--当玩家做动画表情时执行此函数
local function Player_PlayAction(event)
--获取房主的坐标
local result,x,y,z=Player:getPosition(0)
--获取房主周围10格内的掉落物数量和列表
local result2,num,objids=World:getActorsByBox(3,x-10,y-10,z-10,x+10,y+10,z+10)
if num>0 then--如果存在掉落物
--获取掉落物列表中的第一个物品的堆叠数量
local result3,itemnum=Item:getDropItemNum(objids[1])
--在聊天框显示
Chat:sendSystemMsg("附近10格发现掉落物品!其中一种物品有"..itemnum.."个堆叠在了一起")
else--如果不存在掉落物
--在聊天框显示
Chat:sendSystemMsg("附近10格没有发现掉落物品!")
end
end
--注册动画表情监听器,当玩家做动画表情时执行上面的函数
ScriptSupportEvent:registerEvent([=[Player.PlayAction]=],Player_PlayAction)
# randomItemID
- 参数及类型: 无
- 返回值及类型:
- 该方法的主要作用: 在资源库里随机创建一个道具
- 具体使用案例如下:
local code, itemid = Item:randomItemID()
if code == ErrorCode.OK then
print('执行成功', code, itemid )
else
print('执行失败')
end
# randomProjectileID
- 参数及类型: 无
- 返回值及类型:
- 该方法的主要作用: 在资源库里随机创建一个投掷物
- 具体使用案例如下:
local code, itemid = Item:randomProjectileID()
if code == ErrorCode.OK then
print('执行成功', code, itemid )
else
print('执行失败')
end
# getItemDesc
- 参数及类型:
- itemid:
number
道具类型ID
- itemid:
- 返回值及类型:
- 该方法的主要作用: 获取道具类型描述
- 具体使用案例如下:
local code, desc = Item:getItemDesc(itemid)
if code == ErrorCode.OK then
print('执行成功', code, desc )
else
print('执行失败')
end
# GetAttr
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 获取道具属性值
- 具体使用案例如下:
local code, value = Item:GetAttr(itemid, attr)
if code == ErrorCode.OK then
print('执行成功', code, value )
else
print('执行失败')
end
# playAct
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 微缩掉落落物或投掷物播放动作
- 具体使用案例如下:
local code = Item:playAct(objid, animid, playmode)
if code == ErrorCode.OK then
print('执行成功', code )
else
print('执行失败')
end