Aria 脚本
状态控制
Chronos 提供的状态切换语句(PlayerState)
- 以下语句均由 Chronos 插件提供,目标对象为玩家(
Player)。 - 这组语句让你用脚本主动驱动状态机——在表达式里直接让玩家进入某个状态,而不必等待玩家输入。常用于「满足条件时自动接一段动作」「被击中时强制进入受击状态」等场景。
- 玩家尚未建立 Chronos 运行数据时,这三个语句会忽略本次调用,不自行创建玩家运行数据。
tryEnterState(stateId)
- 尝试让玩家进入指定状态。会照常走该状态的
conditions与冷却校验,不满足则不进入。
- 对象:Player
- 参数:
stateId— 目标状态 ID(state节点下的键名) - 返回值:无
- 调用示例
tryEnterControlledState(stateId, duration)
- 让玩家进入一个受控状态(如硬直、被击退),并指定持续时长。正数
duration覆盖状态定义的时长,但仍会除以该状态的speed;小于或等于 0 时使用状态定义的时长。 - 此方法检查
super_armor(霸体)窗口,但跳过目标状态的conditions与冷却校验,也不写入该状态的冷却。当前处于霸体窗口时不进入;允许进入时,会打断当前技能动作并以无连招节点的方式启动受控状态。
- 对象:Player
- 参数:
stateId— 目标状态 IDduration— 持续时长(毫秒)
- 返回值:无
- 调用示例
forceEnterStateFromRoot(stateId)
- 强制让玩家进入指定状态,无视进入条件与冷却。目标必须是当前控制器默认连招链中的节点,可以是根节点或派生节点;它不会搜索其他具名链。
- 对应 Java API 的
forceEnterStateFromRootChain(脚本里与 Java 里名字略有差异,功能一致)。
- 对象:Player
- 参数:
stateId— 默认连招链中的目标状态 ID - 返回值:无
- 调用示例
forceEnterStateFromRoot 跳过目标状态的进入条件和冷却校验。当前控制器中找不到目标状态或默认连招链节点时,会结束正在运行的技能动作与状态。调用前请核对状态与连招链配置;需要条件校验时使用 tryEnterState。
