Suite

联动

Conversation 模块 Capability、按键与跨模块联动

联动

Capability 注册

InteractionState

方法说明
isInteracting(Player)返回玩家是否正在与 Conversation 模块交互(对话中、选择器已打开或电影序列播放中)

其他模块可通过此能力判断玩家是否处于对话 / 电影序列中,从而决定是否打断或排队等待。

按键路由

选择器交互使用宿主 config.yml 的 keybinds 节注册的按键:

按键行为
AXS_INTERACT选择器有候选时打开对话(优先级高于拾取)
AXS_NAVIGATE_PREV选择器中向上导航
AXS_NAVIGATE_NEXT选择器中向下导航

对话 UI 本身不接收全局按键,回复选择通过 UI 内点击或键盘 1-9 完成。

Chemdah 联动

  • 模块向 Chemdah 注册 ArcartX 对话主题,替代 Chemdah 默认主题渲染对话 UI
  • Chemdah 对话重载时自动重置运行状态并重新注册主题
  • 玩家点击选择器确认 NPC 后由 Chemdah 打开对话

对话触发条件由 Chemdah 配置,NPC 对话定义中的 trigger 节指定 Adyeshach NPC。条件配置详见 条件系统。

Adyeshach 联动

  • 扫描附近 Adyeshach NPC 作为选择器候选
  • npc-appearances 配置在玩家看见 NPC 时自动应用模型与动画(启动时对未加载的 NPC 自动重试)

电影序列动作依赖

动作类型依赖缺失时行为
npc_animation / npc_modelAdyeshach动作静默跳过
subtitleAnnouncer 模块动作自动跳过
ui_packetArcartX 客户端动作自动跳过
arcartx_soundArcartX 客户端动作自动跳过
其余动作无始终可用

数据存储与跨服

本模块无数据库表,不涉及跨服同步。对话状态仅存在于内存,玩家退出时自动清理。

相关文档

本页目录