# Actor管理接口 Actor
在使用Actor接口前需先创建Actor管理对象,方法如下:(此处已废弃)
local Actor = class.Actor.new()
具体函数名及描述如下:
# isPlayer
- 参数及类型:
- objid:
number
对象的objid
- objid:
- 返回值及类型:
- 该方法的主要作用: 检测是否是玩家
- 具体使用案例如下:
--每当玩家攻击命中对象,判断被攻击的对象是不是玩家
--当玩家攻击命中时会执行此函数
local function Player_AttackHit(event)
--判断某对象是不是玩家,参数为对象在存档中的id
local result=Actor:isPlayer(event.toobjid)
if result==0 then--如果是玩家
--在聊天框显示
Chat:sendSystemMsg("objid为"..event.toobjid.."的对象是玩家")
else--如果不是玩家
--在聊天框显示
Chat:sendSystemMsg("objid为"..event.toobjid.."的对象不是玩家")
end
end
--注册监听器,玩家攻击命中时执行Player_AttackHit函数
ScriptSupportEvent:registerEvent([=[Player.AttackHit]=],Player_AttackHit)
# isMob
- 参数及类型:
- objid:
number
对象的objid
- objid:
- 返回值及类型:
- 该方法的主要作用: 检测是否是怪物
- 具体使用案例如下:
--每当玩家攻击命中对象,判断被攻击的对象是不是怪物
--当玩家攻击命中时会执行此函数
local function Player_AttackHit(event)
--判断某对象是不是怪物,参数为对象在存档中的id
local result=Actor:isMob(event.toobjid)
if result==0 then--如果是怪物
--在聊天框显示
Chat:sendSystemMsg("objid为"..event.toobjid.."的对象是怪物")
else--如果不是怪物
--在聊天框显示
Chat:sendSystemMsg("objid为"..event.toobjid.."的对象不是怪物")
end
end
--注册监听器,玩家攻击命中时执行Player_AttackHit函数
ScriptSupportEvent:registerEvent([=[Player.AttackHit]=],Player_AttackHit)
# getObjType
- 参数及类型:
- 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(0,x-10,y-10,z-10,x+10,y+10,z+10)
if num>0 then--如果获取到了对象
--获取对象列表中的第一个对象的类型,参数为要获取类型的对象在存档中的id
--返回值可能是:1玩家 2生物 3掉落物 4投掷物
local result3,objtype=Actor:getObjType(objids[1])
--在聊天框显示
Chat:sendSystemMsg("附近10格发现对象!其中一个对象类型为(1玩家 2生物 3掉落物 4投掷物)"..objtype)
else--如果获取失败
--在聊天框显示
Chat:sendSystemMsg("附近10格没有发现对象!")
end
end
--注册动画表情监听器,当玩家做动画表情时执行上面的函数
ScriptSupportEvent:registerEvent([=[Player.PlayAction]=],Player_PlayAction)
# isInAir
- 参数及类型:
- objid:
number
对象的objid
- objid:
- 返回值及类型:
- 该方法的主要作用: 对象是否在空中
- 具体使用案例如下:
--每当玩家攻击命中某对象,判断该对象是否在空中
--当玩家攻击命中时会执行此函数
local function Player_AttackHit(event)
--判断某对象是否在空中,参数为对象在存档中的id
local result=Actor:isInAir(event.toobjid)
if result==0 then--如果在空中
--在聊天框显示
Chat:sendSystemMsg("objid为"..event.toobjid.."的生物在空中")
else--如果不在空中
--在聊天框显示
Chat:sendSystemMsg("objid为"..event.toobjid.."的生物不在空中")
end
end
--注册监听器,玩家攻击命中时执行Player_AttackHit函数
ScriptSupportEvent:registerEvent([=[Player.AttackHit]=],Player_AttackHit)
# getPosition
- 参数及类型:
- objid:
number
对象的objid
- objid:
- 返回值及类型:
- 该方法的主要作用: 获取actor位置
- 具体使用案例如下:
--每当玩家攻击命中某对象,获取该对象的坐标
--当玩家攻击命中时会执行此函数
local function Player_AttackHit(event)
--获取某对象的坐标,参数为对象在存档中的id
local result,x,y,z=Actor:getPosition(event.toobjid)
--在聊天框显示
Chat:sendSystemMsg("objid为"..event.toobjid.."的生物的坐标为("..x..","..y..","..z..")")
end
--注册监听器,玩家攻击命中时执行Player_AttackHit函数
ScriptSupportEvent:registerEvent([=[Player.AttackHit]=],Player_AttackHit)
# getPositionV2
- 参数及类型:
- objid:
number
对象的objid
- objid:
- 返回值及类型:
- 该方法的主要作用: 获取actor位置
- 具体使用案例如下:
local code, pos = Actor:getPositionV2(objid)
if code == ErrorCode.OK then
print('执行成功', code, pos )
else
print('执行失败')
end
# setPosition
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 设置Actor对象位置
- 具体使用案例如下:
--每当玩家攻击命中某对象,设置该对象的位置
--当玩家攻击命中时会执行此函数
local function Player_AttackHit(event)
--设置指定对象的坐标
--第一个参数为对象在存档中的id
--后三个参数为要设置的坐标
Actor:setPosition(event.toobjid,10,20,10)
--在聊天框显示
Chat:sendSystemMsg("objid为"..event.toobjid.."的生物被设置到了(10,10)高度20的位置")
end
--注册监听器,玩家攻击命中时执行Player_AttackHit函数
ScriptSupportEvent:registerEvent([=[Player.AttackHit]=],Player_AttackHit)
# jump
- 参数及类型:
- objid:
number
对象的objid
- objid:
- 返回值及类型:
- 该方法的主要作用: 使玩家/生物跳跃一次
- 具体使用案例如下:
--每当玩家攻击命中某对象,让该对象跳跃
--当玩家攻击命中时会执行此函数
local function Player_AttackHit(event)
--让指定对象跳跃,参数为对象在存档中的id
Actor:jump(event.toobjid)
--在聊天框显示
Chat:sendSystemMsg("让objid为"..event.toobjid.."的生物跳跃了一次")
end
--注册监听器,玩家攻击命中时执行Player_AttackHit函数
ScriptSupportEvent:registerEvent([=[Player.AttackHit]=],Player_AttackHit)
# killSelf
--每当玩家攻击命中某生物,清除该生物
--当玩家攻击命中时会执行此函数
local function Player_AttackHit(event)
--清除指定生物,参数为生物在存档中的id
Actor:killSelf(event.toobjid)
--在聊天框显示
Chat:sendSystemMsg("清除了objid为"..event.toobjid.."的生物")
end
--注册监听器,玩家攻击命中时执行Player_AttackHit函数
ScriptSupportEvent:registerEvent([=[Player.AttackHit]=],Player_AttackHit)
# getCurPlaceDir
- 参数及类型:
- objid:
number
对象的objid
- objid:
- 返回值及类型:
- code:
number
成功(ErrorCode.OK)ErrorCode - dir:
number
朝向(FACE_DIRECTION枚举值)FACE_DIRECTION
- code:
- 该方法的主要作用: 获取对象当前朝向
- 具体使用案例如下:
--每当玩家攻击命中某生物,获取该生物的朝向
--当玩家攻击命中时会执行此函数
local function Player_AttackHit(event)
--获取指定生物的朝向,参数为生物在存档中的id
--返回值可能是:0西 1东 2南 3北 4下 5上
local result,dir=Actor:getCurPlaceDir(event.toobjid)
--在聊天框显示
Chat:sendSystemMsg("objid为"..event.toobjid.."的生物当前朝向为(0西 1东 2南 3北 4下 5上)"..dir)
end
--注册监听器,玩家攻击命中时执行Player_AttackHit函数
ScriptSupportEvent:registerEvent([=[Player.AttackHit]=],Player_AttackHit)
# tryMoveToActor
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 使对象向目标行动者移动(如果执行对象是刚创建出来的需要加个等待时间)
- 具体使用案例如下:
--每当玩家攻击命中某生物,让该生物向另一生物移动
--当玩家攻击命中时会执行此函数
local function Player_AttackHit(event)
--让指定生物向另一生物移动
--第一个参数为要移动的生物在存档中的id
--第二个参数为移动目标生物在存档中的id
--第三个参数为移动速度
Actor:tryMoveToActor(event.toobjid,event.eventobjid,3)
--在聊天框显示
Chat:sendSystemMsg("让objid为"..event.toobjid.."的生物向objid为"..event.eventobjid.."的生物移动,速度为3")
end
--注册监听器,玩家攻击命中时执行Player_AttackHit函数
ScriptSupportEvent:registerEvent([=[Player.AttackHit]=],Player_AttackHit)
# tryMoveToPos
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 向目标位置移动(如果执行对象是刚创建出来的需要加个等待时间)
- 具体使用案例如下:
--每当玩家攻击命中某生物,让该生物移动至某位置
--当玩家攻击命中时会执行此函数
local function Player_AttackHit(event)
--让某生物移动至某坐标
--第一个参数为要移动的生物在存档中的id
--中间三个参数10,7,10为要移动至的坐标
--最后一个参数为移动速度
Actor:tryMoveToPos(event.toobjid,10,7,10,3)
--在聊天框显示
Chat:sendSystemMsg("让objid为"..event.toobjid.."的生物移动至(10,10)高度7的位置,速度为3")
end
--注册监听器,玩家攻击命中时执行Player_AttackHit函数
ScriptSupportEvent:registerEvent([=[Player.AttackHit]=],Player_AttackHit)
# addHP
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 增加对象当前生命量
- 具体使用案例如下:
--每当玩家做动画表情,给该玩家增加生命值
--当玩家做动画表情时执行此函数
local function Player_PlayAction(event)
--给指定生物增加生命值
--第一个参数为生物在存档中的id,可以是玩家迷你号
--第二个参数为要增加的生命值
Actor:addHP(event.eventobjid,10)
--在聊天框显示
Chat:sendSystemMsg("给objid为"..event.eventobjid.."的生物增加了10点生命值")
end
--注册一个动画表情监听器,事件发生时执行上面的函数
ScriptSupportEvent:registerEvent([=[Player.PlayAction]=],Player_PlayAction)
# getHP
- 参数及类型:
- objid:
number
生物对象objid
- objid:
- 返回值及类型:
- 该方法的主要作用: 获取对象的生命量
- 具体使用案例如下:
--每当玩家做动画表情,获取该玩家当前生命值
--当玩家做动画表情时执行此函数
local function Player_PlayAction(event)
--获取指定生物的当前生命值,参数为生物在存档中的id,可以是玩家迷你号,0是房主
local result,value = Actor:getHP(event.eventobjid)
--在聊天框显示
Chat:sendSystemMsg("objid为"..event.eventobjid.."的生物当前生命值为:"..value)
end
--注册一个动画表情监听器,事件发生时执行上面的函数
ScriptSupportEvent:registerEvent([=[Player.PlayAction]=],Player_PlayAction)
# getMaxHP
- 参数及类型:
- objid:
number
生物对象objid
- objid:
- 返回值及类型:
- 该方法的主要作用: 获取对象最大生命量
- 具体使用案例如下:
--每当玩家做动画表情,获取该玩家最大生命值
--当玩家做动画表情时执行此函数
local function Player_PlayAction(event)
--获取指定生物的最大生命值,参数为生物在存档中的id,可以是玩家迷你号,0是房主
local result,value=getMaxHP(event.eventobjid)
--在聊天框显示
Chat:sendSystemMsg("objid为"..event.eventobjid.."的生物最大生命值为:"..value)
end
--注册一个动画表情监听器,事件发生时执行上面的函数
ScriptSupportEvent:registerEvent([=[Player.PlayAction]=],Player_PlayAction)
# addOxygen
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 增加对象的氧气值
- 具体使用案例如下:
--每当玩家做动画表情,增加该玩家氧气值
--当玩家做动画表情时执行此函数
local function Player_PlayAction(event)
--增加指定生物的氧气值
--第一个参数为生物在存档中的id,可以是玩家迷你号
--第二个参数为要增加的值
Actor:addOxygen(event.eventobjid,10)
--在聊天框显示
Chat:sendSystemMsg("objid为"..event.eventobjid.."的生物氧气值增加了10")
end
--注册一个动画表情监听器,事件发生时执行上面的函数
ScriptSupportEvent:registerEvent([=[Player.PlayAction]=],Player_PlayAction)
# getOxygen
- 参数及类型:
- objid:
number
生物对象objid
- objid:
- 返回值及类型:
- 该方法的主要作用: 获取对象的氧气值
- 具体使用案例如下:
--每当玩家做动画表情,获取该玩家当前氧气值
--当玩家做动画表情时执行此函数
local function Player_PlayAction(event)
--获取指定生物的当前氧气值,参数为生物在存档中的id,可以是玩家迷你号,0是房主
local result,value=getOxygen(event.eventobjid)
--在聊天框显示
Chat:sendSystemMsg("objid为"..event.eventobjid.."的生物当前氧气值为:"..value)
end
--注册一个动画表情监听器,事件发生时执行上面的函数
ScriptSupportEvent:registerEvent([=[Player.PlayAction]=],Player_PlayAction)
# addEnchant
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 增加装备镶嵌
- 具体使用案例如下:
--每当玩家做动画表情,给该玩家的装备添加附魔
--当玩家做动画表情时执行此函数
local function Player_PlayAction(event)
--给指定玩家的装备添加附魔
--第一个参数为生物在存档中的id,可以是玩家迷你号
--第二个参数为装备栏id:0头饰 1胸甲 2裤子 3鞋子 4披风 5手中持有的物品
--后两个参数为附魔和附魔等级,具体可以在“迷你世界ID查询”的“附魔表数据”中查看
Actor:addEnchant(event.eventobjid,5,10,5)
--在聊天框显示
Chat:sendSystemMsg("objid为"..event.eventobjid.."的生物手中的物品被添加了点燃5的附魔")
end
--注册一个动画表情监听器,事件发生时执行上面的函数
ScriptSupportEvent:registerEvent([=[Player.PlayAction]=],Player_PlayAction)
# removeEnchant
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 移除装备镶嵌
- 具体使用案例如下:
--每当玩家做动画表情,移除指定装备的附魔
--当玩家做动画表情时执行此函数
local function Player_PlayAction(event)
--移除指定生物的指定装备的指定附魔
--第一个参数为生物在存档中的id,可以是玩家迷你号
--第二个参数为装备栏id:0头饰 1胸甲 2裤子 3鞋子 4披风 5手中持有的物品
--第三个参数为要移除的附魔,具体可以在“迷你世界ID查询”的“附魔表数据”中查看
Actor:removeEnchant(event.eventobjid,5,10)
--在聊天框显示
Chat:sendSystemMsg("移除了objid为"..event.eventobjid.."的生物手持物品的点燃附魔")
end
--注册一个动画表情监听器,事件发生时执行上面的函数
ScriptSupportEvent:registerEvent([=[Player.PlayAction]=],Player_PlayAction)
# findNearestBlock
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 寻找对象附近某个类型方块的最近位置
- 具体使用案例如下:
local code, x,y,z = Actor:findNearestBlock(objid, blockid, blockRange)
if code == ErrorCode.OK then
print('执行成功', code, x,y,z )
else
print('执行失败')
end
# setFaceYaw
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 设置actor横向旋转偏移角度
- 具体使用案例如下:
--每当玩家攻击命中生物,设置被命中生物的朝向
--当玩家攻击命中时会执行此函数
local function Player_AttackHit(event)
--设置指定玩家的朝向
--第一个参数为生物在存档中的id
--第二个参数为要设置的偏移角度,0为南方,从南向西角度递增
Actor:setFaceYaw(event.toobjid,0)
--在聊天框显示
Chat:sendSystemMsg("objid为"..event.toobjid.."的生物朝向被设置为了南方")
end
--注册监听器,玩家攻击命中时执行Player_AttackHit函数
ScriptSupportEvent:registerEvent([=[Player.AttackHit]=],Player_AttackHit)
# getFaceYaw
- 参数及类型:
- objid:
number
生物对象objid
- objid:
- 返回值及类型:
- 该方法的主要作用: 获取actor横向旋转偏移角度
- 具体使用案例如下:
--获取指定生物的朝向偏转角度,参数为生物在存档中的id,可以是玩家迷你号,0是房主
local result,yaw=Actor:getFaceYaw(0)
--在聊天框显示
Chat:sendSystemMsg("房主的朝向偏转角度为"..yaw)
# turnFaceYaw
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 转动actor横向偏移角度
- 具体使用案例如下:
--玩家以攻击命中生物的方式选中要旋转的对象,之后每次做动画表情,该生物都会旋转90度
local objid--储存生物id的变量
--当玩家攻击命中时会执行此函数
local function Player_AttackHit(event)
--把命中的生物id赋值给上面的变量
objid=event.toobjid
--在聊天框显示
Chat:sendSystemMsg("选中了"..event.toobjid..",现在每次做动画表情该生物都会旋转90度")
end
--注册监听器,玩家攻击命中时执行Player_AttackHit函数
ScriptSupportEvent:registerEvent([=[Player.AttackHit]=],Player_AttackHit)
--当玩家做动画表情时执行此函数
local function Player_PlayAction(event)
--旋转指定生物某一角度
--第一个参数为生物在存档中的id
--第二个参数为要旋转的角度
Actor:turnFaceYaw(objid,90)
--在聊天框显示
Chat:sendSystemMsg("生物"..objid.."被旋转了90度")
end
--注册一个动画表情监听器,事件发生时执行上面的函数
ScriptSupportEvent:registerEvent([=[Player.PlayAction]=],Player_PlayAction)
# setFacePitch
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 设置actor视角仰望角度
- 具体使用案例如下:
--每当玩家攻击命中生物,设置被命中生物的竖直朝向
--当玩家攻击命中时会执行此函数
local function Player_AttackHit(event)
--设置指定玩家的竖直朝向
--第一个参数为生物在存档中的id
--第二个参数为要设置的偏移角度,0为正前方,仰视为正,俯视为负
Actor:setFacePitch(event.toobjid,0)
--在聊天框显示
Chat:sendSystemMsg("objid为"..event.toobjid.."的生物竖直朝向被设置为了正前方")
end
--注册监听器,玩家攻击命中时执行Player_AttackHit函数
ScriptSupportEvent:registerEvent([=[Player.AttackHit]=],Player_AttackHit)
# getFacePitch
- 参数及类型:
- objid:
number
生物对象objid
- objid:
- 返回值及类型:
- 该方法的主要作用: 获取actor视角仰望角度
- 具体使用案例如下:
--获取指定生物的竖直朝向偏转角度,参数为生物在存档中的id,可以是玩家迷你号,0是房主
local result,pitch=Actor:getFacePitch(0)
--在聊天框显示
Chat:sendSystemMsg("房主的竖直朝向偏转角度为"..pitch)
# turnFacePitch
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 转动actor仰望偏移角度
- 具体使用案例如下:
--玩家以攻击命中生物的方式选中要旋转的对象,之后每次做动画表情,该生物的竖直朝向都会旋转90度
local objid--储存生物id的变量
--当玩家攻击命中时会执行此函数
local function Player_AttackHit(event)
--把命中的生物id赋值给上面的变量
objid=event.toobjid
--在聊天框显示
Chat:sendSystemMsg("选中了"..event.toobjid..",现在每次做动画表情该生物的竖直朝向都会旋转90度")
end
--注册监听器,玩家攻击命中时执行Player_AttackHit函数
ScriptSupportEvent:registerEvent([=[Player.AttackHit]=],Player_AttackHit)
--当玩家做动画表情时执行此函数
local function Player_PlayAction(event)
--旋转指定生物的竖直朝向某一角度
--第一个参数为生物在存档中的id
--第二个参数为要旋转的角度
Actor:turnFacePitch(objid,90)
--在聊天框显示
Chat:sendSystemMsg("生物"..objid.."的竖直朝向被旋转了90度")
end
--注册一个动画表情监听器,事件发生时执行上面的函数
ScriptSupportEvent:registerEvent([=[Player.PlayAction]=],Player_PlayAction)
# playBodyEffect
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 对象播放特效
- 具体使用案例如下:
--给指定生物添加特效
--第一个参数为生物在存档中的id,可以是玩家迷你号,0是房主
--第二个参数为要添加的特效id,大致从1000开始
Actor:playBodyEffect(0,1027)
--在聊天框显示
Chat:sendSystemMsg("房主被添加了特效1027")
# stopBodyEffect
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 对象停止特效
- 具体使用案例如下:
--取消指定生物的特效
--第一个参数为生物在存档中的id,可以是玩家迷你号,0是房主
--第二个参数为要取消的特效id,大致从1000开始
Actor:stopBodyEffect(0,1027)
--在聊天框显示
Chat:sendSystemMsg("房主被取消了特效1027")
# playBodyEffectByFile
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 播放文件特效
- 具体使用案例如下:
local code = Actor:playBodyEffectByFile(objid, filename, sync)
if code == ErrorCode.OK then
print('执行成功', code )
else
print('执行失败')
end
# stopBodyEffectByFile
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 停止文件特效
- 具体使用案例如下:
local code = Actor:stopBodyEffectByFile(objid, filename)
if code == ErrorCode.OK then
print('执行成功', code )
else
print('执行失败')
end
# playSound
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 对象播放声音
- 具体使用案例如下:
local code = Actor:playSound(objid, name, volume, pitch, flag)
if code == ErrorCode.OK then
print('执行成功', code )
else
print('执行失败')
end
# playSoundSpecial
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 播放声音(特定类型:GSOUND_TYPE)
- 具体使用案例如下:
local code = Actor:playSoundSpecial(objid, name, type)
if code == ErrorCode.OK then
print('执行成功', code )
else
print('执行失败')
end
# clearActorWithId
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 清除生物ID为actorid的生物
- 具体使用案例如下:
--清除存档指定生物
--第一个参数为要清除的生物id,3402是猪,具体可以在“迷你世界ID查询”的“生物表数据”中查看
--第二个参数为是否显示死亡效果:true显示 false直接消失
Actor:clearActorWithId(3402,false)
--在聊天框显示
Chat:sendSystemMsg("清除了存档里所有的猪")
# setAttackType
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 设置伤害类型
- 具体使用案例如下:
local code = Actor:setAttackType(objid, attacktype)
if code == ErrorCode.OK then
print('执行成功', code )
else
print('执行失败')
end
# setImmuneType
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 设置免疫伤害类型
- 具体使用案例如下:
local code = Actor:setImmuneType(objid, immunetype, enable)
if code == ErrorCode.OK then
print('执行成功', code )
else
print('执行失败')
end
# mountActor
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 使对象登上、脱离载具
- 具体使用案例如下:
--每当玩家攻击命中生物,玩家骑乘被命中生物
--当玩家攻击命中时会执行此函数
local function Player_AttackHit(event)
--让指定生物骑乘另一生物
--第一个参数为骑乘的生物在存档中的id,可以为玩家迷你号
--第二个参数为被骑乘生物在存档中的id
--第三个参数为骑乘位
Actor:mountActor(event.eventobjid,event.toobjid,0)
--在聊天框显示
Chat:sendSystemMsg("objid为"..event.eventobjid.."的生物骑乘坐骑objid为"..event.toobjid)
end
--注册监听器,玩家攻击命中时执行Player_AttackHit函数
ScriptSupportEvent:registerEvent([=[Player.AttackHit]=],Player_AttackHit)
# setActionAttrState
- 参数及类型:
- objid:
number
生物对象objid - actionattr:
number
权限属性枚举(PLAYERATTR.ENABLE_MOVE)PLAYERATTR - switch:
boolean
是否开启
- objid:
- 返回值及类型:
- 该方法的主要作用: 设置生物行为属性状态
- 具体使用案例如下:
--设置生物的属性
--第一个参数为生物在存档中的id,可以是玩家迷你号,0是房主
--第二个参数为要设置的属性,1是移动,具体可以在“游戏数据类型”的“生物属性设置”中查看
--第三个参数为设置:true可以 false不可
Actor:setActionAttrState(0,1,false)
--在聊天框显示
Chat:sendSystemMsg("房主被设置为不可移动")
# getActionAttrState
- 参数及类型:
- objid:
number
生物对象objid - actionattr:
number
权限属性枚举(PLAYERATTR.ENABLE_MOVE)PLAYERATTR
- objid:
- 返回值及类型:
- 该方法的主要作用: 获取生物行为属性状态
- 具体使用案例如下:
--获取指定生物的属性
--第一个参数为生物在存档中的id,可以是玩家迷你号,0是房主
--第二个参数为要获取的属性,1是移动,具体可以在“游戏数据类型”的“生物属性设置”中查看
local result=Actor:getActionAttrState(0,1)
if result==0 then--如果可以
--在聊天框显示
Chat:sendSystemMsg("房主当前可移动")
else--如果不可以
--在聊天框显示
Chat:sendSystemMsg("房主当前不可移动")
end
# tryNavigationToPos
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 寻路到目标位置
- 具体使用案例如下:
local code = Actor:tryNavigationToPos(objid, x, y, z, cancontrol, bshowtip)
if code == ErrorCode.OK then
print('执行成功', code )
else
print('执行失败')
end
# randomActorID
- 参数及类型: 无
- 返回值及类型:
- 该方法的主要作用: 在资源库里随机创建一个生物
- 具体使用案例如下:
--随机生成一个生物id,返回值可以在“迷你世界ID查询”的“生物表数据”中查看
local result,id=Actor:randomActorID()
--在聊天框显示
Chat:sendSystemMsg("随机选取了一个生物id"..id)
# getRidingActorObjId
- 参数及类型:
- objid:
number
生物对象objid
- objid:
- 返回值及类型:
- 该方法的主要作用: 获取骑乘生物的objid
- 具体使用案例如下:
--获取指定生物的骑乘坐骑在存档中的id
--参数为生物在存档中的id,可以是玩家迷你号,0是房主
local result,objid=Actor:getRidingActorObjId(0)
if objid==0 then--如果没有坐骑
--在聊天框显示
Chat:sendSystemMsg("房主当前没有骑乘坐骑")
else--如果正在骑乘坐骑
--在聊天框显示
Chat:sendSystemMsg("房主当前骑乘的坐骑在存档中的objid为:"..objid)
end
# playBodyEffectById
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 在指定对象身上播放粒子特效
- 具体使用案例如下:
--给指定生物添加特效
--第一个参数为生物在存档中的id,可以是玩家迷你号,0是房主
--第二个参数为要添加的特效id,大致从1000开始
--第三个参数为特效的缩放比例
Actor:playBodyEffectById(0,1029,1)
--在聊天框显示
Chat:sendSystemMsg("给房主添加了1029特效,缩放比例为1")
# stopBodyEffectById
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 停止指定对象身上的粒子特效
- 具体使用案例如下:
--停止指定生物的某特效
--第一个参数为生物在存档中的id,可以是玩家迷你号,0是房主
--第二个参数为要停止的特效id,大致从1000开始
Actor:stopBodyEffectById(0,1029)
--在聊天框显示
Chat:sendSystemMsg("停止了房主的1029特效")
# setBodyEffectScale
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 设置指定对象身上的特效大小
- 具体使用案例如下:
--给房主添加特效
Actor:playBodyEffectById(0,1029,1)
--在聊天框显示
Chat:sendSystemMsg("给房主添加了1029特效,缩放比例为1")
--设置生物指定特效的缩放比例
--第一个参数为生物在存档中的id,可以是玩家迷你号,0是房主
--第二个参数为要缩放的特效id,大致从1000开始
--第三个参数为缩放比例
Actor:setBodyEffectScale(0,1029,2)
--在聊天框显示
Chat:sendSystemMsg("把房主的1029特效放大了两倍")
# playSoundEffectById
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 在指定对象身上播放音效
- 具体使用案例如下:
--给指定生物播放音乐
--第一个参数为生物在存档中的id,可以是玩家迷你号,0是房主
--第二个参数10713为播放的音效id,具体可以在“迷你世界ID查询”的“音效表数据”里查看
--后三个参数分别是:音量、音高、是否循环播放
Actor:playSoundEffectById(0,10713,100,1,false)
--在聊天框显示
Chat:sendSystemMsg("正在给房主播放音乐")
# stopSoundEffectById
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 停止指定对象身上的音效
- 具体使用案例如下:
--给房主播放音乐
Actor:playSoundEffectById(0,10713,100,1,false)
--在聊天框显示提示
Chat:sendSystemMsg("正在给房主播放音乐,做动画表情即可停止播放")
--当玩家做动画表情时执行此函数
local function Player_PlayAction(event)
--停止音乐10713对房主的播放
--第一个参数为生物在存档中的id,可以是玩家迷你号,0是房主
--第二个参数为要停止播放的音乐id,具体可以在“迷你世界ID查询”的“音效表数据”里查看
Actor:stopSoundEffectById(0,10713)
--在聊天框显示
Chat:sendSystemMsg("停止了音乐10713对房主的播放")
end
--注册一个动画表情监听器,事件发生时执行上面的函数
ScriptSupportEvent:registerEvent([=[Player.PlayAction]=],Player_PlayAction)
# appendSpeed
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 给对象附加一个速度
- 具体使用案例如下:
--给指定生物附加一个速度
--第一个参数为生物在存档中的id,可以是玩家迷你号,0是房主
--后三个参数分别为向东、上、北三个方向的分速度,可以为负
Actor:appendSpeed(0,5,6,7)
--在聊天框显示
Chat:sendSystemMsg("房主被弹了出去,向东、上、北方向的速度分别为5,6,7")
# setFaceDirection
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 设置对象朝向
- 具体使用案例如下:
local code = Actor:setFaceDirection(objid, x, y, z)
if code == ErrorCode.OK then
print('执行成功', code )
else
print('执行失败')
end
# getFaceDirection
- 参数及类型:
- objid:
number
对象objid
- objid:
- 返回值及类型:
- 该方法的主要作用: 获取actor朝向
- 具体使用案例如下:
--获取指定生物在各个方向的朝向,参数为生物在存档中的id,可以是玩家迷你号,0是房主
local result,dirx,diry,dirz=Actor:getFaceDirection(0)
--在聊天框显示
Chat:sendSystemMsg("房主当前在东西方向偏移"..dirx..",在上下方向偏移"..diry..",在南北方向偏移"..dirz)
# calcDirectionByDirection
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 通过对象的局部坐标方向计算绝对方向
- 具体使用案例如下:
local code, pos = Actor:calcDirectionByDirection(objid, x, y, z)
if code == ErrorCode.OK then
print('执行成功', code, pos )
else
print('执行失败')
end
# calcDirectionByAngle
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 通过对象局部球坐标方向计算绝对方向
- 具体使用案例如下:
local code, pos = Actor:calcDirectionByAngle(objid, yaw, pitch)
if code == ErrorCode.OK then
print('执行成功', code, pos )
else
print('执行失败')
end
# calcDirectionByYawDirection
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 通过局部坐标方向计算绝对正方向(忽略视角仰角)
- 具体使用案例如下:
local code, pos = Actor:calcDirectionByYawDirection(objid, x, y, z)
if code == ErrorCode.OK then
print('执行成功', code, pos )
else
print('执行失败')
end
# calcDirectionByYawAngle
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 通过局部球坐标方向计算绝对正方向(忽略视角仰角)
- 具体使用案例如下:
local code, pos = Actor:calcDirectionByYawAngle(objid, yaw, pitch)
if code == ErrorCode.OK then
print('执行成功', code, pos )
else
print('执行失败')
end
# getEyeHeight
- 参数及类型:
- objid:
number
对象objid
- objid:
- 返回值及类型:
- 该方法的主要作用: 获取眼睛高度
- 具体使用案例如下:
--获取指定生物的眼睛高度,参数为生物在存档中的id,可以是玩家迷你号,0是房主
local result,height=Actor:getEyeHeight(0)
--在聊天框显示
Chat:sendSystemMsg("房主的眼睛高度为"..height)
# getEyePosition
- 参数及类型:
- objid:
number
对象objid
- objid:
- 返回值及类型:
- 该方法的主要作用: 获取眼睛位置
- 具体使用案例如下:
--获取指定生物的眼睛坐标,参数为生物在存档中的id,可以是玩家迷你号,0是房主
local result,x,y,z=Actor:getEyePosition(0)
--在聊天框显示
Chat:sendSystemMsg("房主眼睛坐标为:("..x..","..y..","..z..")")
# getBodySize
- 参数及类型:
- objid:
number
对象objid
- objid:
- 返回值及类型:
- 该方法的主要作用: 获取对象身体尺寸
- 具体使用案例如下:
--获取指定生物的尺寸,参数为生物在存档中的id,可以是玩家迷你号,0是房主
local result,w,h=Actor:getBodySize(0)
--在聊天框显示
Chat:sendSystemMsg("房主身体宽:"..w..",高:"..h)
# playAct
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 对象播放动作
- 具体使用案例如下:
--让指定生物播放动画表情
--第一个参数为生物在存档中的id,可以是玩家迷你号,0是房主
--第二个参数为动作表情id,具体可以在“迷你世界ID查询”的“动作表数据”查询
Actor:playAct(0,1)
--在聊天框显示
Chat:sendSystemMsg("让房主播放打招呼动作")
# shownickname
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 设置对象昵称是否显示
- 具体使用案例如下:
local code = Actor:shownickname(objid, bshow)
if code == ErrorCode.OK then
print('执行成功', code )
else
print('执行失败')
end
# setnickname
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 设置对象昵称
- 具体使用案例如下:
local code = Actor:setnickname(objid, nickname)
if code == ErrorCode.OK then
print('执行成功', code )
else
print('执行失败')
end
# getActorFacade
- 参数及类型:
- objid:
number
对象ID
- objid:
- 返回值及类型:
- 该方法的主要作用: 获取对象外观描述
- 具体使用案例如下:
local code, modleName = Actor:getActorFacade(objid)
if code == ErrorCode.OK then
print('执行成功', code, modleName )
else
print('执行失败')
end
# changeCustomModel
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 改变对象外观
- 具体使用案例如下:
local code = Actor:changeCustomModel(objid, modleName)
if code == ErrorCode.OK then
print('执行成功', code )
else
print('执行失败')
end
# recoverinitialModel
local code = Actor:recoverinitialModel(objid)
if code == ErrorCode.OK then
print('执行成功', code )
else
print('执行失败')
end
# randomFacadeID
- 参数及类型: 无
- 返回值及类型:
- 该方法的主要作用: 随机获取一个外观
- 具体使用案例如下:
local code, modleName = Actor:randomFacadeID()
if code == ErrorCode.OK then
print('执行成功', code, modleName )
else
print('执行失败')
end
# playerHurt
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 使玩家A对B造成伤害
- 具体使用案例如下:
local code = Actor:playerHurt(objidA, objidB, hp, attackType)
if code == ErrorCode.OK then
print('执行成功', code )
else
print('执行失败')
end
# actorHurt
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 使生物A对B造成伤害
- 具体使用案例如下:
local code = Actor:actorHurt(objidA, objidB, hp, attackType)
if code == ErrorCode.OK then
print('执行成功', code )
else
print('执行失败')
end
# playerHurtArea
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 使玩家伤害区域内的目标
- 具体使用案例如下:
local code = Actor:playerHurtArea(objidA, areaid, hp, attackType)
if code == ErrorCode.OK then
print('执行成功', code )
else
print('执行失败')
end
# actorHurtArea
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 使生物伤害区域内的目标
- 具体使用案例如下:
local code = Actor:actorHurtArea(objidA, areaid, hp, attackType)
if code == ErrorCode.OK then
print('执行成功', code )
else
print('执行失败')
end