在传奇私人服务器脚本里,经常能看到 “Check [65] 0” 这样的代码,很多 GM 搞不懂其中的 “65” 是什么意思,更不知道该怎么设置。其实这串代码是在检查 “变量 65” 的值是否为 0,而变量 65 就像一个可以存数据的小盒子,具体装什么、怎么用,全靠你在 M2 引擎里设定。下面就详细说说这个变量的含义、M2 中的对应设置,以及怎么在脚本里灵活运用。
先搞懂 “Check [65] 0” 的字面意思:变量与判断
“Check [65] 0” 是脚本里的一个条件判断命令,拆开来看很简单:
“Check” 是 “检查” 的意思;“[65]” 代表 “第 65 号变量”;“0” 是要对比的值。整句话的意思是 “检查第 65 号变量的值是否等于 0”,如果等于 0,这个条件就成立,脚本会继续执行后面的操作;如果不等于 0,条件就不成立,脚本会跳过。
比如在任务脚本里写:
#if
Check [65] 0
#act
SENDMSG 6 你还没接取任务,快去村长那看看吧!
这就代表:如果变量 65 的值是 0,就给玩家发提示 “没接任务”。等玩家接了任务,就把变量 65 改成 1,这时 “Check [65] 0” 就不成立了,不会再发这条提示。
变量 65 本身没有固定含义,就像一个空白的标签纸,你可以在上面写 “任务状态”,也可以写 “是否获得道具”,全看你的需求。
M2 引擎里的变量:从 “编号” 到 “用途” 的设定
M2 引擎(也就是服务端的核心控制器)里有很多内置变量,编号从 0 到几百不等,65 是其中一个。这些变量就像一排抽屉,每个抽屉都有编号,你可以给第 65 号抽屉贴个标签,规定它专门放什么东西。
在 M2 里设置变量 65 的用途,通常不用手动 “创建”,因为变量是预先生成的,你只需要 “规定它的含义”。具体操作步骤如下:
打开 M2 引擎,找到 “选项” 或 “参数设置”(不同版本位置可能不同,一般在顶部菜单栏)。
找到 “变量设置” 或 “全局变量” 选项,里面会列出所有变量的编号。
找到编号 65,在旁边的 “备注” 或 “用途说明” 里填写它的含义,比如 “主线任务状态”“是否开启活动”“玩家是否加入行会” 等。
这个备注只是给 GM 看的,方便自己记,引擎本身不看备注,只认编号和数值。比如你备注 “变量 65 = 任务状态”,那 0 就可以代表 “未接任务”,1 代表 “已接任务”,2 代表 “任务完成”,全由你定。
变量 65 的常见用法:灵活定义场景
变量 65 的用法完全由你决定,常见的场景有这几种:
1. 标记任务进度
把变量 65 设为 “主线任务阶段”:
0 = 未接任务
1 = 已接任务但未完成
2 = 任务完成未领奖
3 = 已领奖
脚本里就可以写:
#if
Check [65] 1
#act
SENDMSG 6 你正在做任务,去杀 10 只狼吧!
#if
Check [65] 2
#act
SENDMSG 6 任务完成了,快去村长那领奖!
2. 控制活动开关
把变量 65 设为 “攻城活动是否开启”:
0 = 未开启
1 = 开启中
脚本里配合定时命令:
#if
Check [65] 0
TIMETICK 18:00 ; 每天下午 6 点
#act
Set [65] 1 ; 把变量 65 改成 1,代表活动开启
SENDMSG 6 沙巴克攻城活动开始了!
这样到了 18:00,变量 65 自动变成 1,活动就开启了。
3. 记录玩家状态
每个玩家都有自己的变量 65(称为 “个人变量”,区别于全局变量),可以记录 “是否拥有特殊权限”:
0 = 普通玩家
1=VIP 玩家
脚本里判断:
#if
Check [65] 1
#act
MAPMOVE 3 333 333 ;VIP 玩家传送至专属地图
普通玩家变量 65 是 0,就触发不了这个传送。
变量 65 的数值怎么改?Set 命令来帮忙
“Check [65] 0” 是检查变量,而 “Set [65] X”(X 是数字)是设置变量的值。比如:
玩家接任务时,脚本执行 “Set [65] 1”,把变量 65 改成 1;
玩家完成任务时,执行 “Set [65] 2”;
活动结束时,执行 “Set [65] 0”。
还可以用 “Inc [65] 1” 让变量 65 在原来的基础上加 1(比如从 1 变成 2),用 “Dec [65] 1” 让它减 1(从 2 变成 1),灵活调整数值。
注意:全局变量和个人变量的区别
变量 65 可能是 “全局变量”(全服只有一个,影响所有玩家),也可能是 “个人变量”(每个玩家都有一个独立的 65 号变量,互不影响),这在 M2 里可以设置:
全局变量:比如 “活动是否开启”,全服统一,改一次所有人都受影响;
个人变量:比如 “玩家的任务进度”,每个玩家的 65 号变量值单独计算,你做了任务不影响我。
设置时在 M2 的 “变量类型” 里选 “全局” 或 “个人”,选错了会出问题。比如把 “任务进度” 设成全局变量,你接了任务,全服玩家的变量 65 都变成 1,这显然不对。
测试变量是否生效的小技巧
改完变量设置后,用简单脚本测试是否好用:
写一个测试脚本,当玩家输入 “@测试变量” 时触发:
#if
Check [65] 0
#act
SENDMSG 6 变量 65 当前是 0
Set [65] 1 ; 改写成 1
#elseact
SENDMSG 6 变量 65 当前不是 0
Set [65] 0 ; 改写成 0
让玩家在游戏里输入 “@测试变量”,第一次会显示 “是 0”,第二次显示 “不是 0”,说明变量能正常修改和读取,设置没问题。
比如有个 1.80 服的 GM,把变量 65 设为 “是否允许使用随机传送卷”,0 代表允许,1 代表禁止。攻城战时执行 “Set [65] 1”,玩家就用不了随机卷,防止乱跑;攻城结束后 “Set [65] 0”,恢复正常使用,很方便。
其实变量 65 就像一个万能的标记牌,你说它是什么,它就是什么。关键是在 M2 里想好它的用途,用 “Check” 命令检查,用 “Set” 命令修改,就能在脚本里实现各种逻辑控制。不管是任务、活动还是玩家权限,都能靠它轻松管理,用熟了会发现脚本灵活多了。
传奇脚本中 Check [65] 0 怎么弄?65 这个变量这样设置和理解
来源:
作者:
点击:

