跳转到内容

Character

玩家角色

可以对玩家的角色进行操作

枚举列表

Character.ATTR

  • 描述: 角色属性值类型(数值类型)
成员名称成员说明
MaxWalkSpeed移动速度,默认值:800
JumpZVelocity跳跃速度,默认值:1260
GravityScale重力系数,默认值:1
MaxHealth最大生命值

Character.ATTR_ENABLE

  • 描述: 角色属性值类型(开关类型)
成员名称成员说明
bEnableInput输入
CanMove移动
CanJump跳跃
CanGrab抓取
CanBeGrab被抓取
CanPickProp拾取道具
CanUseProp使用道具
OpenPhysics物理模拟
MeshVisibility可见性

Character.MOVE_DIR

  • 描述: 角色方向
成员名称成员说明
Forward前方
Back后方
Left左边
Right右边

Character.STATE

  • 描述: 角色状态
成员名称成员说明
IsAir空中
Grab抓举
BeGrabbed被抓举
Rush冲刺
Idle待机
Move移动
Dive飞扑

Character.SOCKET_NAME

  • 描述: 骨骼节点
成员名称成员说明
Root脚底
Head
Hand_L左手
Hand_R右手
Pelvis腰部
Spine脊柱
Spine1胸部
Neck脖子
ThighL左大腿
ThighR右大腿
Calf_L左小腿
Calf_R右小腿
Foot_L左脚
Foot_R右脚
Clavicle_L左肩
Clavicle_R右肩
UpperArm_L左上臂
UpperArm_R右上臂
Forearm_L左前臂
Forearm_R右前臂
Prop_L左手道具点
Prop_R右手道具点

Character.SOCKET_MODE

  • 描述: 骨骼吸附模式
成员名称成员说明
KeepRelative保持相对
KeepWorld保持世界
SnapToTarget吸附至骨骼

Character.EQUIP_TYPE

  • 描述: 装备武器类型
成员名称成员说明
Weapon武器
Projectile投掷物

函数列表

GetLocalPlayerId

  • 描述: 获取本地自身角色ID

  • 范围: 客户端

返回字段:

返回字段字段类型说明
playerIDnumber当前自身玩家ID
local localPlayerId = Character:GetLocalPlayerId()

GetAllPlayerIds

  • 描述: 获取所有服务端上的真实玩家和机器人玩家ID

  • 范围: 服务端、客户端

返回字段:

返回字段字段类型说明
playerIDsnumber[]服务端上的真实玩家和机器人玩家ID数组
local playerIDs = Character:GetAllPlayerIds()

IsAICharacter

  • 描述: 判断角色是否ai

  • 范围: 服务端

参数列表:

参数类型说明
PlayerIdnumber角色id

返回字段:

返回字段字段类型说明
isAIboolean是否AI角色
local isAI = Character:IsAICharacter(PlayerId)

GetAIPlayerIds

  • 描述: 获取所有AI角色的id

  • 范围: 服务端

返回字段:

返回字段字段类型说明
idsnumber[]所有AI角色id组成的数组
local ids = Character:GetAIPlayerIds()

SetPlayersVictory

  • 描述: 让【玩家|玩家组】游戏胜利

  • 范围: 服务端

  • 警告: 该动作执行后对应玩家的游戏结果为最终结果不会再被覆盖,请谨慎操作

参数列表:

参数类型说明
PlayerListnumber[]玩家ID数组
local playerIds = Character:GetAllPlayerIds()
Character:SetPlayersVictory(playerIds)

SetPlayersDefeat

  • 描述: 让【玩家|玩家组】游戏失败

  • 范围: 服务端

  • 警告: 该动作执行后对应玩家的游戏结果为最终结果不会再被覆盖,请谨慎操作

参数列表:

参数类型说明
PlayerListnumber[]玩家ID数组
local playerIds = Character:GetAllPlayerIds()
Character:SetPlayersDefeat(playerIds)

SetMoveReplicated

  • 描述: 设置角色移动同步

  • 范围: 服务端

参数列表:

参数类型说明
PlayerIDnumber角色ID
Replicatedbooleantrue-开启移动同步,false-关闭移动同步
local localPlayerId = Character:GetLocalPlayerId()
Character:SetMoveReplicated(localPlayerId, false)

SetPosition

  • 描述: 设置角色的位置

  • 范围: 服务端、客户端

  • 警告: 最终会以服务端为准

参数列表:

参数类型说明
PlayerIDnumber角色ID
PosEngine.Vector位置坐标
local localPlayerId = Character:GetLocalPlayerId()
local pos = Engine.Vector(1000, 1000, 200)
Character:SetPosition(localPlayerId, pos)

SetForward

  • 描述: 设置角色的朝向,相当于指定方向向量

  • 范围: 服务端、客户端

参数列表:

参数类型说明
PlayerIDnumber角色ID
ForwardEngine.Vector朝向方向向量
local localPlayerId = Character:GetLocalPlayerId()
Character:SetForward(localPlayerId, Engine.Vector(-1, 0, 0))

SetRotation

  • 描述: 设置角色的旋转角度

  • 范围: 服务端、客户端

参数列表:

参数类型说明
PlayerIDnumber角色ID
RotEngine.Rotator旋转
local localPlayerId = Character:GetLocalPlayerId()
local rot = Engine.Rotator(90, 180, 90)
Character:SetRotation(localPlayerId, rot)

SetScale

  • 描述: 设置角色的模型大小

  • 范围: 服务端、客户端

  • 警告: 最终会以服务端为准

参数列表:

参数类型说明
PlayerIDnumber角色ID
Scalenumber缩放倍率
local localPlayerId = Character:GetLocalPlayerId()
Character:SetScale(localPlayerId, 2)

ChangeAttribute

  • 描述: 设置角色的角色属性值。支持设置:移动速度,跳跃速度或重力系数属性

  • 范围: 服务端、客户端

  • 警告: 最终会以服务端为准

参数列表:

参数类型说明
PlayerIDnumber角色ID
AttributeCharacter.ATTR角色属性值类型
Valuenumber角色属性值大小
local localPlayerId = Character:GetLocalPlayerId()
Character:ChangeAttribute(localPlayerId, Character.ATTR.MaxWalkSpeed, 1600)

SetAttributeEnabled

  • 描述: 设置角色属性是否启用,支持设置:输入,移动,跳跃,抓取,被抓取,拾取道具,使用道具,物理模拟,可见性

  • 范围: 服务端、客户端

  • 警告: 服务端会覆盖客户端设置

参数列表:

参数类型说明
PlayerIDnumber角色ID
AttributeCharacter.ATTR_ENABLE角色属性值类型
IsEnableboolean是否开启
local localPlayerId = Character:GetLocalPlayerId()
Character:SetAttributeEnabled(localPlayerId, Character.ATTR_ENABLE.CanMove, false)

IsAttributeEnabled

  • 描述: 判断角色指定属性是否为启用

  • 范围: 服务端、客户端

参数列表:

参数类型说明
PlayerIDnumber角色ID
AttributeCharacter.ATTR_ENABLE角色属性值类型

返回字段:

返回字段字段类型说明
isEnabledboolean是否为启用
local localPlayerId = Character:GetLocalPlayerId()
local isEnabled = Character:IsAttributeEnabled(localPlayerId, Character.ATTR_ENABLE.CanMove)

SetModel

  • 描述: 将角色模型替换为其他游戏元素。可用于改变角色外观。

  • 范围: 客户端

参数列表:

参数类型说明
PlayerIDnumber角色ID
ModelIdnumber替换的模型id(编辑器下元件的类型id)
local localPlayerId = Character:GetLocalPlayerId()
Character:SetModel(localPlayerId, 1101004001001033)

RestoreModel

  • 描述: 还原角色本身的模型外观。

  • 范围: 客户端

参数列表:

参数类型说明
PlayerIDnumber角色ID
local localPlayerId = Character:GetLocalPlayerId()
Character:RestoreModel(localPlayerId)

GetModel

  • 描述: 返回角色模型id

  • 范围: 客户端

参数列表:

参数类型说明
PlayerIDnumber角色ID

返回字段:

返回字段字段类型说明
modelIdnumber角色模型id
local localPlayerId = Character:GetLocalPlayerId()
local modelId = Character:GetModel(localPlayerId)

IsCharacterWithModel

  • 描述: 判断角色是否为指定模型

  • 范围: 客户端

参数列表:

参数类型说明
PlayerIDnumber角色ID
ModelIdnumber指定模型ID

返回字段:

返回字段字段类型说明
bWithboolean角色是否为指定模型
local localPlayerId = Character:GetLocalPlayerId()
local bWith = Character:IsCharacterWithModel(localPlayerId, 1101004001001033)

SetCharacterWithCreature

  • 描述: 将角色形象替换为指定生物形象

  • 范围: 客户端

参数列表:

参数类型说明
PlayerIdnumber角色ID
CreatureIdnumber生物ID
Character:SetCharacterWithCreature(Character:GetPlayerBySideAndIndex(0, 1), 228)

SetOutLineColor

  • 描述: 设置角色的描边颜色,可选择设置描边强度以及是否无视遮挡

  • 范围: 服务端

参数列表:

参数类型说明
PlayerIDnumber角色ID
Colorstring描边颜色,十六进制代码:#FFFFFFFF
Strengthnumber描边强度,取值范围:0~5
IsIngoreShieldboolean是否无视遮挡
local color, strength, isIngoreShield = "#23E0F0", 1, true
local playerIds = Character:GetAllPlayerIds()
for _, v in ipairs(playerIds) do
Character:SetOutLineColor(v, color, strength, isIngoreShield)
end

CloseOutLine

  • 描述: 还原角色本身的描边颜色

  • 范围: 服务端

参数列表:

参数类型说明
PlayerIDnumber角色ID
local color, strength, isIngoreShield = "#23E0F0", 1, true
local playerIds = Character:GetAllPlayerIds()
for _, v in ipairs(playerIds) do
Character:CloseOutLine(v)
end

GetOutLineColor

  • 描述: 返回角色描边颜色

  • 范围: 服务端、客户端

参数列表:

参数类型说明
PlayerIDnumber角色ID

返回字段:

返回字段字段类型说明
outLineColorstring角色描边颜色,十六进制代码:#FFFFFFFF
local localPlayerId = Character:GetLocalPlayerId()
local color = Character:GetOutLineColor(localPlayerId)

IsEqualOutLineColor

  • 描述: 判断角色描边颜色

  • 范围: 服务端、客户端

参数列表:

参数类型说明
PlayerIDnumber角色ID
Colorstring描边颜色,十六进制代码:#FFFFFFFF

返回字段:

返回字段字段类型说明
isEqualboolean颜色是否相等
local localPlayerId = Character:GetLocalPlayerId()
local isEqual = Character:IsEqualOutLineColor(localPlayerId, "#FFFFFFFF")

SetIdleShowEnabled

  • 描述: 设置是否开启角色的待机动画,关闭状态下角色将不会自动播放时装自带的待机动画效果

  • 范围: 服务端、客户端

参数列表:

参数类型说明
PlayerIDnumber角色ID
Showboolean是否开启角色的待机动画
local localPlayerId = Character:GetLocalPlayerId()
Character:SetIdleShowEnabled(localPlayerId, false)

SetAnimationOpen

  • 描述: 开启或禁用主角是否可以使用互动动作

  • 范围: 客户端

参数列表:

参数类型说明
Openboolean主角是否可以使用互动动作
Character:SetAnimationOpen(false)

AddProp

  • 描述: 让角色获得指定道具物品

  • 范围: 服务端

参数列表:

参数类型说明
PlayerIDnumber角色ID
PropIdnumber道具Id
local playerIds = Character:GetAllPlayerIds()
for _, v in ipairs(playerIds) do
Character:AddProp(v, 1106025000000000)
end

RemoveProp

  • 描述: 删除角色道具物品

  • 范围: 服务端

参数列表:

参数类型说明
PlayerIDnumber角色ID
local playerIds = Character:GetAllPlayerIds()
for _, v in ipairs(playerIds) do
Character:RemoveProp(v)
end

UseProp

  • 描述: 角色使用道具

  • 范围: 服务端

参数列表:

参数类型说明
PlayerIdnumber角色id
PropDirEngine.Vector道具使用方向
Character:UseProp(PlayerId, Engine.Vector(0, 1, 0))

GetCharacterCurrentProp

  • 描述: 返回角色持有道具

  • 范围: 服务端、客户端

参数列表:

参数类型说明
PlayerIDnumber角色ID

返回字段:

返回字段字段类型说明
propIdnumber角色持有道具id,在”开发者文档->元梦之星定义->PropId”中查看
local localPlayerId = Character:GetLocalPlayerId()
local propId = Character:GetCharacterCurrentProp(localPlayerId)

GetCurrentWeaponProp

  • 描述: 返回角色当前持有的武器物品

  • 范围: 服务端、客户端

参数列表:

参数类型说明
PlayerIDnumber角色ID
EquipType[Character.EQUIP_TYPE](#characterequip_type) 装备武器物品类型

返回字段:

返回字段字段类型说明
weaponPropIdstring角色持有武器道具
local localPlayerId = Character:GetLocalPlayerId()
local weaponPropId = Character:GetCurrentWeaponProp(localPlayerId, Character.EQUIP_TYPE.Weapon)

IsCharacterHasPropOnHand

  • 描述: 判断角色是否持有道具

  • 范围: 服务端、客户端

参数列表:

参数类型说明
PlayerIDnumber角色ID

返回字段:

返回字段字段类型说明
hasOnHandboolean是否持有道具
local localPlayerId = Character:GetLocalPlayerId()
local hasOnHand = Character:IsCharacterHasPropOnHand(localPlayerId)

IsHoldingProp

  • 描述: 判断角色是否持有指定道具

  • 范围: 服务端、客户端

参数列表:

参数类型说明
PlayerIDnumber角色ID
PropIdnumber道具Id

返回字段:

返回字段字段类型说明
hasOnHandboolean是否持有道具
local localPlayerId = Character:GetLocalPlayerId()
local hasOnHand = Character:IsHoldingProp(localPlayerId, 1106025000000000)

AddImpulse

  • 描述: 给角色添加向某个方向的力

  • 范围: 服务端、客户端

  • 警告: 最终会以服务端为准

参数列表:

参数类型说明
PlayerIDnumber角色ID
ImpulseVectorEngine.Vector方向力
local playerIds = Character:GetAllPlayerIds()
local impulse = Engine.Vector(0, 0, 1000)
for _, v in ipairs(playerIds) do
Character:AddImpulse(v, impulse)
end

Eject

  • 描述: 让角色进行弹射

  • 范围: 服务端、客户端

  • 警告: 最终会以服务端为准

参数列表:

参数类型说明
PlayerIDnumber角色ID
Timenumber弹射时间
ImpulseVectorEngine.Vector方向力
local playerIds = Character:GetAllPlayerIds()
local time, impulse = 2, Engine.Vector(1000, 0, 1000)
for _, v in ipairs(playerIds) do
Character:Eject(v, time, impulse)
end

SetTrackTargetMove

  • 描述: 让角色追踪某个元件|角色|生物,并设置其速度等。可用于制作角色追击指定玩家

  • 范围: 服务端、客户端

  • 警告: 移动控制权归属于本地玩家客户端,正常应当在客户端传入localPlayer对自身角色进行移动控制

  • 警告: 如果玩家不在线被服务器托管,则移动控制权归属于服务器,可以在服务端控制该角色移动

参数列表:

参数类型说明
PlayerIDnumber角色ID
TargetIdnumber目标ID(元件|角色|生物)
InitSpeednumber初始速度
Accelerationnumber加速度
MaxVelocitynumber最大速度
DistanceKeepnumber保持间距
local localPlayerId = Character:GetLocalPlayerId()
local initSpeed, acceleration, maxVelocity, distanceKeep = 500, 100, 1000, 500
Character:SetTrackTargetMove(localPlayerId, 343, initSpeed, acceleration, maxVelocity, distanceKeep)

StopTracking

  • 描述: 让角色停止追踪运动

  • 范围: 服务端、客户端

  • 警告: 移动控制权归属于本地玩家客户端,正常应当在客户端传入localPlayer对自身角色进行移动控制

  • 警告: 如果玩家不在线被服务器托管,则移动控制权归属于服务器,可以在服务端控制该角色移动

参数列表:

参数类型说明
PlayerIDnumber角色ID
local localPlayerId = Character:GetLocalPlayerId()
Character:StopTracking(localPlayerId)

Move

  • 描述: 让角色朝指定方向移动,并设置其速度与时间

  • 范围: 服务端、客户端

  • 警告: 移动控制权归属于本地玩家客户端,正常应当在客户端传入localPlayer对自身角色进行移动控制

  • 警告: 如果玩家不在线被服务器托管,则移动控制权归属于服务器,可以在服务端控制该角色移动

参数列表:

参数类型说明
PlayerIDnumber角色ID
DirectionCharacter.MOVE_DIR角色移动方向
Speednumber角色移动速度
Secondsnumber角色移动时间
local localPlayerId = Character:GetLocalPlayerId()
local speed, seconds = 500, 5
Character:Move(localPlayerId, Character.MOVE_DIR.Forward, speed, seconds)

MoveToPosition

  • 描述: 让角色朝目标点位置移动

  • 范围: 服务端、客户端

  • 警告: 移动控制权归属于本地玩家客户端,正常应当在客户端传入localPlayer对自身角色进行移动控制

  • 警告: 如果玩家不在线被服务器托管,则移动控制权归属于服务器,可以在服务端控制该角色移动

参数列表:

参数类型说明
PlayerIDnumber角色ID
PosEngine.Vector角色移动目标点位置
Secondsnumber角色移动时间
local localPlayerId = Character:GetLocalPlayerId()
local pos, seconds = Engine.Vector(-1000, 1000, 100), 5
Character:MoveToPosition(localPlayerId, pos, seconds)

StopMove

  • 描述: 让角色停止移动

  • 范围: 服务端、客户端

  • 警告: 移动控制权归属于本地玩家客户端,正常应当在客户端传入localPlayer对自身角色进行移动控制

  • 警告: 如果玩家不在线被服务器托管,则移动控制权归属于服务器,可以在服务端控制该角色移动

参数列表:

参数类型说明
PlayerIDnumber角色ID
local localPlayerId = Character:GetLocalPlayerId()
Character:StopMove(localPlayerId)

Jump

  • 描述: 让角色跳跃

  • 范围: 客户端

Character:Jump()

Dive

  • 描述: 让角色飞扑

  • 范围: 客户端

Character:Dive()

SprintedMove

  • 描述: 让角色冲刺

  • 范围: 客户端

Character:SprintedMove()

Grab

  • 描述: 让角色抓举

  • 范围: 服务端、客户端

参数列表:

参数类型说明
PlayerIDnumber角色ID
local localPlayerId = Character:GetLocalPlayerId()
Character:Grab(localPlayerId)

GrabTarget

  • 描述: 让角色举起其他单位。注意:该举起是无视距离的

  • 范围: 服务端、客户端

参数列表:

参数类型说明
PlayerIDnumber角色ID
TargetIdnumber目标Id
local localPlayerId = Character:GetLocalPlayerId()
Character:GrabTarget(localPlayerId, 343)

EndGrab

  • 描述: 让角色结束抓取,进行投掷

  • 范围: 服务端、客户端

参数列表:

参数类型说明
PlayerIDnumber角色ID
local localPlayerId = Character:GetLocalPlayerId()
Character:EndGrab(localPlayerId)

SetGrabAbility

  • 描述: 设置角色投掷参数

  • 范围: 服务端、客户端

参数列表:

参数类型说明
PlayerIDnumber角色ID
Anglenumber放下时的投掷角度
InitialVelocitynumber放下时的投掷初速度
IsAffectedByCharboolean放下过程是否受角色移动状态影响
local localPlayerId = Character:GetLocalPlayerId()
Character:SetGrabAbility(localPlayerId, angle, initialVelocity, isAffectedByChar)

ResetGrabAbility

  • 描述: 还原角色投掷参数

  • 范围: 服务端、客户端

参数列表:

参数类型说明
PlayerIDnumber角色ID
local localPlayerId = Character:GetLocalPlayerId()
Character:ResetGrabAbility(localPlayerId)

SetCharacterCanBeSpectator

  • 描述: 设置角色是否能进入观战列表

  • 范围: 服务端、客户端

参数列表:

参数类型说明
PlayerIDnumber角色ID
CanBeSpectatorboolean是否能进入观战
local localPlayerId = Character:GetLocalPlayerId()
Character:SetCharacterCanBeSpectator(localPlayerId, true)

SetCampVictory

  • 描述: 让指定的阵营内玩家游戏胜利,开启阵营后生效

  • 范围: 服务端

  • 警告: 需要在【地图设置】-【玩法设置】-【比赛形式】中选择积分赛-【开启阵营】

参数列表:

参数类型说明
TeamIDnumber阵营ID,按顺序排列:1、2、3、4…
Character:SetCampVictory(1)

IsPlayerObserve

  • 描述: 判断该玩家是否处于观战模式

  • 范围: 客户端

参数列表:

参数类型说明
PlayerIDnumber角色ID

返回字段:

返回字段字段类型说明
isObserveboolean是否处于观战模式
local localPlayerId = Character:GetLocalPlayerId()
local isObserve = Character:IsPlayerObserve(localPlayerId)

IsReconnect

  • 描述: 判断该玩家是否为断线重连

  • 范围: 服务端、客户端

参数列表:

参数类型说明
PlayerIDnumber角色ID

返回字段:

返回字段字段类型说明
isReconnectboolean是否断线重连
local localPlayerId = Character:GetLocalPlayerId()
local isReconnect = Character:IsReconnect(localPlayerId)

IsVisible

  • 描述: 判断角色是否可见

  • 范围: 服务端、客户端

参数列表:

参数类型说明
PlayerIDnumber角色ID

返回字段:

返回字段字段类型说明
isVisibleboolean是否可见
local localPlayerId = Character:GetLocalPlayerId()
local isVisible = Character:IsVisible(localPlayerId)

IsCharacterInState

  • 描述: 判断角色是否处于选定的状态

  • 范围: 服务端、客户端

参数列表:

参数类型说明
PlayerIDnumber角色ID
StateCharacter.STATE角色状态

返回字段:

返回字段字段类型说明
inStateboolean是否处于选定的状态
local localPlayerId = Character:GetLocalPlayerId()
local inState = Character:IsCharacterInState(localPlayerId, Character.STATE.Grab)

GetPlayerBySideAndIndex

  • 描述: 按局内编号获取本地玩家

  • 范围: 服务端、客户端

参数列表:

参数类型说明
TeamIDnumber阵营ID,按顺序排列:1、2、3、4…
Indexnumber玩家编号:1、2、3…

返回字段:

返回字段字段类型说明
playerIdnumber玩家Id
local playerId = Character:GetPlayerBySideAndIndex(1, 1)

GetTotalPlayerCount

  • 描述: 返回当前游戏中的玩家人数

  • 范围: 服务端、客户端

返回字段:

返回字段字段类型说明
countnumber玩家人数
local count = Character:GetTotalPlayerCount()

GetPosition

  • 描述: 返回角色位置

  • 范围: 服务端、客户端

参数列表:

参数类型说明
PlayerIDnumber角色ID

返回字段:

返回字段字段类型说明
posEngine.Vector角色位置
local localPlayerId = Character:GetLocalPlayerId()
local pos = Character:GetPosition(localPlayerId)

GetScale

  • 描述: 返回角色缩放

  • 范围: 服务端、客户端

参数列表:

参数类型说明
PlayerIDnumber角色ID

返回字段:

返回字段字段类型说明
scaleEngine.Vector角色缩放
local localPlayerId = Character:GetLocalPlayerId()
local scale = Character:GetScale(localPlayerId)

GetRotation

  • 描述: 返回角色旋转

  • 范围: 服务端、客户端

参数列表:

参数类型说明
PlayerIDnumber角色ID

返回字段:

返回字段字段类型说明
rotEngine.Rotator角色旋转
local localPlayerId = Character:GetLocalPlayerId()
local rot = Character:GetRotation(localPlayerId)
Log:PrintLog(string.format("rot X = %f, Y = %f, Z = %f", rot.X, rot.Y, rot.Z))

GetForward

  • 描述: 返回角色朝向

  • 范围: 服务端、客户端

参数列表:

参数类型说明
PlayerIDnumber角色ID

返回字段:

返回字段字段类型说明
forwardEngine.Vector角色朝向
local localPlayerId = Character:GetLocalPlayerId()
local forward = Character:GetForward(localPlayerId)

GetAttribute

  • 描述: 返回角色属性值

  • 范围: 服务端、客户端

参数列表:

参数类型说明
PlayerIDnumber角色ID
AttributeCharacter.ATTR角色属性值类型

返回字段:

返回字段字段类型说明
valuenumber角色属性值大小
local localPlayerId = Character:GetLocalPlayerId()
local value = Character:GetAttribute(localPlayerId, Character.ATTR.MaxWalkSpeed)

GetCharactersInBoxTrigger

  • 描述: 返回触发盒中所有角色的数组

  • 范围: 服务端、客户端

参数列表:

参数类型说明
ElementIDnumber触发盒元件实例Id

返回字段:

返回字段字段类型说明
idListnumber[]所有角色id数组
local idList = Character:GetCharactersInBoxTrigger(347)

GetCharactersInSphere

  • 描述: 返回球形区域内所有角色的表

  • 范围: 服务端、客户端

参数列表:

参数类型说明
CenterEngine.Vector球形区域中心点
Radiusnumber球形半径,单位为cm

返回字段:

返回字段字段类型说明
idListnumber[]所有角色id数组
local center, radius = Engine.Vector(0, 0, 200), 500
local idList = Character:GetCharactersInSphere(center, radius)

GetCharactersInRegion

  • 描述: 返回矩形区域内所有角色的表

  • 范围: 服务端、客户端

参数列表:

参数类型说明
CenterEngine.Vector矩形区域中心点
Lengthnumber矩形长,单位为cm
Widthnumber矩形宽,单位为cm
Heightnumber矩形高,单位为cm

返回字段:

返回字段字段类型说明
idListnumber[]所有角色id数组
local center, length, width, height = Engine.Vector(0, 0, 200), 500, 500, 500
local idList = Character:GetCharactersInRegion(center, length, width, height)

SetCanUseInteractiveProp

  • 描述: 设置角色互动道具使用权限

  • 范围: 服务端、客户端

参数列表:

参数类型说明
PlayerIdnumber玩家ID
Canbooleantrue-允许使用,false-禁止使用
local localPlayerId = Character:GetLocalPlayerId()
Character:SetCanUseInteractiveProp(localPlayerId, false)

SetCanUseInteractiveVehicle

  • 描述: 设置角色载具使用权限

  • 范围: 服务端、客户端

参数列表:

参数类型说明
PlayerIdnumber玩家ID
Canbooleantrue-允许使用,false-禁止使用
local localPlayerId = Character:GetLocalPlayerId()
Character:SetCanUseInteractiveVehicle(localPlayerId, false)

AICharacterBeginFire

  • 描述: 控制AI角色开火

  • 范围: 服务端

参数列表:

参数类型说明
PlayerIdnumber角色id
Character:AICharacterBeginFire(PlayerId)

AICharacterStopFire

  • 描述: 控制AI角色停止开火

  • 范围: 服务端

参数列表:

参数类型说明
PlayerIdnumber角色id
Character:AICharacterStopFire(PlayerId)

UseSkill

  • 描述: 让角色使用指定技能

  • 范围: 服务端 客户端

参数列表:

参数类型说明
playerIdnumber角色id
skillIdnumber技能id
local localPlayerId = Character:GetLocalPlayerId()
Character:UseSkill(localPlayerId, 1)