Skip to content

刷怪与通关

所属:服主指南总览 · 上一篇:蓝图与目标 · 下一篇:机关系统

相关:核心概念与架构 · 遗迹模板 · config.yml 全配置


蓝图与目标 讲的是「在磁盘上怎么声明刷怪点和阶段目标」。这一页讲运行时它们怎么跑:玩家靠近怎么激活、阶段怎么追踪推进、怪怎么重刷、遗迹什么时候不让人破坏、谁才够资格进。

贯穿全文的一句话:QR 不实例化、不拉独立世界、不倒计时。遗迹就长在主世界里,靠玩家物理靠近来激活,是「程序化 Roguelike 秘境引擎」,不是副本插件。

🖼️ [图片占位] 锚点 4 状态流转图(DORMANT → ACTIVE → CLEARED → RECYCLED)配激活半径示意 · 建议 assets/anchor-lifecycle.png


一、锚点的 4 个状态

每座生成出来的遗迹实例叫锚点(Anchor)。所有运行时玩法都挂在锚点上。锚点有 4 个生命周期状态:

状态含义怪 / 机关保护
DORMANT已生成、无人靠近,休眠不刷、不评估锁定(若有目标)
ACTIVE有玩家进入激活半径已刷怪、目标计数中、机关评估中锁定
CLEARED通关 / 已探索完怪已清、宝箱解锁解除
RECYCLED已回收(消退还原 / /qr remove),名额腾出已清场

模板 vs 锚点:一个模板能生成出很多锚点(世界各处的同款遗迹),就像一个类 new 出很多对象。详见 核心概念

状态之间的流转:

text
  生成 → DORMANT
            │ 玩家进入 activation-radius

          ACTIVE ──── 打通最后一阶段目标 ────► CLEARED
            ▲                                      │
            │ respawn 重刷(怪清空且过冷却)        │ regen-hours 后无人靠近、快照还原
            └──────────────────────────────────► RECYCLED

二、锚点激活刷怪(靠近激活,非副本化)

QR 不会把玩家拉进独立副本。它在后台定时扫描所有在线玩家附近的锚点,玩家物理走进激活半径就激活该锚点开始刷怪。

相关配置在 config.ymlcombat 段:

yaml
# 刷怪(结构内容,靠玩家靠近自动激活,非副本化)
combat:
  activation-radius: 48     # 玩家进入此半径激活锚点刷怪
  spawn-period-ticks: 40    # 激活检测间隔 tick(越大越省,最低 10)
配置含义默认
combat.activation-radius玩家进入锚点中心多少格内即激活刷怪48
combat.spawn-period-ticks激活扫描的间隔 tick(值越大越省 CPU、响应越慢,下限 10)40

激活时的行为:

  • 首次激活:若蓝图配了 objectives只刷 stage: 1 的刷怪点;没配目标则一次性刷出全部刷怪点。
  • 刷出的怪会被打上锚点标记(记录属于哪个锚点、哪个刷怪点、是什么怪 key),并设为「不会因玩家走远而自动消失」,这样击杀计数才追得准。
  • 玩家首次靠近某模板的遗迹时,会记入个人图鉴发现,并收到「发现遗迹」提示。
  • 秘境态(Realm)的锚点由秘境系统单独管刷怪,不走这条普通刷怪逻辑。

⚙️ 激活半径与机关扫描半径(mechanisms.scan-radius,默认 48)、会话集结半径(session.enter-radius,默认 48)是各自独立的配置,可分别调。


三、分阶段目标追踪与推进

只要蓝图配了 objectives.stages,这座遗迹就有了阶段制通关。运行时这样追踪:

  1. 锚点激活时从第 1 阶段开始,刷出 stage: 1 的怪。
  2. 玩家击杀带本锚点标记的怪,按怪 key 累加该阶段的击杀数(同时记录每位玩家各自的贡献)。
  3. 当前阶段 kills所有条件都达标 → 推进:
    • 若还有下一阶段:阶段号 +1,刷出该阶段的怪,全屏飘字 + 音效播报新阶段名(用 objectives 里的 name),并触发该阶段的 STAGE 机关。
    • 若已是最后一阶段:整座遗迹通关,锚点转入 CLEARED,播报通关标题,触发通关后的机关、发放净化老虎机奖励。

要点:

  • 只统计本锚点刷的怪。玩家在遗迹范围内顺手打死的野生怪不计数(它们没有锚点标记)。
  • 击杀 key 必须和 spawn-pointsmob 写法一致(原版名 / mm- 前缀),否则计数对不上。详见 蓝图与目标 §六
  • 阶段推进是全锚点共享的进度(不是每人一份),适合多人协作清遗迹。

🧩 另一种通关方式:最终BOSS门(boss-gate)。除了阶段制,你还可以用「累计击杀指定怪物到阈值 → 解锁并生成最终BOSS → 击败BOSS 即通关」的玩法,配置更直白。它与 objectives 阶段制二选一。详见 蓝图与目标 · boss-gate

🖼️ [图片占位] 阶段推进飘字 + bossbar 进度示意 · 建议 assets/stage-advance.png


四、respawn 刷怪重置

激活过的遗迹不会永远空着。是否重刷由模板 template.ymlrespawn 控制(不在蓝图里)。重刷条件全部满足才会再刷一波:

  1. 该锚点之前已刷过(已激活过);
  2. 模板 respawn 秒数 > 0(设为 0 = 永不重刷,刷一次就空);
  3. 这座锚点之前刷的怪已全部死亡(还有活怪就不重刷,避免越堆越多);
  4. 距上次刷怪已超过 respawn 秒数(冷却到了)。

满足后会按当前激活逻辑重新刷一波(配了目标则从第 1 阶段起)。这让遗迹像「会自然恢复的世界结构」,而不是一次性副本。

提示

💡 想让某座遗迹「打完就空、绝不复活」,把模板的 respawn 设成 0。想让它每隔几分钟恢复,设成对应秒数。respawn 是模板字段,详见 遗迹模板

此外,QR 插件停止 / 重载时,会主动移除所有它刷出的、还活着的标记怪,避免遗留怪堆积。


五、保护系统(探索 / 激活中不可破坏放置)

为了让遗迹在被「攻略中」时保持完整,QR 内置保护:锁定状态下的遗迹不能破坏、不能放置方块

配置在 config.ymlprotection 段:

yaml
# 遗迹保护:探索/激活中不可破坏放置,通关后解锁
protection:
  enabled: true   # 总开关

什么时候算「锁定」

一座锚点满足任一条件就处于锁定(不可破坏放置):

  • 它是秘境态(Realm 激活中);
  • 有击杀目标且尚未通关(配了 objectives 且还没打到 CLEARED)。

反过来:没配目标的纯探索遗迹默认不锁;配了目标的遗迹在通关后自动解锁,玩家可以随意改造打通的遗迹。

例外(锁定时仍可破坏 / 放置)

例外说明
管理员拥有 qinhruins.admin 权限的玩家不受保护限制(方便调试 / 修结构)
机关触发块BLOCK_BREAK 机关用作触发器的那个方块允许被挖——否则「挖穿某块墙触发机关」的玩法就做不了

注意

⚠️ 保护按方块是否落在锚点结构的包围盒内判定。子结构变体如果贴到了主结构包围盒之外,超出部分不受保护、/qr remove 快照也还原不到,配 variants 时注意让它落在主结构范围内(见 程序化生成)。


六、进入门槛 entry(软门槛,非实例化)

entry 是「够不够资格在这座遗迹活动」的软门槛,写在模板 template.yml(不是蓝图里)。

注意

⚠️ 关键认知:QR 不实例化、不开独立世界。所以 entry 不是「副本入口闸门」——它是一组「软性条件 / 提示」,表达「这座遗迹期望几人组队、什么职业、多高成长度才适合来」。它不会像副本插件那样把不合格的人挡在传送门外,因为根本没有传送门。

yaml
# —— 进入门槛(QR 不实例化,这是"够资格在此活动"的软门槛)——
entry:
  min-players: 1
  max-players: 10
  # required-classes: [warrior]  # 需在场的职业(QinhClass)
  min-growth: 0.0                # 最低成长度
  # cost: "100"                  # 进入花费(经济)
  cooldown: 0s
字段含义默认 / 示例
min-players期望最少在场人数1
max-players期望最多在场人数10
required-classes需在场的职业(对接 QinhClass 职业系统)缺省=不限,如 [warrior]
min-growth最低成长度门槛0.0
cost进入花费(对接经济插件)缺省=免费,如 "100"
cooldown进入冷却0s(如 30s / 5m / 1h

提示

💡 成长度(growth)是 QR 对接 QinhClass / MMOCore 等级体系或内置进度的统一概念,也用于战利品按成长度缩放。min-growth 让「高难遗迹只对够强的玩家友好」。


七、常见组合速查

想做的玩法怎么配
纯探索遗迹(不刷怪、不通关)蓝图不写 spawn-points / objectives;保护默认不锁
一次性刷怪点(打完就空)spawn-points,不写 objectives;模板 respawn: 0
会恢复的刷怪营地spawn-points,模板 respawn: 600(10 分钟重刷)
多阶段副本式遗迹spawn-points(标 stage)+ objectives.stages;通关解锁 loot-chests
高难限定遗迹模板 entry.min-growth / required-classes 设门槛

下一步