LogoArcartX Doc
Aria 脚本

玩家信息

Chronos 提供的玩家状态读取语句(PlayerInfo)

  • 以下语句均由 Chronos 插件提供,目标对象为玩家(Player)。
  • 在服务端控制器的表达式里,self 就是当前玩家,直接 self.方法名() 调用即可。

getChargeTime()

  • 读取玩家本次蓄力时长(毫秒)。
  • 取值时机:charge: true 的状态从进入开始实时计时,离开该状态时(被派生 / 被打断 / 自然结束)把时长冻结下来;之后返回这个冻结值,下一次进入蓄力状态重新计时。控制器切换等路径若强制清空状态,也会重置蓄力记录。因此在「蓄力开始 → 蓄力释放」这类结构里,释放状态的 execute 可以读取上一段的蓄力时长。
  • 对象:Player
  • 参数:无
  • 返回值:数字(毫秒);玩家无控制器数据时返回 0
  • 调用示例
self.getChargeTime()

若蓄力状态配了 buffer_at >= 0,松手会走预输入、到点才衔接,最早释放时长约为 buffer_at / speed,并受服务器 tick 调度影响。想在松手输入被服务端处理时立即衔接,就把蓄力状态的 buffer_at 设为 -1。

isInvincibleTag()

  • 判断玩家当前是否处于**「完美闪避」标签**有效期内。
  • 处理玩家的伤害事件时,若当前状态记录的窗口集合包含 invincible,Chronos 会取消该事件,并把标签有效期更新为 invincible_tag_duration 毫秒后。这个标签可用于闪避反击等条件;已被其他插件取消的伤害事件也会刷新它。该时长默认为 0,需要在无敌窗口配置中设为正数才有持续有效期。
  • 对象:Player
  • 参数:无
  • 返回值:布尔类型
  • 调用示例
# 完美闪避反击的进入条件
self.isInvincibleTag()

getState()

  • 获取玩家当前所处的状态 ID(即服务端控制器 state 节点下的那个键名)。
  • 对象:Player
  • 参数:无
  • 返回值:字符串;玩家当前没有任何状态时返回空字符串 ""
  • 调用示例
self.getState()

On this page