热血传奇服务端全局G变量自动清除方法 HeroGOMBlue引擎定时清零G_A变量脚本写法

来源: 作者: 点击:
全局G变量与A变量说明

传奇服务端全局变量分两类:G变量(G0~G999,全服共用,重启M2不清零,存文件GlobalVar.txt)和A变量(A0~A999,部分引擎行为同G)。变量占用过多通常是活动脚本反复赋值却不归零导致,需通过机器人定时脚本或手动指令清除。

Hero/Blue引擎——Robot定时清零(最常用)

Hero和Blue引擎用机器人系统定时触发,修改两个文件:

Mir200\Envir\Robot_def\AutoRunRobot.txt 添加定时行(每天0点触发示例):

#AutoRun NPC RUN 00:00:00 @ClearGlobalVar

也可写成 #AutoRun NPC RUNONWEEK 1 00:00:01 @ClearGlobalVar(每周一0点)。

Mir200\Envir\Robot_def\RobotManage.txt 添加执行段:

[@ClearGlobalVar]
#IF
#ACT
MOV G1 0
MOV G2 0
MOV G3 0
MOV G10 0
MOV G50 0
; 把你要清的G变量逐个列出来赋0,A变量同理写 MOV A1 0 等
SENDMSG 0 全局活动变量已每日重置!

保存后M2控制台点「重新加载机器人脚本」或重启M2生效。只想清指定几个变量就只列那几个,不建议盲目全写G0~G999否则脚本过长。

部分新版Hero引擎支持 #DELALLG(清全部G)和 #DELG G_变量名,可写在QuestDiary\Global.txt配合#TIMER使用,但Robot方式兼容性最好。

GOM/GEE引擎——QManage定时段

GOM/GEE在 Mir200\Envir\QManage.txt 末尾加:

[@Timer0000]
#IF
#ACT
SET G1 0
SET G2 0
SET G10 0
; A变量用 SET A1 0
SAVEUSERDATA

Timer0000代表每天0点触发(格式HHMM),可改成Timer0830等测试。部分GOM版支持 ClearVar G0 99 一次性清G0~G99范围。

M2控制台手动清除(不停服也可做)

打开M2Server→「管理」→「文件管理」或「查看→内核数据」→点「清除全局G变量」「清除全局A变量」执行归零。可用于合区后或活动结束时手动清一次,但不能代替自动脚本。

注意事项

• G变量存GlobalVar.txt,A变量存AbilVar.txt(视引擎),定时脚本只改内存值,部分引擎需确认是否自动回写文件。

- 用于首杀/首爆记录的G变量若每日重置会导致首杀可重复领,活动类(每日限购次数、限时BUFF开关)才适合定时归零。
• 若变量被脚本频繁读写建议集中记录在G50以后区间,清零脚本只维护这一段减少遗漏。