📚 Client/Character

注意:有关客户端的同步内容,可能受到Stream流的同步范围影响,不一定所有对象都在被激活状态(距离过远,没有同步)。

📒 Event

📘 OnCharacterBaseState( character, baseState )

当角色BaseState发生改变时触发。

📘 OnCharacterEnterVehicle( character, vehicle, seat )

当角色进入载具时触发。

📘 OnCharacterExitVehicle( character, vehicle, seat )

当角色离开载具时触发。

📘 OnCharacterPropAction( character, prop, hitPos )

当角色进行一次攻击\行为时触发。

📘 OnCharacterPropFocus( character, prop, state )

当角色切换焦点状态时触发(鼠标右键按下\松开)。

📒 Static Property

📘 Character.Local

获取本地玩家正在控制的角色对象。

注意:在专用服务器模式(BatchMode)下,通过服务器自身脚本访问此属性,将会得到一个空值Null,因为专用服务器本身并不包含本地玩家。

由于专用服务器模式本地空玩家的特殊属性,Character类对象提供了一个快捷检测方法:character.IsLocal判断是否为本地玩家角色,此方法会自动检测Null而不会触发异常。

if(Character.Local) DLog(Character.Local.Pos);

📒 Property

📘 character.ID

获取实例对象的ID。

character.ID: int

📘 character.UUID

获取实例对象的UUID。

character.UUID: string

📘 character.Name

获取实例对象的名称(即使被Owner控制也不会返回玩家名)。

character.Name: string

📘 character.Pos

获取实例对象的坐标位置,如果当前角色正在被玩家本地控制,此属性可以进行修改。

character.Pos: Vector

📘 character.Forward

获取角色正前方向量。

character.Forward: Vector

📘 character.Angle

获取实例对象的平行角度(Y轴)。

character.Angle: float

📘 character.HAngle

获取角色本地偏移角度(水平)。

character.HAngle: float

📘 character.VAngle

获取角色本地偏移角度(前后)。

character.VAngle: float

📘 character.Health

获取实例对象的生命值。

character.Health: int

📘 character.Armour

获取实例对象的护甲值。

character.Armour: int

📘 character.Type

获取实例对象的生物类型。

character.Type: int

📘 character.Skin

获取实例对象的生物皮肤。

character.Skin: int

📘 character.Frozen

获取实例对象的冻结状态。

character.Frozen: bool

📘 character.PropID

获取实例对象的手持道具ID。

character.PropID: int

📘 character.PropAmount

获取实例对象的手持道具数量(单一物品数量Amount,并非全部背包数量)。

character.PropAmount: int

📘 character.Vehicle

获取实例对象的载具实例,不存在则返回null

character.Vehicle: Vehicle

📘 character.VehicleSlot

获取实例对象的载具乘坐位置,没有乘坐则返回-1

character.VehicleSlot: int

📘 character.Owner

获取实例对象的真实控制玩家,不存在则返回null

character.Owner: Player

📘 character.IsAI

获取角色是否为NPC(AI)。

character.IsAI: bool

📘 character.IsPlayer

获取角色是否为玩家控制的角色。

character.IsPlayer: bool

📘 character.IsLocal

获取实例对象是否为本地玩家控制,此方法会自动检测Null专用服务器模式本地空玩家的特殊属性)而不会触发异常。

character.IsLocal: bool

📘 character.IsInWater

获取角色是否在水中。

character.IsInWater: bool

📘 character.IsOnFire

获取角色是否正在被燃烧。

character.IsOnFire: bool

📘 character.BodyHeight

获取角色身体高度(本地偏移量),不同的角色类型可能有不同高度,通常为头部偏高一点的位置。

扩展:可能用于获取头顶Bubble显示的高度。

character.BodyHeight: float

📒 Static Function

📘 Character.Find()

寻找一个实例对象(通过ID),不存在则返回null

function Character.Find( id: int ): Character

📘 Character.FindByUUID()

寻找一个实例对象(通过UUID),不存在则返回null

function Character.Find( uuid: string ): Character

📘 Character.GetCount()

获取当前所有存在实例对象数量。

function Character.GetCount(): int

📘 Character.Get()

获取当前存在的指定索引实例对象,通常搭配GetCount()遍历使用。

function Character.Get( index: int ): Character

📒 Function

📘 character.GetNodeExtendPos()

获取角色指定节点位置的当前世界坐标,如果不存在节点则返回Vector(0, 0, 0)

function character.GetNodeExtendPos( node: int, isLocal: bool = false ): Vector
  • node:角色节点位置(索引)
  • isLocal:是否获取本地空间结果