Aria 脚本
玩家信息
Chronos 提供的玩家状态读取语句(PlayerInfo)
- 以下语句均由 Chronos 插件提供,目标对象为玩家(
Player)。 - 在服务端控制器的表达式里,
self就是当前玩家,直接self.方法名()调用即可。
getChargeTime()
- 读取玩家本次蓄力时长(毫秒)。
- 取值时机:
charge: true的状态从进入开始实时计时,离开该状态时(被派生 / 被打断 / 自然结束)把时长冻结下来;之后返回这个冻结值,下一次进入蓄力状态重新计时。控制器切换等路径若强制清空状态,也会重置蓄力记录。因此在「蓄力开始 → 蓄力释放」这类结构里,释放状态的execute可以读取上一段的蓄力时长。
- 对象:Player
- 参数:无
- 返回值:数字(毫秒);玩家无控制器数据时返回
0 - 调用示例
若蓄力状态配了 buffer_at >= 0,松手会走预输入、到点才衔接,最早释放时长约为 buffer_at / speed,并受服务器 tick 调度影响。想在松手输入被服务端处理时立即衔接,就把蓄力状态的 buffer_at 设为 -1。
isInvincibleTag()
- 判断玩家当前是否处于**「完美闪避」标签**有效期内。
- 处理玩家的伤害事件时,若当前状态记录的窗口集合包含
invincible,Chronos 会取消该事件,并把标签有效期更新为invincible_tag_duration毫秒后。这个标签可用于闪避反击等条件;已被其他插件取消的伤害事件也会刷新它。该时长默认为0,需要在无敌窗口配置中设为正数才有持续有效期。
- 对象:Player
- 参数:无
- 返回值:布尔类型
- 调用示例
getState()
- 获取玩家当前所处的状态 ID(即服务端控制器
state节点下的那个键名)。
- 对象:Player
- 参数:无
- 返回值:字符串;玩家当前没有任何状态时返回空字符串
"" - 调用示例
