Skip to content

诊断排错

上一页:内置技能与示例 · 下一页:性能与限流

按"现象 → 原因 → 处理"组织的排查手册。先在下面的决策树里对号入座,再看对应小节。


🌳 快速决策树

现象最可能的原因跳到
QS 根本没启用没装 QinhCoreLib(硬依赖)§1
技能放出来只有一条聊天消息MM 没写同名技能(那是占位 stub)§2
物品按了完全没反应没解锁 / handler 没注册 / atom 不匹配§3
提示"冷却中/资源不足/没有可用目标/未满足条件"对应门控拦下了§4
控制台刷 schema 警告技能字段与 graph 文件不一致§5
连招怎么都放不出终结技finalize / window / require_state 配错§6
想知道卡在管线哪一步debug: true 看 trace§7
桥 / MM 状态存疑/qs protocol/qs bridge§8

1. QS 没启用

QinhCoreLib(QCL)是硬依赖。没装它,QS 不会启用,控制台会报缺依赖。先装 QCL,再确认服务端 1.21.11+、Java 25+。


2. 技能只有占位消息

现象:技能门控全过,但只发一条 [QinhSkills] 技能名,没有粒子 / 伤害 / 位移。

原因:MM 里没有同名技能,QS 退化成占位 stub。

处理

  1. plugins/MythicMobs/skills/ 写一个与技能 id 同名的 MM 技能(如 fire_wave);
  2. /mm reload
  3. 必要时 /qs reload 同步桥。

看到占位消息其实是好消息——说明 QS 这侧已完全跑通,只差 MM 的表现层。


3. 物品按了没反应

逐项排查:

检查点处理
技能没解锁/qs unlock <技能> [玩家],或配 starter_skills / default_all
handler 没注册QI 没装或加载晚于 QS;装好 QI 后 /qs reload
atom 与 trigger.primary 不一致会回退到 entry 节点(技能仍能放),但确认按键映射是否如预期
技能根本没加载/qs list 看技能在不在列表;不在就 /qs reload

想确认"按下"这一步通没通,直接 /qs cast <技能> 绕过物品测一遍,看返回的 结果码


4. 被门控拦下

收到下面任意提示,都是某个门控拦下的,对应技能配置查即可:

提示查这里
§c技能冷却中 … / §c充能 …cooldown.base / charges / 冷却组
§c资源不足resource.mana 等占位资源
§c没有可用目标targetrange / filter / required
§c未满足释放条件conditions: 列表(等级 / 血量 / 目标类型…)
§c技能冲突conflict_groups
§c当前施法模式不可用cast_mode(toggle 状态 / channel 进行中)

各提示与结果码一一对应,详见 结果码 CastResult


5. schema 警告

/qs reload 时若控制台报 schema_issues,说明技能定义里的 meta / trigger / state / graph / execution 段与对应 graph 文件对不上

  • trigger.primary 必须在 graph 入口节点的 triggers 内;
  • graph.entry 要指向真实存在的 graph node id;
  • state.required 是合法 SkillState(IDLE 等)。

/qs reload 日志里点名的具体字段逐个对齐。被动(type: passive)技能 1.0.16 起无需写 trigger.primary,schema 会自动按 PASSIVE 处理。


6. 连招放不出

终结技放不出来,逐项核对 graph 的 combos 段:

检查点要求
finalize_skill必须是本 graph nodes 里的一个 node id(不是 _id,也不能是不存在的名字)
window_ms太短会在按完序列前超时回 IDLE,连招断;适当加大
续段节点 require_state续段节点必须是 COMBO_WINDOW(起手成功后才进此状态,靠它区分起手 / 续段)
inputs 序列须含起手那一下,且与实际按键 TriggerType 完全一致

详见 服主指南 → graph 与连招


7. 用 debug 看 trace

给技能加 debug: true,控制台会打出分阶段 trace,能精确定位卡在哪一步:

[QI] [EVENT] [PARSE] [ROUTE] [GATE] [EXEC] [POST] [FALLBACK]
标签阶段
[EVENT]收到触发事件
[PARSE]输入归一为 payload
[ROUTE]graph 路由选节点
[GATE]门控校验(卡这里就是被门控拦下)
[EXEC]交 MM 执行
[POST]后处理(CD / 资源扣除 / post_js)
[FALLBACK]回退到 entry 节点
[BYPASS]⚠️ 架构冲突警告——出现说明有绕过管线的调用,需关注

debug: true 仅排错用,生产环境务必关闭(高频被动会刷屏)。详见 性能与限流


8. 桥与协议诊断

命令看什么
/qs protocol协议 id / 版本、required 字段、桥可用性、MM 可用性、ready 状态、兼容性
/qs bridgebridgeId、桥是否 available、最近一次请求的技能 id

MM 装了但技能不执行时,先看这两个命令确认桥与 MM 是否就绪。


继续阅读