主站
道具百科
触发器百科
脚本API百科
创作手册
创作功能
其他
Studio百科
实体接口:Actor
彼得兔 更新时间: 2024-05-31 17:39:51

具体函数名及描述如下:

序号 函数名 函数描述
1 isPlayer(...) 检测是否为玩家
2 isMob(...) 检测是否为怪物
3 getObjType(...) 获取对象类型(玩家、生物、投掷物、掉落物等^)
4 isInAir(...) 是否在空中
5 getPosition(...) 获取actor位置
6 setPosition(...) 设置actor位置
7 jump(...) 跳跃
8 killSelf(...) 杀死自己
9 getCurPlaceDir(...) 获取当前朝向
10 tryMoveToActor(...) 向目标行动者移动
11 tryMoveToPos(...) 向目标位置移动
12 addHP(...) 增加当前生命量
13 getHP(...) 获取当前生命量
14 getMaxHP(...) 获取最大生命量
15 addOxygen(...) 增加当前氧气值
16 getOxygen(...) 获取当前氧气值
17 addEnchant(...) 增加装备附魔
18 removeEnchant(...) 移除装备附魔
19 findNearestBlock(...) 寻找附近方块
20 setFaceYaw(...) 设置actor原地旋转偏移角度
21 getFaceYaw(...) 获取actor原地旋转偏移角度
22 turnFaceYaw(...) 转动actor横向偏移角度
23 setFacePitch(...) 设置actor视角仰望角度
24 getFacePitch(...) 获取actor视角仰望角度
25 turnFacePitch(...) 转动actor仰望偏移角度
26 playBodyEffect(...) 对象播放特效
27 stopBodyEffect(...) 对象停止特效
28 playBodyEffectByFile(...) 播放文件特效(暂未开放)
29 stopBodyEffectByFile(...) 停止文件特效(暂未开放)
30 playSound(...) 播放声音
31 playSoundSpecial(...) 播放声音(特定类型:GSOUND_TYPE)
32 clearActorWithId(...) 清除生物ID为actorid的生物
33 setAttackType(...) 设置伤害类型
34 setImmuneType(...) 设置免疫伤害类型
35 mountActor(...) 登上、脱离载具
36 setActionAttrState(...) 设置生物行为属性状态
37 getActionAttrState(...) 获取生物特殊属性的状态
38 tryNavigationToPos(...) 寻路到目标位置
39 randomActorID(...) 在资源库里随机创建一个生物
40 getRidingActorObjId(...) 获取骑乘生物的objid
41 playBodyEffectById(...) 在指定对象身上播放粒子特效
42 stopBodyEffectById(...) 停止指定对象身上的粒子特效
43 setBodyEffectScale(...) 设置指定对象身上的特效大小
44 playSoundEffectById(...) 在指定对象身上播放音效
45 stopSoundEffectById(...) 停止指定对象身上的音效
46 appendSpeed(...) 给对象附加一个速度
47 getFaceDirection(...) 获取actor朝向
48 calcDirectionByDirection(...) 通过局部坐标方向计算绝对方向
49 calcDirectionByAngle(...) 通过局部球坐标方向计算绝对方向
50 calcDirectionByYawDirection(...) 通过局部坐标方向计算绝对正方向(忽略视角仰角)
51 calcDirectionByYawAngle(...) 通过局部球坐标方向计算绝对正方向(忽略视角仰角)
52 getEyeHeight(...) 获取眼睛高度
53 getEyePosition(...) 获取眼睛位置
54 getBodySize(...) 获取身体尺寸
55 playAct(...) 播放动作
56 shownickname(...) 设置昵称显示
57 setnickname(...) 设置昵称
58 getActorFacade(...) 获取Actor的外观
59 changeCustomModel(...) 改变Actor外观
60 recoverinitialModel(...) 恢复生物外观
61 addBuff(...) 增加指定BUFF
62 hasBuff(...) 是否已经有了指定BUFF
63 removeBuff(...) 移除指定BUFF
64 clearAllBuff(...) 清除全部BUFF
65 clearAllBadBuff(...) 清除全部减益BUFF
66 getBuffList(...) 获取已有BUFF
67 getBuffLeftTick(...) 获取BUFF剩余tick
68 randomFacadeID(...)
获取随机外观id字符串
69 playerHurt(...) 使玩家对生物或玩家造成伤害
70 playerHurtArea(...) 使玩家伤害区域内的目标
71 actorHurt(...) 使生物对生物或玩家造成伤害
72 actorHurtArea(...) 使生物伤害区域内的目标
73 getPositionV2(...)
获取actor位置
74 setFaceDirection(...)
设置对象朝向
75 ChangePlayerSkin(...)
改变对象为指定玩家ID的皮肤外观

 

isPlayer

  • 参数及类型: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

  • 返回值及类型:

  • 该方法的主要作用:检测是否为怪物

  • 具体使用案例如下:

--每当玩家攻击命中对象,判断被攻击的对象是不是怪物
--当玩家攻击命中时会执行此函数
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

  • 返回值及类型:

  • 该方法的主要作用:获取对象类型(玩家、生物、投掷物、掉落物等^)

  • 具体使用案例如下:

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

  • 参数及类型:

  • 返回值及类型:

  • 该方法的主要作用:是否在空中

  • 具体使用案例如下:

--每当玩家攻击命中某对象,判断该对象是否在空中
--当玩家攻击命中时会执行此函数
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

  • 返回值及类型:

  • 该方法的主要作用:获取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)

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

  • 参数及类型:

  • 返回值及类型:

  • 该方法的主要作用:跳跃

  • 具体使用案例如下:

--每当玩家攻击命中某对象,让该对象跳跃
--当玩家攻击命中时会执行此函数
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

  • 参数及类型:

  • 返回值及类型:

  • 该方法的主要作用:获取当前朝向

  • 具体使用案例如下:

--每当玩家攻击命中某生物,获取该生物的朝向
--当玩家攻击命中时会执行此函数
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

  • 参数及类型:

  • 返回值及类型:

  • 该方法的主要作用:获取当前生命量

  • 具体使用案例如下:

--每当玩家做动画表情,获取该玩家当前生命值
--当玩家做动画表情时执行此函数
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

  • 参数及类型:

  • 返回值及类型:

  • 该方法的主要作用:获取最大生命量

  • 具体使用案例如下:

--每当玩家做动画表情,获取该玩家最大生命值
--当玩家做动画表情时执行此函数
local function Player_PlayAction(event)
	--获取指定生物的最大生命值,参数为生物在存档中的id,可以是玩家迷你号,0是房主
	local result,value=Actor: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

  • 参数及类型:

  • 返回值及类型:

  • 该方法的主要作用:获取当前氧气值

  • 具体使用案例如下:

--每当玩家做动画表情,获取该玩家当前氧气值
--当玩家做动画表情时执行此函数
local function Player_PlayAction(event)
	--获取指定生物的当前氧气值,参数为生物在存档中的id,可以是玩家迷你号,0是房主
	local result,value=Actor: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 function ClickBlock(event)
	local objid=event.eventobjid--实体id
	local blockid=1--寻找方块id
	local blockRange=10--寻找范围
	--寻找附近方块
	local result,x,y,z=Actor:findNearestBlock(objid, blockid, blockRange)
	if result==0 then
		Chat:sendSystemMsg("范围内找到了方块")
	else
		Chat:sendSystemMsg("范围内未找到方块")
	end
end
ScriptSupportEvent:registerEvent([=[Player.ClickBlock]=], ClickBlock)--点击方块

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

  • 参数及类型:

  • 返回值及类型:

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

  • 参数及类型:

  • 返回值及类型:

  • 该方法的主要作用:获取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 result = Actor:playBodyEffectByFile(objid, filename, sync)

stopBodyEffectByFile

  • 参数及类型:

  • 返回值及类型:

  • 该方法的主要作用:停止文件特效

  • 具体使用案例如下:

local result = Actor:stopBodyEffectByFile(objid, filename)

playSound

local result = Actor:playSound(objid, name, volume, pitch, flag)

playSoundSpecial

  • 参数及类型:

  • 返回值及类型:

  • 该方法的主要作用:播放声音(特定类型:GSOUND_TYPE)

  • 具体使用案例如下:

local result = Actor:playSoundSpecial(objid, name, type)

clearActorWithId

  • 参数及类型:

  • 返回值及类型:

  • 该方法的主要作用:清除生物ID为actorid的生物

  • 具体使用案例如下:

--清除存档指定生物
--第一个参数为要清除的生物id,3402是猪,具体可以在“迷你世界ID查询”的“生物表数据”中查看
--第二个参数为是否显示死亡效果:true显示 false直接消失
Actor:clearActorWithId(3402,false)
--在聊天框显示
Chat:sendSystemMsg("清除了存档里所有的猪")

setAttackType

  • 参数及类型:

  • 返回值及类型:

  • 该方法的主要作用:设置伤害类型

  • 具体使用案例如下:

local function ClickActor(event)
	local objid=event.toobjid--被点击的生物
	local attacktype=0--近战伤害(伤害类型可在常量列表查询)
	--设置被点击的生物伤害类型为近战伤害
	Actor:setAttackType(objid, attacktype)
end
ScriptSupportEvent:registerEvent([=[Player.ClickActor]=], ClickActor)--点击生物

setImmuneType

  • 参数及类型:

  • 返回值及类型:

  • 该方法的主要作用:设置免疫伤害类型

  • 具体使用案例如下:

local function ClickActor(event)
	local objid=event.toobjid--被点击的生物
	local immunetype=0--近战伤害(伤害类型可在常量列表查询)
	local isadd=true--开启
	--被点击的生物开启免疫近战伤害
	Actor:setImmuneType(objid, immunetype, isadd)
end
ScriptSupportEvent:registerEvent([=[Player.ClickActor]=], ClickActor)--点击生物

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

--设置生物的属性
--第一个参数为生物在存档中的id,可以是玩家迷你号,0是房主
--第二个参数为要设置的属性,1是移动,具体可以在“游戏数据类型”的“生物属性设置”中查看
--第三个参数为设置:true可以 false不可
Actor:setActionAttrState(0,1,false)
--在聊天框显示
Chat:sendSystemMsg("房主被设置为不可移动")

getActionAttrState

--获取指定生物的属性
--第一个参数为生物在存档中的id,可以是玩家迷你号,0是房主
--第二个参数为要获取的属性,1是移动,具体可以在“游戏数据类型”的“生物属性设置”中查看
local result=Actor:getActionAttrState(0,1)
if result==0 then--如果可以
	--在聊天框显示
	Chat:sendSystemMsg("房主当前可移动")
else--如果不可以
	--在聊天框显示
	Chat:sendSystemMsg("房主当前不可移动")
end

tryNavigationToPos

  • 参数及类型:

    • objid:number
    • x,y,z:number
    • cancontrol:boolean bshowtipboolean
  • 返回值及类型:

  • 该方法的主要作用:寻路到目标位置

  • 具体使用案例如下:

local function ClickBlock(event)
	local objid=event.eventobjid--自动寻路的生物实体id,这里是点击方块的玩家
	local x,y,z=event.x+10,event.y+1,event.z--寻路目的地
	local cancontrol=false--寻路过程中是否可控制:否
	local showtip=true--是否显示路线提示:是
	--让生物自动寻路
	Actor:tryNavigationToPos(objid, x, y, z, cancontrol, showtip)
end
ScriptSupportEvent:registerEvent([=[Player.ClickBlock]=], ClickBlock)--点击方块

randomActorID

  • 参数及类型:nil

  • 返回值及类型:

  • 该方法的主要作用:在资源库里随机创建一个生物

  • 具体使用案例如下:

--随机生成一个生物id,返回值可以在“迷你世界ID查询”的“生物表数据”中查看
local result,id=Actor:randomActorID()
--在聊天框显示
Chat:sendSystemMsg("随机选取了一个生物id"..id)

getRidingActorObjId

  • 参数及类型:

  • 返回值及类型:

  • 该方法的主要作用:获取骑乘生物的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开始
--第三个参数为特效的缩放比例
--最后一个参数是播放时长,时长大于0时,特效会在设定时间内循环播放,直到时间结束;设置时间小于等于0或为nil时,循环类型的特效会持续播放,非循环类型的特效只播放一次
Actor:playBodyEffectById(0,1029,1,3)
--在聊天框显示
Chat:sendSystemMsg("给房主添加了1029特效,缩放比例为1,播放时间3秒")

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

  • 参数及类型:

  • 返回值及类型:

  • 该方法的主要作用:在指定Actor身上播放音效

  • 具体使用案例如下:

--给指定生物播放音乐
--第一个参数为生物在存档中的id,可以是玩家迷你号,0是房主
--第二个参数10713为播放的音效id,具体可以在“迷你世界ID查询”的“音效表数据”里查看
--后三个参数分别是:音量、音高、是否循环播放
Actor:playSoundEffectById(0,10713,100,1,false)
--在聊天框显示
Chat:sendSystemMsg("正在给房主播放音乐")

stopSoundEffectById

  • 参数及类型:

  • 返回值及类型:

  • 该方法的主要作用:停止指定Actor身上的音效

  • 具体使用案例如下:

--给房主播放音乐
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

  • 参数及类型:

    • objid:number对象objid
    • x,y,z:number轴向方向上的速度大小
  • 返回值及类型:

  • 该方法的主要作用:给对象附加一个速度

  • 具体使用案例如下:

--给指定生物附加一个速度
--第一个参数为生物在存档中的id,可以是玩家迷你号,0是房主
--后三个参数分别为向东、上、北三个方向的分速度,可以为负
Actor:appendSpeed(0,5,6,7)
--在聊天框显示
Chat:sendSystemMsg("房主被弹了出去,向东、上、北方向的速度分别为5,6,7")

getFaceDirection

  • 参数及类型:

  • 返回值及类型:

  • 该方法的主要作用:获取actor朝向

  • 具体使用案例如下:

--获取指定生物在各个方向的朝向,参数为生物在存档中的id,可以是玩家迷你号,0是房主
local result,dirx,diry,dirz=Actor:getFaceDirection(0)
--在聊天框显示
Chat:sendSystemMsg("房主当前在东西方向偏移"..dirx..",在上下方向偏移"..diry..",在南北方向偏移"..dirz)

calcDirectionByDirection

  • 参数及类型:

  • 返回值及类型:

  • 该方法的主要作用:通过局部坐标方向计算绝对方向

  • 具体使用案例如下:

local function ClickBlock(event)
	local objid=event.eventobjid--玩家id
	local vx,vy,vz=10,10,10--以objid的朝向建立坐标系的局部坐标
	--通过局部坐标计算在地图默认坐标系上的绝对坐标
	local result,dir=Actor:calcDirectionByDirection(objid, vx, vy, vz)
	print(dir)--输出绝对坐标
end
ScriptSupportEvent:registerEvent([=[Player.ClickBlock]=], ClickBlock)--点击方块

calcDirectionByAngle

  • 参数及类型:

  • 返回值及类型:

  • 该方法的主要作用:通过局部球坐标方向计算绝对方向

  • 具体使用案例如下:

local function ClickBlock(event)
	local objid=event.eventobjid--玩家id
	local yaw,pitch=90,90--以objid的朝向为基准的旋转角度(水平、垂直)
	--计算在地图上的绝对方向
	local result,dir=Actor:calcDirectionByAngle(objid, yaw, pitch)
	print(dir)--输出绝对方向
end
ScriptSupportEvent:registerEvent([=[Player.ClickBlock]=], ClickBlock)--点击方块

calcDirectionByYawDirection

  • 参数及类型:

  • 返回值及类型:

  • 该方法的主要作用:通过局部坐标方向计算绝对正方向(忽略视角仰角)

  • 具体使用案例如下:

local function ClickBlock(event)
	local objid=event.eventobjid--玩家id
	local vx,vy,vz=10,10,10--以objid的朝向建立坐标系的局部坐标
	--计算绝对正方向(忽略竖坐标)
	local result,dir=Actor:calcDirectionByYawDirection(objid, vx, vy, vz)
	print(dir)--输出绝对正方向
end
ScriptSupportEvent:registerEvent([=[Player.ClickBlock]=], ClickBlock)--点击方块

calcDirectionByYawAngle

  • 参数及类型:

  • 返回值及类型:

  • 该方法的主要作用:通过局部球坐标方向计算绝对正方向(忽略视角仰角)

  • 具体使用案例如下:

local function ClickBlock(event)
	local objid=event.eventobjid--玩家id
	local yaw,pitch=90,90--以objid的朝向为基准的旋转角度(水平、垂直)
	--计算绝对正方向(忽略仰角)
	local result,dir=Actor:calcDirectionByYawAngle(objid, yaw, pitch)
	print(dir)--输出绝对正方向
end
ScriptSupportEvent:registerEvent([=[Player.ClickBlock]=], ClickBlock)--点击方块

getEyeHeight

  • 参数及类型:

  • 返回值及类型:

  • 该方法的主要作用:获取眼睛高度

  • 具体使用案例如下:

--获取指定生物的眼睛高度,参数为生物在存档中的id,可以是玩家迷你号,0是房主
local result,height=Actor:getEyeHeight(0)
--在聊天框显示
Chat:sendSystemMsg("房主的眼睛高度为"..height)

getEyePosition

  • 参数及类型:

  • 返回值及类型:

  • 该方法的主要作用:获取眼睛位置

  • 具体使用案例如下:

--获取指定生物的眼睛坐标,参数为生物在存档中的id,可以是玩家迷你号,0是房主
local result,x,y,z=Actor:getEyePosition(0)
--在聊天框显示
Chat:sendSystemMsg("房主眼睛坐标为:("..x..","..y..","..z..")")

getBodySize

  • 参数及类型:

  • 返回值及类型:

  • 该方法的主要作用:获取身体尺寸

  • 具体使用案例如下:

--获取指定生物的尺寸,参数为生物在存档中的id,可以是玩家迷你号,0是房主
local result,w,h=Actor:getBodySize(0)
--在聊天框显示
Chat:sendSystemMsg("房主身体宽:"..w..",高:"..h)

playAct

  • 参数及类型:

  • 返回值及类型:

  • 该方法的主要作用:播放动作

  • 具体使用案例如下:

--让指定生物播放动画表情
--第一个参数为生物在存档中的实体id,可以是玩家迷你号,0是房主
--第二个参数为动作表情id,具体可以在“迷你世界ID查询”的“动作表数据”查询
Actor:playAct(0,1)
--在聊天框显示
Chat:sendSystemMsg("让房主播放打招呼动作")
local function ClickActor(event)
    local objid=event.toobjid--被点击的生物
	local actid=17--要播放的动作id,这里是“死亡”动作,具体可以在ID库查询
	--让生物播放动作
    Actor:playAct(objid,actid)
end
ScriptSupportEvent:registerEvent([=[Player.ClickActor]=], ClickActor)--点击生物

shownickname

  • 参数及类型:

  • 返回值及类型:

  • 该方法的主要作用:设置昵称显示

  • 具体使用案例如下:

local function ClickBlock(event)
	local objid=event.eventobjid--要显示昵称的实体id,这里是点击方块的玩家
	local isshow=true--是否显示昵称:是
	--设置objid的昵称
	Actor:setnickname(objid, "昵称")
	--显示objid的昵称
	Actor:shownickname(objid, isshow)
end
ScriptSupportEvent:registerEvent([=[Player.ClickBlock]=], ClickBlock)--点击方块

setnickname

  • 参数及类型:

  • 返回值及类型:

  • 该方法的主要作用:设置昵称

  • 具体使用案例如下:

local function ClickBlock(event)
	local objid=event.eventobjid--要设置昵称的实体id,这里是点击方块的玩家
	local name="昵称"--要设置的昵称
	--显示objid的昵称
	Actor:shownickname(objid, true)
	--设置objid的昵称
	Actor:setnickname(objid, name)
end
ScriptSupportEvent:registerEvent([=[Player.ClickBlock]=], ClickBlock)--点击方块

getActorFacade

  • 参数及类型:

  • 返回值及类型:

  • 该方法的主要作用:获取Actor的外观

  • 具体使用案例如下:

local function ClickBlock(event)
	local objid=event.eventobjid--要获取外观的实体id,这里是玩家
	--获取objid的外观
	local result,name=Actor:getActorFacade(objid)
	Chat:sendSystemMsg(name)--在聊天框显示
end
ScriptSupportEvent:registerEvent([=[Player.ClickBlock]=], ClickBlock)--点击方块

changeCustomModel

  • 参数及类型:

  • 返回值及类型:

  • 该方法的主要作用:改变Actor外观(只能切换已拥有皮肤的外观

  • 具体使用案例如下:

local function ClickActor(event)
	local objid=event.toobjid--要获取外观的实体id,这里是被点击的生物
	local result,name=Actor:getActorFacade(objid)--获取objid的外观
	
	local objid2=event.eventobjid--要设置外观的实体id,这里是点击生物的玩家
	--设置objid2的外观为刚刚获取的name
	Actor:changeCustomModel(objid2, name)
end
ScriptSupportEvent:registerEvent([=[Player.ClickActor]=], ClickActor)--点击生物

recoverinitialModel

  • 参数及类型:

  • 返回值及类型:

  • 该方法的主要作用:恢复生物外观

  • 具体使用案例如下:

local function ClickBlock(event)
	local objid=event.eventobjid--要恢复外观的实体id,这里是点击方块的玩家
	--恢复objid的外观
	Actor:recoverinitialModel(objid)
end
ScriptSupportEvent:registerEvent([=[Player.ClickBlock]=], ClickBlock)--点击方块

addBuff

  • 参数及类型:
  • 返回值及类型:
  • 该方法的主要作用:增加指定BUFF
  • 具体使用案例如下:
--给指定生物添加buff
--第一个参数为生物在存档中的id,可以是玩家迷你号,0是房主
--第二、三个参数为要添加的buff,具体可以在“迷你世界ID查询”的“状态(效果)表数据”中查看
--最后一个参数为buff持续时长
Actor:addBuff(0,50,4,10000)
--在聊天框显示
Chat:sendSystemMsg("房主被添加了快速生命恢复4级的buff,持续时长10000")

hasBuff

  • 参数及类型:
  • 返回值及类型:
  • 该方法的主要作用:是否已经有了指定BUFF
  • 具体使用案例如下:
--判断某生物是否有某buff
--第一个参数为生物在存档中的id,可以是玩家迷你号,0是房主
--第二个参数为要判断的buff,具体可以在“迷你世界ID查询”的“状态(效果)表数据”中查看
local result=Actor:hasBuff(0,50)
if result==0 then--如果有
	--在聊天框显示
	Chat:sendSystemMsg("房主当前有快速生命恢复的buff")
else--如果没有
	--在聊天框显示
	Chat:sendSystemMsg("房主当前没有快速生命恢复的buff")
end

removeBuff

  • 参数及类型:
  • 返回值及类型:
  • 该方法的主要作用:移除指定BUFF
  • 具体使用案例如下:
--移除指定生物的指定buff
--第一个参数为生物在存档中的id,可以是玩家迷你号,0是房主
--第二个参数为要移除的buff,具体可以在“迷你世界ID查询”的“状态(效果)表数据”中查看
Actor:removeBuff(0,50)
--在聊天框显示
Chat:sendSystemMsg("移除了房主的快速生命恢复的buff")

clearAllBuff

  • 参数及类型:
  • 返回值及类型:
  • 该方法的主要作用:清除全部BUFF
  • 具体使用案例如下:
--移除某生物所有buff,参数为生物在存档中的id,可以是玩家迷你号,0是房主
Actor:clearAllBuff(0)
--在聊天框显示
Chat:sendSystemMsg("清空了房主所有buff")

clearAllBadBuff

  • 参数及类型:
  • 返回值及类型:
  • 该方法的主要作用:清除全部减益BUFF
  • 具体使用案例如下:
--移除某生物所有负面buff,参数为生物在存档中的id,可以是玩家迷你号,0是房主
Actor:clearAllBadBuff(0)
--在聊天框显示
Chat:sendSystemMsg("清空了房主所有负面buff")

getBuffList

  • 参数及类型:
  • 返回值及类型:
  • 该方法的主要作用:获取已有BUFF
  • 具体使用案例如下:
--获取某生物buff列表,参数为生物在存档中的id,可以是玩家迷你号,0是房主
local result,num,array=Actor:getBuffList(0)
if num>0 then--如果有buff
	for i,a in ipairs(array) do
		--在聊天框显示buff列表
		Chat:sendSystemMsg("房主第"..i.."个buff为:"..a)
	end
else--如果没有buff
	--在聊天框显示
	Chat:sendSystemMsg("房主当前没有buff")
end

getBuffLeftTick

  • 参数及类型:
  • 返回值及类型:
  • 该方法的主要作用:获取BUFF剩余tick
  • 具体使用案例如下:
--获取某生物指定buff的剩余时长
--第一个参数为生物在存档中的id,可以是玩家迷你号,0是房主
--第二个参数为要获取剩余时长的buff,具体可以在“迷你世界ID查询”的“状态(效果)表数据”中查看
local result,ticks=Actor:getBuffLeftTick(0,50)
--在聊天框显示
Chat:sendSystemMsg("房主当前快速生命恢复的buff剩余时长为:"..ticks)

randomFacadeID 

  • 参数及类型:
  • 返回值及类型:
    • ErrorCode.OK
    • facadeid:string
  • 该方法的主要作用:获取随机外观id字符串
  • 具体使用案例如下:
local result = Actor:randomFacadeID()

playerHurt

  • 参数及类型:
  • 返回值及类型:
  • 该方法的主要作用:
  • 具体使用案例如下:
local function ClickActor(event)
    local objidA=event.eventobjid--攻击者,这里是点击生物的玩家
    local objidB=event.toobjid--被攻击者,这里是被点击的生物
    local hp=999--造成的伤害数值
    local attackType=0--伤害类型,这里是近战伤害,可以在常量列表查询
	--使玩家对生物造成伤害
    Actor:playerHurt(objidA, objidB, hp, attackType)
end
ScriptSupportEvent:registerEvent([=[Player.ClickActor]=], ClickActor)--点击生物,执行函数ClickActor

playerHurtArea

  • 参数及类型:
  • 返回值及类型:
  • 该方法的主要作用:
  • 具体使用案例如下:
local function ClickBlock(event)
    local objidA=event.eventobjid--攻击者,这里是点击方块的玩家
	--以被点击的方块为中心,向前后左右上下各扩展10格创建一个区域
    local result,areaid=Area:createAreaRect({x=event.x,y=event.y,z=event.z},{x=10,y=10,z=10})
    local hp=999--造成的伤害数值
    local attackType=0--伤害类型,这里是近战伤害,可以在常量列表查询
	--使玩家对区域内的所有目标造成伤害
    Actor:playerHurtArea(objidA, areaid, hp, attackType)
end
ScriptSupportEvent:registerEvent([=[Player.ClickBlock]=], ClickBlock)--点击方块,执行函数ClickBlock

actorHurt

  • 参数及类型:
  • 返回值及类型:
  • 该方法的主要作用:
  • 具体使用案例如下:
local function ClickActor(event)
    local objidA=event.toobjid--攻击者,这里是被点击的生物
    local objidB=event.eventobjid--被攻击者,这里是点击生物的玩家
    local hp=999--造成的伤害数值
    local attackType=0--伤害类型,这里是近战伤害,可以在常量列表查询
	--使生物对玩家造成伤害
    Actor:actorHurt(objidA, objidB, hp, attackType)
end
ScriptSupportEvent:registerEvent([=[Player.ClickActor]=], ClickActor)--点击生物,执行函数ClickActor

actorHurtArea

  • 参数及类型:
  • 返回值及类型:
  • 该方法的主要作用:
  • 具体使用案例如下:
local function ClickActor(event)
    local objidA=event.toobjid--攻击者,这里是被点击的生物
    local _,x,y,z=Actor:getPosition(objidA)--获取被点击的生物坐标
    --以被点击的生物为中心,向前后左右上下各扩展10格创建区域
    local _,areaid=Area:createAreaRect({x=x,y=y,z=z},{x=10,y=10,z=10})
    local hp=999--造成的伤害数值
    local attackType=0--伤害类型,这里是近战伤害,可以在常量列表查询
	--使生物对区域内的所有目标造成伤害(包括生物自身)
    Actor:actorHurtArea(objidA, areaid, hp, attackType)
end
ScriptSupportEvent:registerEvent([=[Player.ClickActor]=], ClickActor)--点击生物,执行函数ClickActor

 

getPositionV2

  • 参数及类型:
    • objid:number对象的objid
  • 返回值及类型:
    • code:number成功(ErrorCode.OK)ErrorCode
    • pos:table方块坐标
  • 该方法的主要作用: 获取actor位置
  • 具体使用案例如下:
local code ,pos = Actor:getPositionV2(objid)
if code == ErrorCode.OK then
	print('执行成功' ,pos )
else
	print('执行失败')
end

 

setFaceDirection

  • 参数及类型:
    • objid:number对象objid
    • x,y,z:number轴向上的方向
  • 返回值及类型:
    • code:number成功(ErrorCode.OK)ErrorCode
  • 该方法的主要作用: 设置对象朝向
  • 具体使用案例如下:
local code  = Actor:setFaceDirection(objid, x, y, z)
if code == ErrorCode.OK then
	print('执行成功'  )
else
	print('执行失败')
end

 

ChangePlayerSkin

  • 参数及类型:
    • objid:number玩家或生物objid
    • uin:number玩家UIn
  • 返回值及类型:
    • code:number成功(ErrorCode.OK)ErrorCode
  • 该方法的主要作用: 改变对象为指定玩家ID的皮肤外观
  • 具体使用案例如下:
local code  = Actor:ChangePlayerSkin(objid, uin)
if code == ErrorCode.OK then
    print('执行成功'  )
else
    print('执行失败')
end

 

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