道具百科
触发器百科
脚本API百科
创作手册
创作功能
其他
Studio百科
道具接口:Item
彼得兔 更新时间: 2023-04-26 10:26:18

继承自 Actor

具体函数名及描述如下:

序号 函数名 函数描述
1 getItemName(...) 获取道具名称
2 getItemId(...) 获取actor对应的道具ID,如球类等
3 getDropItemNum(...) 获取掉落物数量
4 randomItemID(...)
获取随机道具id
5 randomProjectileID(...)
获取随机投掷物id
6 getItemDesc(...)
获取道具类型描述
7 GetAttr(...)
获取道具属性
8 playAct(...)
微缩模型的掉落物播放动画

 

getItemName

  • 参数及类型:

  • 返回值及类型:

  • 该方法的主要作用:获取道具名称

  • 具体使用案例如下:

--获取id为1的物品的名称,参数1就是需要获取名称的物品id
local result,name=Item:getItemName(1)
--在聊天框显示
Chat:sendSystemMsg("id为1的物品的名字是:"..name)

getItemId

  • 参数及类型:

  • 返回值及类型:

  • 该方法的主要作用:获取actor对应的道具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

  • 参数及类型:

  • 返回值及类型:

  • 该方法的主要作用:获取掉落物数量

  • 具体使用案例如下:

--每当有玩家做动画表情,聊天框显示房主周围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

  • 参数及类型:
  • 返回值及类型:
    • ErrorCode.OK
    • itemid:number 随机道具id
  • 该方法的主要作用:获取随机道具id
  • 具体使用案例如下:
local result,blockid = Item:randomItemID()

 

randomProjectileID

  • 参数及类型:
  • 返回值及类型:
    • ErrorCode.OK
    • itemid:number 随机投掷物id
  • 该方法的主要作用:获取随机投掷物id
  • 具体使用案例如下:
local result,itemid = Item:randomProjectileID()

 

getItemDesc

  • 参数及类型:
    • itemid:number道具类型ID
  • 返回值及类型:
    • ErrorCode.OK
    • desc:number 道具类型描述
  • 该方法的主要作用:获取道具类型描述
  • 具体使用案例如下:
local result,desc = Item:getItemDesc(itemid)

 

GetAttr

  • 参数及类型:
    • itemid:number道具类型ID
    • attr:number道具属性枚举(ITEMATTR)
  • 返回值及类型:
    • ErrorCode.OK
    • value:number 属性值
  • 该方法的主要作用:获取道具属性
  • 具体使用案例如下:
local result,value = GetAttr(itemid,ITEMATTR.ATTACK)

 

playAct

  • 参数及类型:
    • objid:number掉落物objid
    • animid:number动作ID
    • playmode:number播放模式(ANIMMODE)
  • 返回值及类型:
    • ErrorCode.OK
  • 该方法的主要作用:掉落物播放动画
  • 具体使用案例如下:
local result = Item:playAct(objid,12,ITEMATTR.ATTACK) --指定掉落物循环播放跑动画

 

站点有内容要更新是否更新。
更新
忽略