传奇永恒更新:副本节点系统与 GM 变量命令上线,全面支持「九层妖塔」

更新概览

本次更新围绕“可编排副本流程”的目标,新增并完善了三类副本节点命令与 GM 变量调试命令,正式落地玩法「九层妖塔」。新能力让多层副本的层级推进、计时控制、完成判定更加直观可维护。

  • 新增:副本节点系统命令(流程控制)
    • CHECKINSTANCENODE:检查当前副本节点值
    • CHANGECURRENTINSTANCENODE(别名:CURRENTINSTANCENODE):设置当前副本节点
    • CHANGETIME(别名:CHANGEINSTANCETIME):设置节点计时(延迟触发)
  • 新增:GM 调试命令
    • @设置玩家变量:快速设置/清理玩家变量,用于解锁与复位流程

下文将以「九层妖塔」为完整案例,展示命令组合的实际用法与脚本结构。

新命令速览

副本节点系统

  • CHECKINSTANCENODE 操作符 目标值

    • 用于判断当前地图的副本节点状态,支持 <、<=、>、>=、==、!= 比较。
  • CHANGECURRENTINSTANCENODE 节点值

    • 设置当前副本节点,并自动配合计时推进;常与传送配合使用。
  • CHANGETIME 秒数

    • 将当前节点的下一阶段触发时间设置为“现在 + 秒数”。

示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 进入第一层(节点 < 20)
#IF
CHECKINSTANCENODE < 20
#ACT
INSTANCEMOVE 227 881 295 0
CHANGECURRENTINSTANCENODE 20
CHANGETIME 5
Break

# 完成第九层(节点 >= 90):结算并退出
#IF
CHECKINSTANCENODE >= 90
#ACT
MOV J9 10
MOV J0 1
MOV A0 完成妖塔
MOVE 147 0 0 1
Break

GM 变量命令与变量体系

支持的变量类型(节选):

  • 全局字符:A0-A∞(可保存)
  • 私人每日数字:J0-J∞(每日 0 点清零)
  • 私人永久数字/字符:U0-U∞ / T0-T∞(可保存)

与本次玩法相关的关键变量:

  • A0:是否完成过九层妖塔(字符,永久)
  • J0:今日是否已挑战(数字,每日清零)
  • J1:今日挑战类型(数字,每日清零:1=九层;2=秘境标准;3=秘境进阶;4=秘境困难)【当前实装未写入,可按需在入场点补充 MOV J1】
  • J9:九层妖塔层数/完成标记(数字)

GM 调试示例:

1
2
3
4
5
6
7
8
# 清零今日挑战标记
@设置玩家变量 张三 J0 0

# 解锁秘境(视为已完成九层妖塔)
@设置玩家变量 张三 A0 完成妖塔

# 设置完成层数标记
@设置玩家变量 张三 J9 10

实装案例:九层妖塔

玩法规则(玩家视角)

  • 等级 ≥ 20,单人进入;首通必须从九层塔开始
  • 每日限一次挑战(九层 or 妖塔秘境 三选一)
  • 首通九层后,永久解锁“妖塔秘境”(标准/进阶/困难)
  • 当日完成任一模式后,当天无法再挑战其他模式

变量与准入逻辑

  • 首通完成:传送阵结算设置 A0=完成妖塔、J9=10,并将 J0=1 标记当日消耗
  • 每日入场检查:J0>=1 则提示“今天已完成挑战”
  • 已解锁玩家:可在九层与秘境间二选一;当前实现入场仅写入 J0;如需记录当日选择类型,建议在入场点增加 MOV J1 {1|2|3|4}

流程图

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
flowchart TD
A[玩家与雷七道对话] --> B{J0 >= 1?}
B -->|是| C[提示:今天已完成挑战]
B -->|否| D{A0 == 完成妖塔?}
D -->|是| E[选择 九层 或 秘境]
D -->|否| G[只能挑战九层]
E --> G[选择九层]
E --> H[选择秘境]

G --> I[进入九层副本]
I --> J[写入 J0=1 (可选写入 J1=1)]

H --> K[选择难度]
K --> N[标准 -> J0=1 (可选 J1=2)]
K --> O[进阶 -> J0=1 (可选 J1=3)]
K --> P[困难 -> J0=1 (可选 J1=4)]

T[完成九层] --> U[传送阵结算]
U --> V[设置 A0=完成妖塔, J9=10]
V --> W[永久解锁妖塔秘境]

X[每日0点] --> Y[清零 J0, J1]

脚本结构要点

  1. 入口 NPC(雷七道)使用“标准 IF + GOTO”结构进行多条件分支,避免不被识别的标签:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[@MAIN]
#IF
Checkcalc <$STR(J0)> >= 1
#SAY
今天已完成挑战
#ELSEACT
GOTO [@CHECK_TOWER_STATUS]

[@CHECK_TOWER_STATUS]
#IF
Checkcalc <$STR(A0)> == 完成妖塔
#SAY
可以挑战妖塔秘境或继续九层
#ELSESAY
只能挑战九层妖塔
  1. 入口检查与费用/单人限制(与现有脚本一致):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
; 九层入口 [@1]
#IF
Checkcalc <$STR(J0)> >= 1
#ACT
Break
#SAY
今天已完成九层妖塔挑战

#IF
检测有无队伍
#ACT
Break
#SAY
单人副本禁止组队!

#IF
Level < 20
#ACT
Break
#SAY
等级未达到20级!

#IF
CHECKGOLD < 20000
#ACT
Break
#SAY
身上不足[20000]金币!

#IF
#ACT
CreateInstance 227 180 1 0 ; 九层
TakeGold 20000
InstanceMove 227 1028 148 0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
; 妖塔秘境入口(标准/进阶/困难)[@3_1/@3_2/@3_3]
#IF
GROUPLEADER
#ACT
Break
#SAY
单人副本禁止组队!

#IF
Level < 20
#ACT
Break
#SAY
等级未达到20级!

#IF
CHECKGOLD < 20000
#ACT
Break
#SAY
身上不足[20000]金币!

#IF
#ACT
CreateInstance 227 180 1 {1|2|3} ; 标准/进阶/困难
TakeGold 20000
MOV J0 1
InstanceMove 227 596 576 0

; 可选增强:按需增加 MOV J1 {2|3|4}

CreateInstance 模式映射:

1
2
3
4
0 = 九层妖塔
1 = 妖塔秘境·标准
2 = 妖塔秘境·进阶
3 = 妖塔秘境·困难
  1. 传送阵脚本以副本节点值驱动层级推进,并在完成节点处统一结算:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
; 进入第二层(节点 < 30)
#IF
CHECKINSTANCENODE < 30
#ACT
INSTANCEMOVE 227 733 443 0
CHANGECURRENTINSTANCENODE 30
CHANGETIME 5
Break

; 完成第九层(节点 >= 90):出本与标记首通
#IF
CHECKINSTANCENODE >= 90
#ACT
MOV J9 10
MOV J0 1
MOV A0 完成妖塔
MOVE 147 0 0 1
Break

同时,脚本开头包含一次完成性快速判定:

1
2
3
4
5
6
#IF
CHECKCALC <$STR(J9)> >= 10
#ACT
MOV J0 1
MOVE 147 0 0 1
Break

调试与常见问题

  • 快速复位:@设置玩家变量 角色名 J0 0 清空当日消耗;@设置玩家变量 角色名 J1 0 清空当日类型
  • 快速解锁:@设置玩家变量 角色名 A0 完成妖塔
  • 排查节点:观察日志 [CheckInstanceNode] 输出以确认当前节点值与比较结果
  • 注意脚本标签:仅使用 #IF / #OR / #SAY / #ACT / #ELSESAY / #ELSEACT / #INCLUDE 等已支持标签;多条件用 #ELSEACT + GOTO 结构展开

版本变更摘要(Changelog)

  • 新增 副本节点检查命令:CHECKINSTANCENODE
  • 新增 副本节点设置命令:CHANGECURRENTINSTANCENODE(别名:CURRENTINSTANCENODE
  • 新增 节点计时命令:CHANGETIME(别名:CHANGEINSTANCETIME
  • 新增 GM 调试命令:@设置玩家变量 支持 A/U/T/J 等多种变量空间
  • 九层妖塔 实装:完整的首通解锁、每日一次、难度选择与结算流程

如需在你自己的副本中复用同样的“节点驱动 + 变量准入”设计,建议先规划好每层的节点区间(整十标识层级,区间内细分阶段),并在结算点统一写入当日/成就变量,便于跨玩法复用与调试。