迷你世界UGC3.0脚本Wiki角色模块管理接口 Actor

迷你世界UGC3.0脚本Wiki



Menu

On this page

Sidebar Navigation

快速入门

欢迎

MOD、组件介绍

什么是Lua编程

组件介绍

组件说明

组件互相操作

组件函数

组件属性

事件

触发器事件管理

组件事件管理

函数库

服务模块

世界模块管理接口 World

对象模块管理接口 GameObject

角色模块管理接口 Actor

玩家模块管理接口 Player

生物模块管理接口 Monster

方块模块管理接口 Block

道具模块管理接口 Item

背包模块管理接口 Backpack

界面模块管理接口 CustomUI

图文信息模块管理接口 Graphics

区域模块管理接口 Area

容器模块管理接口 WorldContainer

资源模块管理接口 Mod

计时器模块管理接口 Timer

状态模块管理接口 Buff

消息模块管理接口 Chat

普通变量数据管理接口 Data

数组变量数据管理接口 Array

二维表变量数据管理接口 Table

KV表变量数据管理接口 Map

全局函数

全局函数

枚举

枚举库

脚本常见问题

开发者常见问题

进阶指南

全局函数

触发器脚本交互

对象介绍

KV&排行榜介绍

二维表介绍

道具实例

更新日志

更新日志

角色模块管理接口 Actor​

具体函数名及描述如下:

序号 函数名 函数描述

1 GetItemId(...) 获取掉落物的类型ID

2 GetDropItemNum(...) 获取掉落物品数量

3 SetTeam(...) 设置角色队伍

4 GetTeam(...) 获取角色队伍

5 AddHp(...) 增加角色当前生命量

6 GetMaxHP(...) 获取最大血量(包括加成)

7 ShowNickName(...) 设置对象昵称是否显示

8 SetNickName(...) 设置角色昵称

9 GetNickName(...) 获取角色昵称

10 GetObjWorldId(...) 获取角色所在的星球id

11 IsPlayer(...) 检查对象是否为玩家

12 PlaySoundEffectById(...) 在指定角色身上播放音效

13 StopSoundEffectById(...) 停止指定对象身上的音效

14 PauseSoundEffectById(...) 暂停/恢复指定对象身上的音效

15 RotateFaceToActor(...) 使生物朝向目标生物

16 GetMotion(...) 获取对象的当前移动速度

17 SetBeHurtTarget(...) 设置目标仇恨目标

18 GetActorFacade(...) 获取角色外观(需要确保对象在场景中存在)

19 CompareMainModel(...) 比较两个主模型外观是否相等

20 PlayBodyParticleById(...) 在指定对象身上播放粒子特效

21 StopBodyEffectById(...) 停止指定对象身上的粒子特效

22 SetBodyParticleTransform(...) 设置指定对象身上的特效大小

23 Jump(...) 使玩家/生物跳跃一次

24 GetRidingActorObjId(...) 获取骑乘生物的objid

25 GetFaceDirection(...) 获取actor朝向

26 TryMoveToActor(...) 使对象向目标行动者移动(如果执行对象是刚创建出来的需要加个等待时间)

27 SetFaceDirection(...) 设置对象朝向

28 KillSelf(...) 击败对象

29 SetAttr(...) 设置角色属性

30 IncreasesAttr(...) 增加角色属性值

31 GetAttr(...) 获取角色属性值

32 SetActorPermissions(...) 设置对象权限

33 GetActorPermissions(...) 获取对象权限

34 SetFaceYaw(...) 设置对象面向角度

35 GetFaceYaw(...) 获取actor视角偏移角度

36 SetFacePitch(...) 设置actor视角仰望角度

37 GetFacePitch(...) 获取actor视角仰望角度

38 SetPosition(...) 设置角色位置

39 GetPosition(...) 获取对象位置

40 ChangeCustomModel(...) 改变对象外观

41 RecoverinitialModel(...) 恢复对象外观

42 ActorHurt(...) 使对象A对对象B造成伤害

43 SetImmuneType(...) 设置免疫伤害类型

44 ChangActorMoveType(...) 改变玩家移动方式

45 GetActorMovementMode(...) 取角色的移动模式

46 GetBoundSzie(...) 获取模型大小值

47 RandomFacadeID(...) 随机一个外观获取其 id字符串

48 GetObjType(...) 判断对象是否是玩家/生物

49 TryMoveToPos(...) 尝试移动到某个位置走寻路 方块坐标

50 AppendSpeed(...) 给对象附加一个速度

51 FindNearestBlock(...) 寻找对象附近某个类型方块的最近位置

52 GetEyeHeight(...) 获取角色高度

53 ClearActorWithId(...) 清除生物类型为actorid的生物

54 IsExist(...) 对象是否存在

55 PlayAnim(...) 对象播放动作

56 PlayHandAnim(...) 对象手持播放动作

57 MountActor(...) 角色骑乘

58 DisMountActor(...) 角色取消骑乘

59 PickupActor(...) 角色和角色尝试举起

60 TryPickupActorForward(...) 尝试抓取前方指定距离的对象

61 DropActor(...) 尝试投掷角色

62 EscapePickup(...) 尝试逃脱抓举

63 SetBtreeVarValue(...) 设置行为树变量

64 GetBtreeVarValue(...) 获取行为树变量

65 GetDropItemInstanceId(...) 根据掉落物objid获取道具实例id

66 SetAblePick(...) 设置掉落物是否可以拾取

67 GetEntityFacade(...) 获取实体类型外观

68 PickupItem(...) 角色拾取地上的掉落物或者投掷物

69 GetPickupObjID(...) 角色举起的角色

70 HasTags(...) 添加标签

71 GetTags(...) 获取对象标签

72 AddTags(...) 添加标签

73 RemoveTags(...) 删除标签

74 ClearTags(...) 清空所有标签

75 PlayAnimByObj(...) 对象A播放对象B动作

GetItemId​

参数及类型:

objid:number掉落物objid

返回值及类型:

ret:number掉落物类型ID

该方法的主要作用: 获取掉落物的类型ID

具体使用案例如下:

lua

local itemId = Actor:GetItemId(objId)

GetDropItemNum​

参数及类型:

objid:number掉落物objid

返回值及类型:

itemnum:number掉落物品数量

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

具体使用案例如下:

lua

local num = Actor:GetDropItemNum(objId)

SetTeam​

参数及类型:

objid:number角色objid

teamid:number队伍ID AbsoluteCampTypeAbsoluteCampType

bResetAttr:bool是否重置属性(填玩家有效,默认false)

返回值及类型:

ret:bool设置成功(true)

该方法的主要作用: 设置角色队伍

具体使用案例如下:

lua

-- 设置玩家为3队

local result = Actor:SetTeam(Player:GetHostUin(), AbsoluteCampType.Team3)

GetTeam​

参数及类型:

objid:number角色objid

返回值及类型:

teamId:number队伍ID

该方法的主要作用: 获取角色队伍

具体使用案例如下:

lua

local team = Actor:GetTeam(Player:GetHostUin())

AddHp​

参数及类型:

objid:number角色objid

hp:number血量值(hp>0增加血量

hp<0减少血量)

返回值及类型:

ret:bool成功(true)

该方法的主要作用: 增加角色当前生命量

具体使用案例如下:

lua

local ret = Actor:AddHp(objid, hp)

GetMaxHP​

参数及类型:

objid:number角色objid

返回值及类型:

value:number最大生命值

该方法的主要作用: 获取最大血量(包括加成)

具体使用案例如下:

lua

local value = Actor:GetMaxHP(objid)

ShowNickName​

参数及类型:

objid:number角色objid

bshow:bool是否显示

返回值及类型:

ret:bool成功(true)

该方法的主要作用: 设置对象昵称是否显示

具体使用案例如下:

lua

-- 显示昵称

local result = Actor:ShowNickName(Player:GetHostUin(), true)

-- 隐藏昵称

local result2 = Actor:ShowNickName(Player:GetHostUin(), false)

SetNickName​

参数及类型:

objid:number角色objid

nickname:string昵称

返回值及类型:

ret:bool设置成功(true)

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

具体使用案例如下:

lua

local result = Actor:SetNickName(Player:GetHostUin(), "昵称123")

GetNickName​

参数及类型:

objid:number角色Uin

返回值及类型:

name:string角色昵称

该方法的主要作用: 获取角色昵称

具体使用案例如下:

lua

-- 获取玩家昵称

local nickname = Actor:GetNickName(Player:GetHostUin())

GetObjWorldId​

参数及类型:

objid:number角色objid

返回值及类型:

mapID:number星球id

该方法的主要作用: 获取角色所在的星球id

具体使用案例如下:

lua

local worldId = Actor:GetObjWorldId(Player:GetHostUin())

IsPlayer​

参数及类型:

objid:number生物objid

返回值及类型:

ret:bool是否为玩家(true)

该方法的主要作用: 检查对象是否为玩家

具体使用案例如下:

lua

local isPlayer = Actor:IsPlayer(objId)

PlaySoundEffectById​

参数及类型:

objid:number角色objid

soundId:number声音ID

volume:number音量

pitch:number音调

isLoop:boolean是否循环播放

返回值及类型:

ret:bool播放成功(true)

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

具体使用案例如下:

lua

-- 对象上播放3d音效10379, 音量100, 音调1, 不循环

local result = Actor:PlaySoundEffectById(Player:GetHostUin(), 10379, 100, 1, false)

StopSoundEffectById​

参数及类型:

objid:number角色objid

soundId:number声音ID

返回值及类型:

ret:bool停止成功(true)

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

具体使用案例如下:

lua

-- 停止播放3d音效10379

local result = Actor:StopSoundEffectById(Player:GetHostUin(), 10379)

PauseSoundEffectById​

参数及类型:

objid:number角色objid

soundId:number声音ID

pause:booltrue暂停/false恢复

返回值及类型:

ret:bool停止成功(true)

该方法的主要作用: 暂停/恢复指定对象身上的音效

具体使用案例如下:

lua

--暂停播放3d音效10379

local result = Actor:PauseSoundEffectById(Player:GetHostUin(), 10379, true)

RotateFaceToActor​

参数及类型:

objid:number生物objid

targetid:number目标生物objid

返回值及类型:

ret:bool旋转成功(true)

该方法的主要作用: 使生物朝向目标生物

具体使用案例如下:

lua

local result = Actor:RotateFaceToActor(objId, Player:GetHostUin())

GetMotion​

参数及类型:

objid:number对象objid

返回值及类型:

x:number运动速度X

y:number运动速度Y

z:number运动速度Z (未移动速度是0)

该方法的主要作用: 获取对象的当前移动速度

具体使用案例如下:

lua

local x, y, z = Actor:GetMotion(objId)

SetBeHurtTarget​

参数及类型:

objid:number生物objid

targetid:number目标生物objid

返回值及类型:

ret:bool设置成功(true)

该方法的主要作用: 设置目标仇恨目标

具体使用案例如下:

lua

local result = Actor:SetBeHurtTarget(objId, Player:GetHostUin())

GetActorFacade​

参数及类型:

objid:number对象objid

bhasequip:boolean是否包含装备(默认false,目前仅玩家角色有效)

返回值及类型:

facade:string对象外观描述信息

该方法的主要作用: 获取角色外观(需要确保对象在场景中存在)

具体使用案例如下:

lua

local facade = Actor:GetActorFacade(Player:GetHostUin()) --不带装备信息

local facade2 = Actor:GetActorFacade(Player:GetHostUin(),true) --附带装备信息目前只有使用avatar模型的玩家可以生效

CompareMainModel​

参数及类型:

facade1:string外观类型1

facade2:string外观类型2

返回值及类型:

ret:bool是否相等(true) ,传入参数错误返回false

该方法的主要作用: 比较两个主模型外观是否相等

具体使用案例如下:

lua

local ret = Actor:CompareMainModel(facade1, facade2)

PlayBodyParticleById​

参数及类型:

objid:number生物对象objid

particleId:number或者number列表粒子特效ID

ptme:number时长(单位:秒)

offset:table偏移

rot:table旋转

scale:table缩放

返回值及类型:

ret:bool成功(true)

该方法的主要作用: 在指定对象身上播放粒子特效

具体使用案例如下:

lua

-- 对象上播放特效,特效id为1005,播放时间10秒,特效偏移y 2个方块位置,特效y旋转45,特效缩放为2倍

local result = Actor:PlayBodyParticleById(Player:GetHostUin(), 1005, 10, {x = 0, y = 2, z = 0}, {x = 0, y = 45, z = 0}, {x = 2, y = 2, z = 2})

StopBodyEffectById​

参数及类型:

objid:number生物objid

particleId:number粒子特效ID

返回值及类型:

ret:bool成功(true)

该方法的主要作用: 停止指定对象身上的粒子特效

具体使用案例如下:

lua

local result = Actor:StopBodyEffectById(Player:GetHostUin(), 1005)

SetBodyParticleTransform​

参数及类型:

objid:number生物对象objid

particleId:number粒子特效ID

offset:table偏移

rot:table旋转

scale:table缩放

返回值及类型:

ret:bool成功(true)

该方法的主要作用: 设置指定对象身上的特效大小

具体使用案例如下:

lua

-- 修改对象上播放的特效,特效id为1005,播放时间10秒,特效偏移y 2个方块位置,特效y旋转45,特效缩放为2倍

local result = Actor:SetBodyParticleTransform(Player:GetHostUin(), 1005, {x = 0, y = 2, z = 0}, {x = 0, y = 45, z = 0}, {x = 2, y = 2, z = 2})

Jump​

参数及类型:

objid:number对象的objid

返回值及类型:

ret:bool成功(true)

该方法的主要作用: 使玩家/生物跳跃一次

具体使用案例如下:

lua

local result = Actor:Jump(objId)

GetRidingActorObjId​

参数及类型:

objid:number角色objid

返回值及类型:

objid:number生物objid

该方法的主要作用: 获取骑乘生物的objid

具体使用案例如下:

lua

local ridingObjId = Actor:GetRidingActorObjId(Player:GetHostUin())

GetFaceDirection​

参数及类型:

objid:number对象objid

返回值及类型:

pos:table轴向上的方向

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

具体使用案例如下:

lua

local face = Actor:GetFaceDirection(objId)

TryMoveToActor​

参数及类型:

objid:number执行动作的对象id

targetObjid:number目标的对象id

speed:number移动速度

返回值及类型:

ret:bool成功(true)

该方法的主要作用: 使对象向目标行动者移动(如果执行对象是刚创建出来的需要加个等待时间)

具体使用案例如下:

lua

local objs = World:SpawnCreature(x + 5, y + 1, z, 3400, 1, true, WorldId)

local objId = objs[1]

self:ThreadWait(0.2)

-- 创建嘟嘟鸟往房主走

local result = Actor:TryMoveToActor(objId, Player:GetHostUin(), 5)

SetFaceDirection​

参数及类型:

objid:number对象objid

x,y,z:number轴向上的方向

返回值及类型:

ret:bool成功(true)

该方法的主要作用: 设置对象朝向

具体使用案例如下:

lua

local result = Actor:SetFaceDirection(objId, 0, 90, 0)

KillSelf​

参数及类型:

objid:number生物objid

返回值及类型:

ret:bool成功(true)

该方法的主要作用: 击败对象

具体使用案例如下:

lua

local result = Actor:KillSelf(objId)

SetAttr​

参数及类型:

objid:number角色objid

atttype:number属性类型枚举RoleAttrRoleAttr

val:number属性值

返回值及类型:

ret:bool设置成功(true)

该方法的主要作用: 设置角色属性

具体使用案例如下:

lua

-- 设置攻击力300

local result = Actor:SetAttr(objId, RoleAttr.Atk, 300)

IncreasesAttr​

参数及类型:

objid:number角色objid

atttype:number属性类型枚举RoleAttrRoleAttr

val:number增加值

返回值及类型:

ret:bool成功(true)

该方法的主要作用: 增加角色属性值

具体使用案例如下:

lua

local ret = Actor:IncreasesAttr(objid, atttype, val)

GetAttr​

参数及类型:

objid:number角色objid

atttype:number属性类型

返回值及类型:

value:number属性值

该方法的主要作用: 获取角色属性值

具体使用案例如下:

lua

-- 获取最大血量

local maxHp = Actor:GetAttr(objId, RoleAttr.MaxHp)

SetActorPermissions​

参数及类型:

objid:number对象Uin

actionattr:number行为枚举 AbilityAbility

switch:boolean是否开启

返回值及类型:

ret:bool成功(true)

该方法的主要作用: 设置对象权限

具体使用案例如下:

lua

local result = Actor:SetActorPermissions(objId, Ability.EnableBeattacked, true)

GetActorPermissions​

参数及类型:

objid:number对象Uin

actionattr:number行为枚举 AbilityAbility

返回值及类型:

ret:bool开关

该方法的主要作用: 获取对象权限

具体使用案例如下:

lua

local state = Actor:GetActorPermissions(objId, Ability.Attack)

SetFaceYaw​

参数及类型:

objid:number生物objid

yaw:number面朝角度

返回值及类型:

ret:bool设置成功(true)

该方法的主要作用: 设置对象面向角度

具体使用案例如下:

lua

local result = Actor:SetFaceYaw(objId, 90)

GetFaceYaw​

参数及类型:

objid:number生物objid

返回值及类型:

yaw:number面朝角度

该方法的主要作用: 获取actor视角偏移角度

具体使用案例如下:

lua

local yaw = Actor:GetFaceYaw(objId)

SetFacePitch​

参数及类型:

objid:number生物objid

pitch:number面仰角度

返回值及类型:

ret:bool设置成功(true)

该方法的主要作用: 设置actor视角仰望角度

具体使用案例如下:

lua

local pitch = Actor:GetFacePitch(Player:GetHostUin())

GetFacePitch​

参数及类型:

objid:number生物objid

返回值及类型:

pitch:number仰望角度

该方法的主要作用: 获取actor视角仰望角度

具体使用案例如下:

lua

local pitch = Actor:GetFacePitch(objid)

SetPosition​

参数及类型:

objid:number角色objid

x:number目标X坐标

y:number目标Y坐标

z:number目标Z坐标

返回值及类型:

ret:bool设置成功(true)

该方法的主要作用: 设置角色位置

具体使用案例如下:

lua

local result = Actor:SetPosition(objId, x, y, z)

GetPosition​

参数及类型:

objid:number对象objid

返回值及类型:

x:number目标X坐标

y:number目标Y坐标

z:number目标Z坐标

该方法的主要作用: 获取对象位置

具体使用案例如下:

lua

local x, y, z = Actor:GetPosition(objId)

ChangeCustomModel​

参数及类型:

objid:number对象objid

modleName:string对象外观描述

返回值及类型:

ret:bool成功(true),

该方法的主要作用: 改变对象外观

具体使用案例如下:

lua

-- 改变玩家外观为萤火虫

local result = Actor:ChangeCustomModel(Player:GetHostUin(), "mob_3419")

RecoverinitialModel​

参数及类型:

objid:number对象objid

返回值及类型:

code:bool成功(true)

该方法的主要作用: 恢复对象外观

具体使用案例如下:

lua

local result = Actor:RecoverinitialModel(Player:GetHostUin())

ActorHurt​

参数及类型:

objid:number攻击者对象的objid

targetid:number目标对象的objid

damage:number伤害值

attacktype:number伤害类型枚举(HurtType)HurtType

ignoreResist:bool忽略伤害抵抗

ignoreTriggerEvent:bool忽略触发伤害事件

返回值及类型:

ret:bool成功(true)

该方法的主要作用: 使对象A对对象B造成伤害

具体使用案例如下:

lua

-- 玩家对生物造成近战伤害10点

local result = Actor:ActorHurt(Player:GetHostUin(), objId, 10, HurtType.Melee)

SetImmuneType​

参数及类型:

objid:number对象objid

immunetype:number伤害类型枚举(HurtType)HurtType

enable:bool是否开启

返回值及类型:

code:bool成功(true)

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

具体使用案例如下:

lua

-- 设置免疫爆炸伤害

local result = Actor:SetImmuneType(objId, HurtType.Bomb, true)

-- 设置免疫所有伤害

Actor:SetImmuneType(objId, HurtType.All, true)

ChangActorMoveType​

参数及类型:

objid:number对象id

moveType:number行枚举 MoveTypeMoveType

返回值及类型: return:bool。如果角色没有设置的移动模式对应的能力,返回失败。

该方法的主要作用: 改变玩家移动方式

具体使用案例如下:

lua

local result = Actor:ChangActorMoveType(Player:GetHostUin(), MoveType.Flying)

GetActorMovementMode​

参数及类型:

objid:number对象id

返回值及类型:

return:number返回玩家的移动模式

该方法的主要作用: 取角色的移动模式

具体使用案例如下:

lua

local moveType = Actor:GetActorMovementMode(Player:GetHostUin())

GetBoundSzie​

参数及类型:

objid:number角色objid

返回值及类型:

vec:table返回值

该方法的主要作用: 获取模型大小值

具体使用案例如下:

lua

local size = Actor:GetBoundSzie(objId)

RandomFacadeID​

参数及类型: 无

返回值及类型:

ret:string随机外观ID

该方法的主要作用: 随机一个外观获取其 id字符串

具体使用案例如下:

lua

local facadeID = Actor:RandomFacadeID()

GetObjType​

参数及类型:

objid:number生物objid

返回值及类型:

ret:itype获取结果 ObjType

该方法的主要作用: 判断对象是否是玩家/生物

具体使用案例如下:

lua

local objType = Actor:GetObjType(objId)

TryMoveToPos​

参数及类型:

objid:number角色objid

x,y,z:number坐标

cancontrol:bool是否能控制

bshowtip:bool是否显示提示

返回值及类型:

ret:bool移动成功(true)

该方法的主要作用: 尝试移动到某个位置走寻路 方块坐标

具体使用案例如下:

lua

local result = Actor:TryMoveToPos(objId, x + 10, y + 1, z, false, false)

AppendSpeed​

参数及类型:

objid:number对象objid

x,y,z:number轴向方向上的速度大小

返回值及类型:

code:bool成功(true)

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

具体使用案例如下:

lua

-- 给对象增加个x轴20,y轴10,z轴0的移动速度

local result = Actor:AppendSpeed(objId, 20, 10, 0)

FindNearestBlock​

参数及类型:

objid:number对象objid

blockid:number查找的方块类型

blockRange:number查找范围(传1表示1格方块距离)

返回值及类型:

x,y,z:number方块坐标

该方法的主要作用: 寻找对象附近某个类型方块的最近位置

具体使用案例如下:

lua

local x|y|z = Actor:FindNearestBlock(objid, blockid, blockRange)

GetEyeHeight​

参数及类型:

objid:number角色objid

返回值及类型:

hight:number高度

该方法的主要作用: 获取角色高度

具体使用案例如下:

lua

local height = Actor:GetEyeHeight(objId)

ClearActorWithId​

参数及类型:

actorid:number:生物类型,bkill:bool:是否杀死生物(默认false,可以区分是否产生掉落物)

worldId:number星球id(默认当前主机所在星球)

返回值及类型:

ret:bool成功(true)

该方法的主要作用: 清除生物类型为actorid的生物

具体使用案例如下:

lua

local result = Actor:ClearActorWithId(3400, false, WorldId)

local count = 0

for _, objId in ipairs(objs) do

local obj = GameObject:FindObject(objId)

if obj then

count = count + 1

end

end

IsExist​

参数及类型:

objid:number生物objid

返回值及类型:

ret:bool存在(true)

该方法的主要作用: 对象是否存在

具体使用案例如下:

lua

local isExist = Actor:IsExist(objId)

PlayAnim​

参数及类型:

objid:number对象id

animid:number,string动作id

speed:number播放速度

loop:number播放模式(AnimMode)AnimMode

返回值及类型:

ret:bool成功(true)

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

具体使用案例如下:

lua

local result = Actor:PlayAnim(objId, 100100, 1, AnimMode.Default)

PlayHandAnim​

参数及类型:

objid:number对象id

animid:number,string动作id

speed:number播放速度

loop:bool,number是否循环或循环模式

返回值及类型:

ret:bool成功(true)

该方法的主要作用: 对象手持播放动作

具体使用案例如下:

lua

local result = Actor:PlayHandAnim(objId, 100100, 1, AnimMode.Once)

MountActor​

参数及类型:

objid:number对象id

rideObjid:number被骑乘对象

isContrl:bool是否控制

isCloseAI:bool是否关闭AI

返回值及类型:

ret:bool成功(true)

该方法的主要作用: 角色骑乘

具体使用案例如下:

lua

local result = Actor:MountActor(Player:GetHostUin(), objId, true, true)

DisMountActor​

参数及类型:

objid:number对象id

返回值及类型:

ret:bool成功(true)

该方法的主要作用: 角色取消骑乘

具体使用案例如下:

lua

local result = Actor:DisMountActor(Player:GetHostUin())

PickupActor​

参数及类型:

objidA:number对象objidA

objidB:number对象objidB

返回值及类型:

ret:bool成功(true) 失败(false)

该方法的主要作用: 角色和角色尝试举起

具体使用案例如下:

lua

-- local result = Actor:PickupActor(uin, objId)

-- Actor:EscapePickup(objId) --取消抓举

--偏移量方块距离

local offset = {

x = 0,

y = 1,

z = 0,

}

--偏移量

local rotate = {

x = 0,

y = 0,

z = 0,

}

local result = Actor:PickupActor(uin,objId,100502,100113,offset,rotate)

TryPickupActorForward​

参数及类型:

objid:number角色objid

distance:number距离

返回值及类型:

ret:bool抓取成功(true)

该方法的主要作用: 尝试抓取前方指定距离的对象

具体使用案例如下:

lua

local result = Actor:TryPickupActorForward(Player:GetHostUin(), 30)

DropActor​

参数及类型:

objid:number投掷动作对象objid

dir:table投掷方向

isThrow:boolean是否投掷

speed:number投掷速度

hasInertance:boolean是否有惯性

返回值及类型:

ret:bool投掷成功(true)

该方法的主要作用: 尝试投掷角色

具体使用案例如下:

lua

local result = Actor:DropActor(Player:GetHostUin(), {x = 1, y = 2, z = 0}, true, 500, true)

EscapePickup​

参数及类型:

objid:number被抓举的对象objid

返回值及类型:

ret:bool成功(true)

该方法的主要作用: 尝试逃脱抓举

具体使用案例如下:

lua

self:ThreadWait(0.1)

local result = Actor:EscapePickup(objId)

SetBtreeVarValue​

参数及类型:

objid:number生物对象objid

varid:string变量id

val:any根据需要传入值

返回值及类型:

ret:bool成功(true) 失败(false) 组数据无法设置

该方法的主要作用: 设置行为树变量

具体使用案例如下:

lua

local result = Actor:SetBtreeVarValue(objId, "7321982627776387751_26396", 1)

GetBtreeVarValue​

参数及类型:

objid:number生物对象objid

varid:string变量id

返回值及类型: ret:成功有值 失败(nil) 组数据无法获取

该方法的主要作用: 获取行为树变量

具体使用案例如下:

lua

local result = Actor:GetBtreeVarValue(objId, "7321982627776387751_26396")

GetDropItemInstanceId​

参数及类型:

objid:number掉落物objid

返回值及类型:

InstanceId:string道具实例id

该方法的主要作用: 根据掉落物objid获取道具实例id

具体使用案例如下:

lua

local InstanceId = Actor:GetDropItemInstanceId(objid)

SetAblePick​

参数及类型:

objid:number掉落物objid

able:boolean是否可以拾取

返回值及类型:

ret:bool成功(true)

该方法的主要作用: 设置掉落物是否可以拾取

具体使用案例如下:

lua

local result = Actor:SetAblePick(objId, false)

GetEntityFacade​

参数及类型:

objid:string实体类型

返回值及类型:

ret:string外观

该方法的主要作用: 获取实体类型外观

具体使用案例如下:

lua

--传入自定义实体prefabid

local result = Actor:GetEntityFacade("s_7509852525127419914_23098")

PickupItem​

参数及类型:

objid:number角色objid

itemobjid:number掉落物或投掷物objid

bforcepickup:boolean是否强制拾取

返回值及类型:

num:number拾取数量

该方法的主要作用: 角色拾取地上的掉落物或者投掷物

具体使用案例如下:

lua

local result = Actor:PickupItem(Player:GetHostUin(), objId)

if result then

print("拾取掉落物成功 数量 = " ,result)

end

GetPickupObjID​

参数及类型:

objid:number角色objid

roleType:number角色类型

返回值及类型:

ret:number举起的角色objid

该方法的主要作用: 角色举起的角色

具体使用案例如下:

lua

local ret = Actor:GetPickupObjID(objid, roleType)

HasTags​

参数及类型:

objid:number对象objid

tags:string,table标签或标签数组

mathcmode:number匹配方式 (MatchMode)MatchMode

bexactmatch:bool每条标签是否精确匹配

返回值及类型:

ret:bool成功(true) 失败(false)

该方法的主要作用: 添加标签

具体使用案例如下:

lua

local result = Actor:HasTags(uin, {"A.B.C", "A.D.E", "F.G.H" },MatchMode.All,true)

local result2 = Actor:HasTags(uin, {"A.B.C", "D.E", "S.T.D" },MatchMode.All,false)

local result3 = Actor:HasTags(uin, {"A.B.C","B.C", },MatchMode.Any,false)

local result4 = Actor:HasTags(uin, { "G.H" },MatchMode.Any,false)

GetTags​

参数及类型:

objid:number对象objid

返回值及类型: ret:table:标签(nil:失败)

该方法的主要作用: 获取对象标签

具体使用案例如下:

lua

local tags = Actor:GetTags(uin)

if tags then

print("玩家定义中的标签:", tags)

end

AddTags​

参数及类型:

objid:number对象objid

tags:string,table标签或标签数组(数值字母下划线组合)

icount:number引用计数

返回值及类型:

ret:bool成功(true) 失败(false)

该方法的主要作用: 添加标签

具体使用案例如下:

lua

local tags = { "A.B.C", "A.D.E", "F.G.H" }

local result = Actor:AddTags(uin, tags, 1)

if result then

print("添加标签成功", result)

end

RemoveTags​

参数及类型:

objid:number对象objid

tags:string,table标签或标签数组

icount:number引用计数(默认为0 ,传0全部删除)

返回值及类型:

ret:bool成功(true) 失败(false)

该方法的主要作用: 删除标签

具体使用案例如下:

lua

local ret = Actor:RemoveTags(objid, tags, icount)

ClearTags​

参数及类型:

objid:number对象objid

返回值及类型:

ret:bool成功(true) 失败(false)

该方法的主要作用: 清空所有标签

具体使用案例如下:

lua

local result = Actor:ClearTags(uin)

PlayAnimByObj​

参数及类型:

objidA:number对象objidA

objidB:number对象objidB

breplay:boolean是否重新播放 默认false

返回值及类型:

ret:bool成功(true)仅玩家,生物 实体生效,模型外观最好一致

该方法的主要作用: 对象A播放对象B动作

具体使用案例如下:

lua

local ret = Actor:PlayAnim(uin, "100101", 1, AnimMode.Loop) -- 玩家播放奔跑动画

if ret then

self:ThreadWait(0.2)

-- 如果objId对应的模型如果没有动画 就播放不成功 跟随播放的生物最好不要动 可能会被其他状态打断

ret = Actor:PlayAnimByObj(objId , uin ,true) -- 重新播放

end

Last updated: 2026/1/13 11:46

Pager

Previous page

对象模块管理接口 GameObject

Next page

玩家模块管理接口 Player

相关推荐
我星期八休息1 小时前
深入理解哈希表
开发语言·数据结构·c++·算法·哈希算法·散列表
IpdataCloud1 小时前
指纹浏览器为什么要自建IP检测?基于IP数据云离线库的架构实践
数据库·网络协议·tcp/ip·架构·edge浏览器
一叶落4382 小时前
LeetCode 54. 螺旋矩阵(C语言详解)——模拟 + 四边界收缩
java·c语言·数据结构·算法·leetcode·矩阵
翻斗包菜2 小时前
MySQL 从入门到精通:数据库核心知识与实战指南
数据库·mysql
寻寻觅觅☆2 小时前
东华OJ-进阶题-19-排队打水问题(C++)
开发语言·c++·算法
前进的李工2 小时前
LangChain使用之Model IO(提示词模版之PromptTemplate)
开发语言·人工智能·python·langchain
Storynone2 小时前
【Day27】LeetCode:56. 合并区间,738. 单调递增的数字
python·算法·leetcode
superkcl20222 小时前
C++初始化列表
开发语言·c++
biter down2 小时前
C++设计一个不能被拷贝的特殊类
开发语言·c++