自动七彩下线消失,根因只有两类:颜色只在在线期间用CHANGENAMECOLOR改了内存状态,没有在登录触发里重染;或者七彩状态用临时变量、私变量记录,下线被清空,再次上线没有读取持久标记重新启动循环。按下面分引擎处理,GOM/GEE、Hero、Blue/Leg命令名会有差异,以本版命令帮助为准。
一、先确认变色命令与颜色值
人物名字颜色通用命令多为CHANGENAMECOLOR颜色代码,代码范围按引擎不同可为0-255或特定映射。常用参照:255/部分版本默认白,249红,250绿,251黄,252蓝,253紫,254青,0部分引擎代表取消/黑,具体看M2文字颜色表。GOM部分版本另有SETNAMECOLOR,可带时长参数,例如SETNAMECOLOR25265535表示设蓝色并持续;是否带时长、时长单位以命令帮助为准。Hero可用CHANGENAMECOLOR0-255,循环七彩配合DELAY和GOTO,也可在Config.ini写HumNameColor、WarriorNameColor、MageNameColor、TaoistNameColor做全局或职业固定色。
二、只做“在线七彩”为什么会丢
典型错误脚本只在NPC或命令里写:
ACT
CHANGENAMECOLOR249
DELAY1000
CHANGENAMECOLOR250
DELAY1000
CHANGENAMECOLOR251
GOTO@循环
这段在线能变,但角色小退再上,M2重新加载角色基础属性,名字颜色回到数据库/配置/称号系统默认值。若没有登录脚本再次执行,七彩就不会恢复。用NAMECOLOR1开启自动变色也一样,部分老端只控制在线会话,下线不写回。
三、持久化方案:登录重染+持久标记
1.用HUMAN变量存七彩开关
QManage.txt登录段写:
[@Login]
IF
CHECKHUMAN七彩开关1
ACT
GOTO@七彩启动
ELSEACT
IF
CHECKLEVELEX>1
ACT
GOTO@七彩启动
七彩启动标签写循环染色。HUMAN变量随角色存档,小退、重启M2都不丢;d0/m0类临时变量不要存开关,下线必清。
2.按条件自动给七彩
充值、转生、VIP、沙城城主分别判断,登录直接染:
[@Login]
IF
CHECKHUMANVIP七彩1
ACT
GOTO@七彩VIP
IF
CHECKHUMAN转生七彩1
ACT
GOTO@七彩转生
IF
ISHOLDGWINNER
ACT
CHANGENAMECOLOR251
GOTO@七彩城主
各标签内部用CHANGENAMECOLOR循环。这样不管什么时候下线,再次登录按HUMAN标记重跑,不会变回白名。
3.Hero写配置表固定色
不要求流动七彩、只要求固定身份色,改Mir200\Envir\Config.ini:
HumNameColor=2
WarriorNameColor=4
MageNameColor=5
TaoistNameColor=2
保存重启,全服或按职业固定。此方案最不容易“下线消失”,但做不到彩虹渐变。
四、QFunction在线循环七彩
需要在线持续变换,放Market_Def\QFunction-0.txt:
[@七彩开始]
ACT
CHANGENAMECOLOR249
DELAY800
CHANGENAMECOLOR250
DELAY800
CHANGENAMECOLOR251
DELAY800
CHANGENAMECOLOR252
DELAY800
CHANGENAMECOLOR253
DELAY800
GOTO@七彩开始
[@七彩停止]
ACT
CHANGENAMECOLOR255
NPC或命令触发@七彩开始即开,触发@七彩停止恢复默认。注意循环标签不要和机器人、OnTimer抢同一编号;纯GOTO循环在人数多时占脚本线程,百人以上建议改定时器。
五、定时器做七彩更稳、下线不丢
1.开定时器
NPC开启:
[@开启七彩]
IF
ACT
SETONtimer71
SAVEHUMAN七彩开关1
SENDMSG0已开启七彩名
QManage或QFunction写:
[@Ontimer7]
IF
CHECKISONLINE
ACT
INCN11
LARGEN15
ACT
MOVN10
IF
EQUALN11
ACT
CHANGENAMECOLOR249
IF
EQUALN12
ACT
CHANGENAMECOLOR250
IF
EQUALN13
ACT
CHANGENAMECOLOR251
IF
EQUALN14
ACT
CHANGENAMECOLOR252
IF
EQUALN15
ACT
CHANGENAMECOLOR253
每秒走一色,N1循环1-5。SetOnTimer编号按本版可用编号选,别和泡点、回城扣费定时器重复。
2.下线处理
QFunction下线标签或QManage登出标签写:
[@Logout]
IF
CHECKHUMAN七彩开关1
ACT
SETOFFtimer7
玩家下线关定时器,避免空跑;再次登录由[@Login]读七彩开关重新SETONtimer71,颜色自动续上。只关定时器不重开,会出现“上次在线七彩、再上不变”的错觉,必须登录重开。
六、称号+七彩一起做,避免互相覆盖
很多七彩消失是因为称号系统登录重置名字色。GOM用SETRANKLEVELNAME给称号,用CHANGENAMECOLOR给色,二者分开:
[@Login]
IF
CHECKHUMANVIP七彩1
ACT
SETRANKLEVELNAME七彩贵族
CHANGENAMECOLOR249
SETONtimer71
限时称号到期要清色,用变量记到期时间戳,机器人或OnTimer检测:
IF
CHECKHUMAN七彩到期1
SMALL当前时间变量七彩到期变量
ACT
SETRANKLEVELNAME
CHANGENAMECOLOR255
SETOFFtimer71
SAVEHUMAN七彩开关0
SETRANKLEVELNAME无参数清称号,CHANGENAMECOLOR255恢复默认;若本版默认不是255,按M2文字颜色表换值。
七、行会、沙城、GM固定色
行会全体变色用GuildMemberNameColor,Hero/翎风支持较好:
IF
ISGUILDMASTER
ACT
GuildMemberNameColor253
GOM不支持就遍历行会成员逐个CHANGENAMECOLOR,或改用SETNAMECOLOR。沙城城主登录:
IF
ISHOLDGWINNER
ACT
CHANGENAMECOLOR251
SETONtimer71
GM管理员若在M2“文字颜色/管理员名单”设了固定色,脚本七彩会被覆盖;需要七彩就不在M2管理员属性里锁颜色,只在脚本控制。
八、按引擎替换命令清单
GOM/GEE:CHANGENAMECOLOR0-255;SETNAMECOLOR可选带时长;SETRANKLEVELNAME管称号;定时器SetOnTimer/Ontimer或机器人AutoRun;登录QManage[@Login]、触发QFunction-0。
Hero:CHANGENAMECOLOR0-255;循环用DELAY+GOTO;全局固定色写Config.ini的HumNameColor及职业名色;HUMAN变量用SAVEHUMAN/CHECKHUMAN类命令持久化;定时器可用SetScTimer或引擎OnTimer,按本版文档替换。
Blue/Leg:CHANGENAMECOLOR若支持直接用;不支持就查命令表用NAMECOLOR或改名特效接口。NAMECOLOR1/0只做开关的版本,必须配合登录重执行,否则下线丢。
3K/老合击:行会批量色优先GuildMemberNameColor,不支持就用CHANGENAMECOLOR逐人;七彩循环改机器人按秒调用,不用长GOTO防止卡脚本。
九、排查顺序
1.小退后全服所有人白名:说明没写登录重染。QManage[@Login]加七彩分支,或M2全局文字颜色、Config.ini设固定色。
2.部分人有色部分人无色:检查HUMAN开关是否只给NPC点击者设置,充值/转生脚本是否漏写SAVEHUMAN;用GM查变量命令读“七彩开关”确认。
3.在线变、下线再上只变一次不循环:登录只执行了单次CHANGENAMECOLOR,没有SETONtimer或没有GOTO循环;补定时器或补循环标签。
4.七彩和称号颜色打架:SETRANKLEVELNAME后未CHANGENAMECOLOR,或称号系统登录强制默认色;把染色放在SETRANKLEVELNAME之后执行。
5.定时器不跳色:Ontimer编号被别的脚本占用,N1变量未初始化,DELAY与Ontimer重复控制;统一用一种方式,别GOTO和Ontimer同时改同一人颜色。
6.命令执行无效果:颜色代码超出本版范围,或M2功能设置限制了玩家改名色;先用CHANGENAMECOLOR249在GM命令框测试,再写脚本。
7.重启M2后丢失:纯脚本在线变量未存盘。所有“永久七彩”必须HUMAN/配置文件落盘,登录重染;纯内存变量、私变量、机器人局部变量都不算持久。
十、推荐生产配置
普通七彩服:NPC开通写SAVEHUMAN七彩开关1;QManage[@Login]读开关,满足则SETRANKLEVELNAME给称号、SETONtimer71启动五色循环;QFunction[@Ontimer7]按N1切换249/250/251/252/253;[@Logout]关7号定时器;取消NPC写SAVEHUMAN七彩开关0并执行CHANGENAMECOLOR255。充值/VIP额外再写VIP七彩开关,转生服写转生七彩开关,沙城城主不受开关限制强制进城主七彩标签。这样无论小退、关服、掉线重连,只要HUMAN标记在,登录自动恢复七彩,不会出白名。
一、先确认变色命令与颜色值
人物名字颜色通用命令多为CHANGENAMECOLOR颜色代码,代码范围按引擎不同可为0-255或特定映射。常用参照:255/部分版本默认白,249红,250绿,251黄,252蓝,253紫,254青,0部分引擎代表取消/黑,具体看M2文字颜色表。GOM部分版本另有SETNAMECOLOR,可带时长参数,例如SETNAMECOLOR25265535表示设蓝色并持续;是否带时长、时长单位以命令帮助为准。Hero可用CHANGENAMECOLOR0-255,循环七彩配合DELAY和GOTO,也可在Config.ini写HumNameColor、WarriorNameColor、MageNameColor、TaoistNameColor做全局或职业固定色。
二、只做“在线七彩”为什么会丢
典型错误脚本只在NPC或命令里写:
ACT
CHANGENAMECOLOR249
DELAY1000
CHANGENAMECOLOR250
DELAY1000
CHANGENAMECOLOR251
GOTO@循环
这段在线能变,但角色小退再上,M2重新加载角色基础属性,名字颜色回到数据库/配置/称号系统默认值。若没有登录脚本再次执行,七彩就不会恢复。用NAMECOLOR1开启自动变色也一样,部分老端只控制在线会话,下线不写回。
三、持久化方案:登录重染+持久标记
1.用HUMAN变量存七彩开关
QManage.txt登录段写:
[@Login]
IF
CHECKHUMAN七彩开关1
ACT
GOTO@七彩启动
ELSEACT
IF
CHECKLEVELEX>1
ACT
GOTO@七彩启动
七彩启动标签写循环染色。HUMAN变量随角色存档,小退、重启M2都不丢;d0/m0类临时变量不要存开关,下线必清。
2.按条件自动给七彩
充值、转生、VIP、沙城城主分别判断,登录直接染:
[@Login]
IF
CHECKHUMANVIP七彩1
ACT
GOTO@七彩VIP
IF
CHECKHUMAN转生七彩1
ACT
GOTO@七彩转生
IF
ISHOLDGWINNER
ACT
CHANGENAMECOLOR251
GOTO@七彩城主
各标签内部用CHANGENAMECOLOR循环。这样不管什么时候下线,再次登录按HUMAN标记重跑,不会变回白名。
3.Hero写配置表固定色
不要求流动七彩、只要求固定身份色,改Mir200\Envir\Config.ini:
HumNameColor=2
WarriorNameColor=4
MageNameColor=5
TaoistNameColor=2
保存重启,全服或按职业固定。此方案最不容易“下线消失”,但做不到彩虹渐变。
四、QFunction在线循环七彩
需要在线持续变换,放Market_Def\QFunction-0.txt:
[@七彩开始]
ACT
CHANGENAMECOLOR249
DELAY800
CHANGENAMECOLOR250
DELAY800
CHANGENAMECOLOR251
DELAY800
CHANGENAMECOLOR252
DELAY800
CHANGENAMECOLOR253
DELAY800
GOTO@七彩开始
[@七彩停止]
ACT
CHANGENAMECOLOR255
NPC或命令触发@七彩开始即开,触发@七彩停止恢复默认。注意循环标签不要和机器人、OnTimer抢同一编号;纯GOTO循环在人数多时占脚本线程,百人以上建议改定时器。
五、定时器做七彩更稳、下线不丢
1.开定时器
NPC开启:
[@开启七彩]
IF
ACT
SETONtimer71
SAVEHUMAN七彩开关1
SENDMSG0已开启七彩名
QManage或QFunction写:
[@Ontimer7]
IF
CHECKISONLINE
ACT
INCN11
LARGEN15
ACT
MOVN10
IF
EQUALN11
ACT
CHANGENAMECOLOR249
IF
EQUALN12
ACT
CHANGENAMECOLOR250
IF
EQUALN13
ACT
CHANGENAMECOLOR251
IF
EQUALN14
ACT
CHANGENAMECOLOR252
IF
EQUALN15
ACT
CHANGENAMECOLOR253
每秒走一色,N1循环1-5。SetOnTimer编号按本版可用编号选,别和泡点、回城扣费定时器重复。
2.下线处理
QFunction下线标签或QManage登出标签写:
[@Logout]
IF
CHECKHUMAN七彩开关1
ACT
SETOFFtimer7
玩家下线关定时器,避免空跑;再次登录由[@Login]读七彩开关重新SETONtimer71,颜色自动续上。只关定时器不重开,会出现“上次在线七彩、再上不变”的错觉,必须登录重开。
六、称号+七彩一起做,避免互相覆盖
很多七彩消失是因为称号系统登录重置名字色。GOM用SETRANKLEVELNAME给称号,用CHANGENAMECOLOR给色,二者分开:
[@Login]
IF
CHECKHUMANVIP七彩1
ACT
SETRANKLEVELNAME七彩贵族
CHANGENAMECOLOR249
SETONtimer71
限时称号到期要清色,用变量记到期时间戳,机器人或OnTimer检测:
IF
CHECKHUMAN七彩到期1
SMALL当前时间变量七彩到期变量
ACT
SETRANKLEVELNAME
CHANGENAMECOLOR255
SETOFFtimer71
SAVEHUMAN七彩开关0
SETRANKLEVELNAME无参数清称号,CHANGENAMECOLOR255恢复默认;若本版默认不是255,按M2文字颜色表换值。
七、行会、沙城、GM固定色
行会全体变色用GuildMemberNameColor,Hero/翎风支持较好:
IF
ISGUILDMASTER
ACT
GuildMemberNameColor253
GOM不支持就遍历行会成员逐个CHANGENAMECOLOR,或改用SETNAMECOLOR。沙城城主登录:
IF
ISHOLDGWINNER
ACT
CHANGENAMECOLOR251
SETONtimer71
GM管理员若在M2“文字颜色/管理员名单”设了固定色,脚本七彩会被覆盖;需要七彩就不在M2管理员属性里锁颜色,只在脚本控制。
八、按引擎替换命令清单
GOM/GEE:CHANGENAMECOLOR0-255;SETNAMECOLOR可选带时长;SETRANKLEVELNAME管称号;定时器SetOnTimer/Ontimer或机器人AutoRun;登录QManage[@Login]、触发QFunction-0。
Hero:CHANGENAMECOLOR0-255;循环用DELAY+GOTO;全局固定色写Config.ini的HumNameColor及职业名色;HUMAN变量用SAVEHUMAN/CHECKHUMAN类命令持久化;定时器可用SetScTimer或引擎OnTimer,按本版文档替换。
Blue/Leg:CHANGENAMECOLOR若支持直接用;不支持就查命令表用NAMECOLOR或改名特效接口。NAMECOLOR1/0只做开关的版本,必须配合登录重执行,否则下线丢。
3K/老合击:行会批量色优先GuildMemberNameColor,不支持就用CHANGENAMECOLOR逐人;七彩循环改机器人按秒调用,不用长GOTO防止卡脚本。
九、排查顺序
1.小退后全服所有人白名:说明没写登录重染。QManage[@Login]加七彩分支,或M2全局文字颜色、Config.ini设固定色。
2.部分人有色部分人无色:检查HUMAN开关是否只给NPC点击者设置,充值/转生脚本是否漏写SAVEHUMAN;用GM查变量命令读“七彩开关”确认。
3.在线变、下线再上只变一次不循环:登录只执行了单次CHANGENAMECOLOR,没有SETONtimer或没有GOTO循环;补定时器或补循环标签。
4.七彩和称号颜色打架:SETRANKLEVELNAME后未CHANGENAMECOLOR,或称号系统登录强制默认色;把染色放在SETRANKLEVELNAME之后执行。
5.定时器不跳色:Ontimer编号被别的脚本占用,N1变量未初始化,DELAY与Ontimer重复控制;统一用一种方式,别GOTO和Ontimer同时改同一人颜色。
6.命令执行无效果:颜色代码超出本版范围,或M2功能设置限制了玩家改名色;先用CHANGENAMECOLOR249在GM命令框测试,再写脚本。
7.重启M2后丢失:纯脚本在线变量未存盘。所有“永久七彩”必须HUMAN/配置文件落盘,登录重染;纯内存变量、私变量、机器人局部变量都不算持久。
十、推荐生产配置
普通七彩服:NPC开通写SAVEHUMAN七彩开关1;QManage[@Login]读开关,满足则SETRANKLEVELNAME给称号、SETONtimer71启动五色循环;QFunction[@Ontimer7]按N1切换249/250/251/252/253;[@Logout]关7号定时器;取消NPC写SAVEHUMAN七彩开关0并执行CHANGENAMECOLOR255。充值/VIP额外再写VIP七彩开关,转生服写转生七彩开关,沙城城主不受开关限制强制进城主七彩标签。这样无论小退、关服、掉线重连,只要HUMAN标记在,登录自动恢复七彩,不会出白名。

