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
-
范围: 客户端
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| playerID | number | 当前自身玩家ID |
local localPlayerId = Character:GetLocalPlayerId()GetAllPlayerIds
-
描述: 获取所有服务端上的真实玩家和机器人玩家ID
-
范围: 服务端、客户端
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| playerIDs | number[] | 服务端上的真实玩家和机器人玩家ID数组 |
local playerIDs = Character:GetAllPlayerIds()IsAICharacter
-
描述: 判断角色是否ai
-
范围: 服务端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| PlayerId | number | 角色id |
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| isAI | boolean | 是否AI角色 |
local isAI = Character:IsAICharacter(PlayerId)GetAIPlayerIds
-
描述: 获取所有AI角色的id
-
范围: 服务端
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| ids | number[] | 所有AI角色id组成的数组 |
local ids = Character:GetAIPlayerIds()SetPlayersVictory
-
描述: 让【玩家|玩家组】游戏胜利
-
范围: 服务端
-
警告: 该动作执行后对应玩家的游戏结果为最终结果不会再被覆盖,请谨慎操作
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| PlayerList | number[] | 玩家ID数组 |
local playerIds = Character:GetAllPlayerIds()Character:SetPlayersVictory(playerIds)SetPlayersDefeat
-
描述: 让【玩家|玩家组】游戏失败
-
范围: 服务端
-
警告: 该动作执行后对应玩家的游戏结果为最终结果不会再被覆盖,请谨慎操作
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| PlayerList | number[] | 玩家ID数组 |
local playerIds = Character:GetAllPlayerIds()Character:SetPlayersDefeat(playerIds)SetMoveReplicated
-
描述: 设置角色移动同步
-
范围: 服务端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| PlayerID | number | 角色ID |
| Replicated | boolean | true-开启移动同步,false-关闭移动同步 |
local localPlayerId = Character:GetLocalPlayerId()Character:SetMoveReplicated(localPlayerId, false)SetPosition
-
描述: 设置角色的位置
-
范围: 服务端、客户端
-
警告: 最终会以服务端为准
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| PlayerID | number | 角色ID |
| Pos | Engine.Vector | 位置坐标 |
local localPlayerId = Character:GetLocalPlayerId()local pos = Engine.Vector(1000, 1000, 200)Character:SetPosition(localPlayerId, pos)SetForward
-
描述: 设置角色的朝向,相当于指定方向向量
-
范围: 服务端、客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| PlayerID | number | 角色ID |
| Forward | Engine.Vector | 朝向方向向量 |
local localPlayerId = Character:GetLocalPlayerId()Character:SetForward(localPlayerId, Engine.Vector(-1, 0, 0))SetRotation
-
描述: 设置角色的旋转角度
-
范围: 服务端、客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| PlayerID | number | 角色ID |
| Rot | Engine.Rotator | 旋转 |
local localPlayerId = Character:GetLocalPlayerId()local rot = Engine.Rotator(90, 180, 90)Character:SetRotation(localPlayerId, rot)SetScale
-
描述: 设置角色的模型大小
-
范围: 服务端、客户端
-
警告: 最终会以服务端为准
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| PlayerID | number | 角色ID |
| Scale | number | 缩放倍率 |
local localPlayerId = Character:GetLocalPlayerId()Character:SetScale(localPlayerId, 2)ChangeAttribute
-
描述: 设置角色的角色属性值。支持设置:移动速度,跳跃速度或重力系数属性
-
范围: 服务端、客户端
-
警告: 最终会以服务端为准
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| PlayerID | number | 角色ID |
| Attribute | Character.ATTR | 角色属性值类型 |
| Value | number | 角色属性值大小 |
local localPlayerId = Character:GetLocalPlayerId()Character:ChangeAttribute(localPlayerId, Character.ATTR.MaxWalkSpeed, 1600)SetAttributeEnabled
-
描述: 设置角色属性是否启用,支持设置:输入,移动,跳跃,抓取,被抓取,拾取道具,使用道具,物理模拟,可见性
-
范围: 服务端、客户端
-
警告: 服务端会覆盖客户端设置
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| PlayerID | number | 角色ID |
| Attribute | Character.ATTR_ENABLE | 角色属性值类型 |
| IsEnable | boolean | 是否开启 |
local localPlayerId = Character:GetLocalPlayerId()Character:SetAttributeEnabled(localPlayerId, Character.ATTR_ENABLE.CanMove, false)IsAttributeEnabled
-
描述: 判断角色指定属性是否为启用
-
范围: 服务端、客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| PlayerID | number | 角色ID |
| Attribute | Character.ATTR_ENABLE | 角色属性值类型 |
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| isEnabled | boolean | 是否为启用 |
local localPlayerId = Character:GetLocalPlayerId()local isEnabled = Character:IsAttributeEnabled(localPlayerId, Character.ATTR_ENABLE.CanMove)SetModel
-
描述: 将角色模型替换为其他游戏元素。可用于改变角色外观。
-
范围: 客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| PlayerID | number | 角色ID |
| ModelId | number | 替换的模型id(编辑器下元件的类型id) |
local localPlayerId = Character:GetLocalPlayerId()Character:SetModel(localPlayerId, 1101004001001033)RestoreModel
-
描述: 还原角色本身的模型外观。
-
范围: 客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| PlayerID | number | 角色ID |
local localPlayerId = Character:GetLocalPlayerId()Character:RestoreModel(localPlayerId)GetModel
-
描述: 返回角色模型id
-
范围: 客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| PlayerID | number | 角色ID |
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| modelId | number | 角色模型id |
local localPlayerId = Character:GetLocalPlayerId()local modelId = Character:GetModel(localPlayerId)IsCharacterWithModel
-
描述: 判断角色是否为指定模型
-
范围: 客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| PlayerID | number | 角色ID |
| ModelId | number | 指定模型ID |
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| bWith | boolean | 角色是否为指定模型 |
local localPlayerId = Character:GetLocalPlayerId()local bWith = Character:IsCharacterWithModel(localPlayerId, 1101004001001033)SetCharacterWithCreature
-
描述: 将角色形象替换为指定生物形象
-
范围: 客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| PlayerId | number | 角色ID |
| CreatureId | number | 生物ID |
Character:SetCharacterWithCreature(Character:GetPlayerBySideAndIndex(0, 1), 228)SetOutLineColor
-
描述: 设置角色的描边颜色,可选择设置描边强度以及是否无视遮挡
-
范围: 服务端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| PlayerID | number | 角色ID |
| Color | string | 描边颜色,十六进制代码:#FFFFFFFF |
| Strength | number | 描边强度,取值范围:0~5 |
| IsIngoreShield | boolean | 是否无视遮挡 |
local color, strength, isIngoreShield = "#23E0F0", 1, truelocal playerIds = Character:GetAllPlayerIds()for _, v in ipairs(playerIds) do Character:SetOutLineColor(v, color, strength, isIngoreShield)endCloseOutLine
-
描述: 还原角色本身的描边颜色
-
范围: 服务端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| PlayerID | number | 角色ID |
local color, strength, isIngoreShield = "#23E0F0", 1, truelocal playerIds = Character:GetAllPlayerIds()for _, v in ipairs(playerIds) do Character:CloseOutLine(v)endGetOutLineColor
-
描述: 返回角色描边颜色
-
范围: 服务端、客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| PlayerID | number | 角色ID |
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| outLineColor | string | 角色描边颜色,十六进制代码:#FFFFFFFF |
local localPlayerId = Character:GetLocalPlayerId()local color = Character:GetOutLineColor(localPlayerId)IsEqualOutLineColor
-
描述: 判断角色描边颜色
-
范围: 服务端、客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| PlayerID | number | 角色ID |
| Color | string | 描边颜色,十六进制代码:#FFFFFFFF |
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| isEqual | boolean | 颜色是否相等 |
local localPlayerId = Character:GetLocalPlayerId()local isEqual = Character:IsEqualOutLineColor(localPlayerId, "#FFFFFFFF")SetIdleShowEnabled
-
描述: 设置是否开启角色的待机动画,关闭状态下角色将不会自动播放时装自带的待机动画效果
-
范围: 服务端、客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| PlayerID | number | 角色ID |
| Show | boolean | 是否开启角色的待机动画 |
local localPlayerId = Character:GetLocalPlayerId()Character:SetIdleShowEnabled(localPlayerId, false)SetAnimationOpen
-
描述: 开启或禁用主角是否可以使用互动动作
-
范围: 客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| Open | boolean | 主角是否可以使用互动动作 |
Character:SetAnimationOpen(false)AddProp
-
描述: 让角色获得指定道具物品
-
范围: 服务端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| PlayerID | number | 角色ID |
| PropId | number | 道具Id |
local playerIds = Character:GetAllPlayerIds()for _, v in ipairs(playerIds) do Character:AddProp(v, 1106025000000000)endRemoveProp
-
描述: 删除角色道具物品
-
范围: 服务端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| PlayerID | number | 角色ID |
local playerIds = Character:GetAllPlayerIds()for _, v in ipairs(playerIds) do Character:RemoveProp(v)endUseProp
-
描述: 角色使用道具
-
范围: 服务端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| PlayerId | number | 角色id |
| PropDir | Engine.Vector | 道具使用方向 |
Character:UseProp(PlayerId, Engine.Vector(0, 1, 0))GetCharacterCurrentProp
-
描述: 返回角色持有道具
-
范围: 服务端、客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| PlayerID | number | 角色ID |
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| propId | number | 角色持有道具id,在”开发者文档->元梦之星定义->PropId”中查看 |
local localPlayerId = Character:GetLocalPlayerId()local propId = Character:GetCharacterCurrentProp(localPlayerId)GetCurrentWeaponProp
-
描述: 返回角色当前持有的武器物品
-
范围: 服务端、客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| PlayerID | number | 角色ID |
| EquipType | [Character.EQUIP_TYPE | ](#characterequip_type) 装备武器物品类型 |
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| weaponPropId | string | 角色持有武器道具 |
local localPlayerId = Character:GetLocalPlayerId()local weaponPropId = Character:GetCurrentWeaponProp(localPlayerId, Character.EQUIP_TYPE.Weapon)IsCharacterHasPropOnHand
-
描述: 判断角色是否持有道具
-
范围: 服务端、客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| PlayerID | number | 角色ID |
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| hasOnHand | boolean | 是否持有道具 |
local localPlayerId = Character:GetLocalPlayerId()local hasOnHand = Character:IsCharacterHasPropOnHand(localPlayerId)IsHoldingProp
-
描述: 判断角色是否持有指定道具
-
范围: 服务端、客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| PlayerID | number | 角色ID |
| PropId | number | 道具Id |
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| hasOnHand | boolean | 是否持有道具 |
local localPlayerId = Character:GetLocalPlayerId()local hasOnHand = Character:IsHoldingProp(localPlayerId, 1106025000000000)AddImpulse
-
描述: 给角色添加向某个方向的力
-
范围: 服务端、客户端
-
警告: 最终会以服务端为准
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| PlayerID | number | 角色ID |
| ImpulseVector | Engine.Vector | 方向力 |
local playerIds = Character:GetAllPlayerIds()local impulse = Engine.Vector(0, 0, 1000)for _, v in ipairs(playerIds) do Character:AddImpulse(v, impulse)endEject
-
描述: 让角色进行弹射
-
范围: 服务端、客户端
-
警告: 最终会以服务端为准
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| PlayerID | number | 角色ID |
| Time | number | 弹射时间 |
| ImpulseVector | Engine.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)endSetTrackTargetMove
-
描述: 让角色追踪某个元件|角色|生物,并设置其速度等。可用于制作角色追击指定玩家
-
范围: 服务端、客户端
-
警告: 移动控制权归属于本地玩家客户端,正常应当在客户端传入localPlayer对自身角色进行移动控制
-
警告: 如果玩家不在线被服务器托管,则移动控制权归属于服务器,可以在服务端控制该角色移动
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| PlayerID | number | 角色ID |
| TargetId | number | 目标ID(元件|角色|生物) |
| InitSpeed | number | 初始速度 |
| Acceleration | number | 加速度 |
| MaxVelocity | number | 最大速度 |
| DistanceKeep | number | 保持间距 |
local localPlayerId = Character:GetLocalPlayerId()local initSpeed, acceleration, maxVelocity, distanceKeep = 500, 100, 1000, 500Character:SetTrackTargetMove(localPlayerId, 343, initSpeed, acceleration, maxVelocity, distanceKeep)StopTracking
-
描述: 让角色停止追踪运动
-
范围: 服务端、客户端
-
警告: 移动控制权归属于本地玩家客户端,正常应当在客户端传入localPlayer对自身角色进行移动控制
-
警告: 如果玩家不在线被服务器托管,则移动控制权归属于服务器,可以在服务端控制该角色移动
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| PlayerID | number | 角色ID |
local localPlayerId = Character:GetLocalPlayerId()Character:StopTracking(localPlayerId)Move
-
描述: 让角色朝指定方向移动,并设置其速度与时间
-
范围: 服务端、客户端
-
警告: 移动控制权归属于本地玩家客户端,正常应当在客户端传入localPlayer对自身角色进行移动控制
-
警告: 如果玩家不在线被服务器托管,则移动控制权归属于服务器,可以在服务端控制该角色移动
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| PlayerID | number | 角色ID |
| Direction | Character.MOVE_DIR | 角色移动方向 |
| Speed | number | 角色移动速度 |
| Seconds | number | 角色移动时间 |
local localPlayerId = Character:GetLocalPlayerId()local speed, seconds = 500, 5Character:Move(localPlayerId, Character.MOVE_DIR.Forward, speed, seconds)MoveToPosition
-
描述: 让角色朝目标点位置移动
-
范围: 服务端、客户端
-
警告: 移动控制权归属于本地玩家客户端,正常应当在客户端传入localPlayer对自身角色进行移动控制
-
警告: 如果玩家不在线被服务器托管,则移动控制权归属于服务器,可以在服务端控制该角色移动
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| PlayerID | number | 角色ID |
| Pos | Engine.Vector | 角色移动目标点位置 |
| Seconds | number | 角色移动时间 |
local localPlayerId = Character:GetLocalPlayerId()local pos, seconds = Engine.Vector(-1000, 1000, 100), 5Character:MoveToPosition(localPlayerId, pos, seconds)StopMove
-
描述: 让角色停止移动
-
范围: 服务端、客户端
-
警告: 移动控制权归属于本地玩家客户端,正常应当在客户端传入localPlayer对自身角色进行移动控制
-
警告: 如果玩家不在线被服务器托管,则移动控制权归属于服务器,可以在服务端控制该角色移动
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| PlayerID | number | 角色ID |
local localPlayerId = Character:GetLocalPlayerId()Character:StopMove(localPlayerId)Jump
-
描述: 让角色跳跃
-
范围: 客户端
Character:Jump()Dive
-
描述: 让角色飞扑
-
范围: 客户端
Character:Dive()SprintedMove
-
描述: 让角色冲刺
-
范围: 客户端
Character:SprintedMove()Grab
-
描述: 让角色抓举
-
范围: 服务端、客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| PlayerID | number | 角色ID |
local localPlayerId = Character:GetLocalPlayerId()Character:Grab(localPlayerId)GrabTarget
-
描述: 让角色举起其他单位。注意:该举起是无视距离的
-
范围: 服务端、客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| PlayerID | number | 角色ID |
| TargetId | number | 目标Id |
local localPlayerId = Character:GetLocalPlayerId()Character:GrabTarget(localPlayerId, 343)EndGrab
-
描述: 让角色结束抓取,进行投掷
-
范围: 服务端、客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| PlayerID | number | 角色ID |
local localPlayerId = Character:GetLocalPlayerId()Character:EndGrab(localPlayerId)SetGrabAbility
-
描述: 设置角色投掷参数
-
范围: 服务端、客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| PlayerID | number | 角色ID |
| Angle | number | 放下时的投掷角度 |
| InitialVelocity | number | 放下时的投掷初速度 |
| IsAffectedByChar | boolean | 放下过程是否受角色移动状态影响 |
local localPlayerId = Character:GetLocalPlayerId()Character:SetGrabAbility(localPlayerId, angle, initialVelocity, isAffectedByChar)ResetGrabAbility
-
描述: 还原角色投掷参数
-
范围: 服务端、客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| PlayerID | number | 角色ID |
local localPlayerId = Character:GetLocalPlayerId()Character:ResetGrabAbility(localPlayerId)SetCharacterCanBeSpectator
-
描述: 设置角色是否能进入观战列表
-
范围: 服务端、客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| PlayerID | number | 角色ID |
| CanBeSpectator | boolean | 是否能进入观战 |
local localPlayerId = Character:GetLocalPlayerId()Character:SetCharacterCanBeSpectator(localPlayerId, true)SetCampVictory
-
描述: 让指定的阵营内玩家游戏胜利,开启阵营后生效
-
范围: 服务端
-
警告: 需要在【地图设置】-【玩法设置】-【比赛形式】中选择积分赛-【开启阵营】
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| TeamID | number | 阵营ID,按顺序排列:1、2、3、4… |
Character:SetCampVictory(1)IsPlayerObserve
-
描述: 判断该玩家是否处于观战模式
-
范围: 客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| PlayerID | number | 角色ID |
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| isObserve | boolean | 是否处于观战模式 |
local localPlayerId = Character:GetLocalPlayerId()local isObserve = Character:IsPlayerObserve(localPlayerId)IsReconnect
-
描述: 判断该玩家是否为断线重连
-
范围: 服务端、客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| PlayerID | number | 角色ID |
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| isReconnect | boolean | 是否断线重连 |
local localPlayerId = Character:GetLocalPlayerId()local isReconnect = Character:IsReconnect(localPlayerId)IsVisible
-
描述: 判断角色是否可见
-
范围: 服务端、客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| PlayerID | number | 角色ID |
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| isVisible | boolean | 是否可见 |
local localPlayerId = Character:GetLocalPlayerId()local isVisible = Character:IsVisible(localPlayerId)IsCharacterInState
-
描述: 判断角色是否处于选定的状态
-
范围: 服务端、客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| PlayerID | number | 角色ID |
| State | Character.STATE | 角色状态 |
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| inState | boolean | 是否处于选定的状态 |
local localPlayerId = Character:GetLocalPlayerId()local inState = Character:IsCharacterInState(localPlayerId, Character.STATE.Grab)GetPlayerBySideAndIndex
-
描述: 按局内编号获取本地玩家
-
范围: 服务端、客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| TeamID | number | 阵营ID,按顺序排列:1、2、3、4… |
| Index | number | 玩家编号:1、2、3… |
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| playerId | number | 玩家Id |
local playerId = Character:GetPlayerBySideAndIndex(1, 1)GetTotalPlayerCount
-
描述: 返回当前游戏中的玩家人数
-
范围: 服务端、客户端
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| count | number | 玩家人数 |
local count = Character:GetTotalPlayerCount()GetPosition
-
描述: 返回角色位置
-
范围: 服务端、客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| PlayerID | number | 角色ID |
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| pos | Engine.Vector | 角色位置 |
local localPlayerId = Character:GetLocalPlayerId()local pos = Character:GetPosition(localPlayerId)GetScale
-
描述: 返回角色缩放
-
范围: 服务端、客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| PlayerID | number | 角色ID |
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| scale | Engine.Vector | 角色缩放 |
local localPlayerId = Character:GetLocalPlayerId()local scale = Character:GetScale(localPlayerId)GetRotation
-
描述: 返回角色旋转
-
范围: 服务端、客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| PlayerID | number | 角色ID |
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| rot | Engine.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
-
描述: 返回角色朝向
-
范围: 服务端、客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| PlayerID | number | 角色ID |
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| forward | Engine.Vector | 角色朝向 |
local localPlayerId = Character:GetLocalPlayerId()local forward = Character:GetForward(localPlayerId)GetAttribute
-
描述: 返回角色属性值
-
范围: 服务端、客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| PlayerID | number | 角色ID |
| Attribute | Character.ATTR | 角色属性值类型 |
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| value | number | 角色属性值大小 |
local localPlayerId = Character:GetLocalPlayerId()local value = Character:GetAttribute(localPlayerId, Character.ATTR.MaxWalkSpeed)GetCharactersInBoxTrigger
-
描述: 返回触发盒中所有角色的数组
-
范围: 服务端、客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| ElementID | number | 触发盒元件实例Id |
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| idList | number[] | 所有角色id数组 |
local idList = Character:GetCharactersInBoxTrigger(347)GetCharactersInSphere
-
描述: 返回球形区域内所有角色的表
-
范围: 服务端、客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| Center | Engine.Vector | 球形区域中心点 |
| Radius | number | 球形半径,单位为cm |
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| idList | number[] | 所有角色id数组 |
local center, radius = Engine.Vector(0, 0, 200), 500local idList = Character:GetCharactersInSphere(center, radius)GetCharactersInRegion
-
描述: 返回矩形区域内所有角色的表
-
范围: 服务端、客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| Center | Engine.Vector | 矩形区域中心点 |
| Length | number | 矩形长,单位为cm |
| Width | number | 矩形宽,单位为cm |
| Height | number | 矩形高,单位为cm |
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| idList | number[] | 所有角色id数组 |
local center, length, width, height = Engine.Vector(0, 0, 200), 500, 500, 500local idList = Character:GetCharactersInRegion(center, length, width, height)SetCanUseInteractiveProp
-
描述: 设置角色互动道具使用权限
-
范围: 服务端、客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| PlayerId | number | 玩家ID |
| Can | boolean | true-允许使用,false-禁止使用 |
local localPlayerId = Character:GetLocalPlayerId()Character:SetCanUseInteractiveProp(localPlayerId, false)SetCanUseInteractiveVehicle
-
描述: 设置角色载具使用权限
-
范围: 服务端、客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| PlayerId | number | 玩家ID |
| Can | boolean | true-允许使用,false-禁止使用 |
local localPlayerId = Character:GetLocalPlayerId()Character:SetCanUseInteractiveVehicle(localPlayerId, false)AICharacterBeginFire
-
描述: 控制AI角色开火
-
范围: 服务端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| PlayerId | number | 角色id |
Character:AICharacterBeginFire(PlayerId)AICharacterStopFire
-
描述: 控制AI角色停止开火
-
范围: 服务端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| PlayerId | number | 角色id |
Character:AICharacterStopFire(PlayerId)UseSkill
-
描述: 让角色使用指定技能
-
范围: 服务端 客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| playerId | number | 角色id |
| skillId | number | 技能id |
local localPlayerId = Character:GetLocalPlayerId()Character:UseSkill(localPlayerId, 1)