浏览循环 上传我的循环

怎么写一套循环

循环就是一张优先级清单:软件每隔一会儿从上往下过一遍,第一条「条件成立」的就发出去。 本文里的字段名和法术 ID 都从软件的契约里自动生成,照抄不会错。

三步上手 一条规则长什么样 条件怎么写 字段表 动作表 完整示例 常见错误 调不出技能怎么办

三步上手

1
复制一份现成的
去「浏览循环」找一套最接近你手法的,进详情页点 复制 JSON。 别从零写 —— 字段名很容易写错,而写错的后果是「规则永远不触发」,很难查。
2
改成你的
粘到「上传循环」页,先改方案名和简介,再动规则本身。 改完点「检查格式」,格式有问题会当场告诉你第几条、错在哪。
3
传上去 / 或直接本地用
点「保存到循环库」就出现在列表里了。 自己用的话,把改好的 JSON 在软件的「循环方案 → 导入」里选中即可。

一条规则长什么样

一套循环是一个数组,每条规则有四个字段(holdMs 可省):

{
  "action": "spell_12294",              // 放什么:动作名(见下方动作表,不是技能名)
  "when":   ["and",                      // 什么时候放:条件(见下一节)
              ["flag", "target_valid", true],
              ["num_at_least", "rage", 30],
              ["avail", 12294]],
  "reason": "怒气够 30,打致死打击",       // 给人看的说明,会显示在软件界面上
  "tag":    "输出",                      // 分类标签,随便分:起手/输出/自保/增益
  "holdMs": 1500                         // 放过之后 1.5 秒内不再考虑这条(防连发)
}

顺序就是优先级。软件从上往下扫,第一条条件成立的立刻发出去,后面的不管。 所以「爆发 / 自保 / 保增益」这类要抢在输出前面,就把它们放上面。

条件怎么写 可自由嵌套

算子含义写法

组合起来读就是人话:["and", ["flag","target_valid",true], ["num_below","player_health_pct",35]] = 「有目标 且 自己血量低于 35%」。

哪个字段配哪个算子 用错算子 = 规则永远不成立

字段类型该用说明

字段表 条件里能引用的名字

「现成循环用过」= 这个组合在现有手写循环里真的出现过,最保险。

字段类型用哪个算子说明

动作表 action 里写什么

动作名填进 action;法术 ID 填进 avail / ready。 两者不是一回事 —— avail 只认数字 ID。

动作名技能法术 ID按键

完整示例 取自现有战士循环,逐条讲解

常见错误

现象原因与改法
这条规则从来不触发字段名拼错(大小写敏感),或算子用错类型 —— 比如对数值字段用了 flag。对照上面的字段表逐字核。
avail 判断永远不成立里面填的是法术 ID 数字,不是动作名也不是技能名。["avail","spell_12294"] 是错的,要写 ["avail",12294]。
同一个技能被连着放好几次没写 holdMs。加上「这个技能大概多久用一次」的毫秒数,比如雷霆一击 4000。
软件一直在发同一个技能,其他都不放有条规则的条件永远成立(比如只判了「技能可用」没判别的),它挡住了后面所有规则。一条规则至少要带一个会变化的条件(血量、怒气、目标状态、增益在不在)。
给怪上完 DoT 后疯狂重复上缺「增益在不在」的检查。用 ["flag","<dot字段>",false] 判断「没这个 DoT 才补」。字段名在职业专属表里找。
没目标也在发技能漏了 ["flag","target_valid",true]。几乎所有伤害规则都该带这一条。
读条技能老是放不出来不是你的问题:软件在你自己读条期间会自动停发(防止打断自己)。别为这个改循环。

调不出技能怎么办

  1. 软件左栏「动作建议」区会显示它当前打算放什么、为什么 —— 先看那里是不是你期望的技能。
  2. 如果显示「无建议」,看下面的状态提示:是没目标、距离不够、还是总开关没开?
  3. 如果显示的建议不对,说明有更靠前的规则命中了 —— 把该规则往上/下挪,或把它的条件收紧。
  4. 「运行日志」里会记每次发键和为什么没发,排查时开着看。

本页数据由 tools/gen_guide.py 从软件契约自动生成(), 与软件实际识别的字段、动作一一对应。