一、核心认知与前期准备
GM上线自动飞指定地图,核心是通过服务端登录脚本添加触发指令,检测到GM账号登录时,自动执行地图传送逻辑,无需手动操作。适配主流Hero、GOM、BLUE引擎,仅需修改对应脚本文件,无需改动数据库核心结构。
1.前期准备:关闭服务端所有核心组件(M2Server、DBServer等),备份服务端根目录/Mir200/Envir/QuestDiary文件夹(脚本核心存放目录),避免脚本写错导致服务端启动失败或登录异常。
2.工具准备:仅需文本编辑器(如记事本、Notepad++),用于修改脚本文件;部分引擎需用到服务端自带的引擎控制器(用于加载脚本、刷新配置)。
3.核心信息确认:
(1)指定地图参数:需确认目标地图的地图ID、坐标(如土城地图ID=3,安全区坐标X=330,Y=330),可在Mir200/Envir/Maps/MapInfo.txt中查询所有地图的ID与对应坐标。
(2)GM账号标识:明确GM账号的权限等级(如10级为最高权限,对应脚本中AdminLevel=10)或指定GM账号名称(如“GM01”),确保脚本仅对GM生效,不影响普通玩家。
4.核心文件定位(全引擎通用目录):
(1)登录触发脚本:Mir200/Envir/QuestDiary/Login.txt(全引擎通用登录脚本,玩家登录时触发);
(2)GM权限配置文件:Hero引擎为Mir200/Envir/AdminList.txt,GOM/BLUE引擎为Mir200/Envir/GMList.txt(记录GM账号与权限等级);
(3)地图信息文件:Mir200/Envir/Maps/MapInfo.txt(查询目标地图ID、坐标,确认地图是否可正常传送)。
二、分引擎脚本配置步骤(主流引擎全覆盖)
(一)Hero引擎(最通用版本)
Hero引擎通过Login.txt脚本添加GM登录触发逻辑,步骤如下:
1.打开登录脚本文件:定位到Mir200/Envir/QuestDiary/Login.txt,该文件为玩家登录时自动执行的脚本,在文件末尾新增GM专属触发代码(避免修改原有脚本内容,防止影响普通玩家登录)。
2.编写GM上线传送脚本:新增代码格式如下,需替换对应参数(地图ID、坐标、GM权限等级):
//GM上线自动传送至指定地图(土城示例)
ifAdminLevel>=10then//10为GM权限等级,可根据实际调整
begin
MapMove3330330;//3为地图ID,330330为目标坐标,中间用逗号分隔
SendMsg6"GM上线已自动传送至土城安全区";//登录提示,可自定义内容,6为提示文字颜色
end
3.单独指定GM账号(可选):若仅需特定GM账号触发,而非所有GM,脚本修改为:
//指定GM账号上线传送(账号GM01示例)
ifUserName="GM01"then//GM01为目标GM账号名称,需与AdminList.txt中一致
begin
MapMove3330330;
SendMsg6"GM01上线已自动传送至土城安全区";
end
4.保存文件:脚本编写完成后,保存Login.txt,关闭文本编辑器。
(二)GOM引擎
GOM引擎需通过专属登录脚本与引擎配置联动,步骤如下:
1.打开GM登录脚本:定位到Mir200/Envir/QuestDiary/GMLogin.txt(GOM引擎专属GM登录脚本,无则新建该文件),若新建文件,需确保文件编码为ANSI(避免中文乱码导致脚本失效)。
2.编写传送脚本:在GMLogin.txt中写入以下代码,替换对应参数:
//GOM引擎GM上线自动传送(沙巴克示例,地图ID=6,坐标X=200,Y=200)
procedureOnLogin();//登录触发函数
begin
ifGMLevel>=8then//8为GM权限等级,GOM引擎默认GM等级为1-10级
begin
ChangeMap(6200200);//GOM引擎传送指令为ChangeMap,参数依次为地图ID、X坐标、Y坐标
NoticeMsg(0255"【GM提示】已自动传送至沙巴克指定位置");//全服提示,0为范围,255为颜色
end
end
3.引擎配置加载:启动GOM引擎控制器,点击“脚本配置”-“登录脚本”,选择GMLogin.txt,点击“加载脚本”,确认脚本状态为“已加载”,保存引擎配置。
4.普通登录脚本适配(备选):若无需专属GM脚本,可直接修改Login.txt,脚本格式与Hero引擎一致,仅将传送指令改为ChangeMap即可。
(三)BLUE引擎
BLUE引擎脚本语法简洁,直接在登录脚本中添加触发指令即可,步骤如下:
1.打开登录脚本:定位到Mir200/Envir/QuestDiary/Login.txt,在文件末尾新增脚本代码,无需修改原有内容。
2.编写GM传送脚本:代码格式如下,支持权限等级或账号指定:
//BLUE引擎GM上线自动传送(猪洞七层示例,地图ID=23,坐标X=80,Y=80)
ifAdminLevel>=9then//9为GM权限等级,可按需调整
begin
MoveMap(238080);//BLUE引擎传送指令为MoveMap,参数为地图ID、X坐标、Y坐标
SendUserMsg(UserIndex6"已自动传送至猪洞七层指定地图");//仅GM本人可见提示
end
3.多GM账号批量配置(可选):若需多个GM账号触发,可使用or连接账号名称:
ifUserName="GM01"orUserName="GM02"orUserName="GM03"then
begin
MoveMap(238080);
SendUserMsg(UserIndex6"已自动传送至猪洞七层指定地图");
end
(四)复古版本(无引擎区分)
复古版本(如经典1.76、1.80)脚本结构简洁,修改Login.txt即可实现,步骤如下:
1.打开登录脚本:定位到Mir200/Envir/Login.txt(复古版本登录脚本多直接存放在Envir目录下,而非QuestDiary文件夹)。
2.编写传送脚本:在文件末尾新增以下代码,适配复古版本语法:
//复古版本GM上线自动传送(盟重省示例,地图ID=3,坐标X=335,Y=335)
ifAdminLevel>=7then
begin
MapMove3335335;
SendMsg6"GM上线自动传送至盟重安全区";
end
3.保存文件:确保脚本无语法错误(如括号配对、逗号分隔等),保存后关闭文本编辑器。
三、脚本核心参数说明与自定义调整
1.传送指令区分(各引擎通用指令汇总):
(1)Hero/复古版本:MapMove地图IDX坐标Y坐标;(示例:MapMove3330330;)
(2)GOM引擎:ChangeMap(地图IDX坐标Y坐标);(示例:ChangeMap(6200200);)
(3)BLUE引擎:MoveMap(地图IDX坐标Y坐标);(示例:MoveMap(238080);)
2.GM权限等级调整:脚本中AdminLevel/GMLevel数值,需与GMList.txt/AdminList.txt中一致,如:
(1)AdminList.txt中GM账号格式:GM0110(GM01为账号,10为权限等级);
(2)若脚本中设置AdminLevel>=10,则仅权限等级10的GM可触发传送,低于10级的GM不生效。
3.提示信息自定义:SendMsg/NoticeMsg等提示指令,可修改文字内容与颜色,如:
(1)SendMsg6"自定义提示文字";(6为黄色,2为红色,1为蓝色,可按需调整颜色代码);
(2)无需提示信息可直接删除提示语句,仅保留传送指令即可。
4.地图参数查询方法:打开Mir200/Envir/Maps/MapInfo.txt,文件中每行为一个地图信息,格式为“地图名称地图ID进入等级地图类型坐标范围”,如“土城30安全区300-360300-360”,可直接提取地图ID与坐标范围。
四、配置后校验与常见问题排查
(一)校验步骤
1.服务端启动:重启服务端所有核心组件,查看启动日志,无“脚本语法错误”“文件找不到”等提示即为正常。
2.登录测试:
(1)使用GM账号登录游戏,观察是否自动传送至指定地图,无手动操作即可完成传送为生效;
(2)使用普通玩家账号登录,确认不会触发传送,仅GM账号生效,避免影响普通玩家体验;
(3)测试不同权限等级的GM账号,确认脚本中设置的权限等级阈值生效(如设置AdminLevel>=10,则9级GM不传送,10级GM传送)。
(二)常见问题排查
1.GM登录未传送:
(1)脚本语法错误:检查脚本中括号是否配对、逗号是否为英文逗号、指令是否正确(如GOM引擎误用MapMove指令),修正后保存重新启动服务端;
(2)权限等级不匹配:确认GM账号权限等级是否达到脚本中设置的阈值,如脚本设置AdminLevel>=10,而GM账号等级为8,则需修改脚本等级或提升GM账号权限;
(3)地图参数错误:检查地图ID与坐标是否正确,可在MapInfo.txt中重新查询,确保无参数错误(如将地图ID=3误写为33)。
2.普通玩家登录也触发传送:脚本中未添加GM权限/账号判断条件,需补充ifAdminLevel>=X或ifUserName="GM账号"判断语句,确保仅GM生效。
3.服务端启动失败,提示脚本错误:
(1)文件编码错误:将脚本文件编码改为ANSI(文本编辑器中选择“另存为”,编码选择ANSI),避免中文乱码导致脚本失效;
(2)误删原有脚本内容:恢复备份的Login.txt文件,重新在文件末尾新增GM传送脚本,不修改原有内容。
4.传送后卡在地图加载界面:目标地图文件缺失或损坏,检查Mir200/Maps目录下是否存在对应地图文件(如地图ID=3对应3.map),缺失则补充地图文件,损坏则替换为正常地图文件。
五、核心注意事项
1.脚本备份:修改任何脚本文件前,务必备份原文件,若修改后出现异常,可直接恢复备份,快速恢复服务端正常运行。
2.权限控制:严格设置GM权限等级阈值,避免低权限GM账号也能触发传送,防止权限滥用。
3.地图适配:确保目标地图为可进入状态(无进入等级限制或特殊进入条件),避免传送至无法进入的地图导致GM登录异常。
4.版本适配:部分定制化版本可能存在专属登录脚本(如Login_New.txt),需在Envir/QuestDiary文件夹中排查,找到实际触发的登录脚本后再进行修改。
综上,GM上线自动飞指定地图的核心是“在登录脚本中添加GM专属传送触发逻辑”,按对应引擎脚本语法编写,确保参数正确、语法无误,即可实现自动传送。配置后需严格校验,避免影响普通玩家登录,同时做好脚本备份,应对突发异常。
GM上线自动飞指定地图,核心是通过服务端登录脚本添加触发指令,检测到GM账号登录时,自动执行地图传送逻辑,无需手动操作。适配主流Hero、GOM、BLUE引擎,仅需修改对应脚本文件,无需改动数据库核心结构。
1.前期准备:关闭服务端所有核心组件(M2Server、DBServer等),备份服务端根目录/Mir200/Envir/QuestDiary文件夹(脚本核心存放目录),避免脚本写错导致服务端启动失败或登录异常。
2.工具准备:仅需文本编辑器(如记事本、Notepad++),用于修改脚本文件;部分引擎需用到服务端自带的引擎控制器(用于加载脚本、刷新配置)。
3.核心信息确认:
(1)指定地图参数:需确认目标地图的地图ID、坐标(如土城地图ID=3,安全区坐标X=330,Y=330),可在Mir200/Envir/Maps/MapInfo.txt中查询所有地图的ID与对应坐标。
(2)GM账号标识:明确GM账号的权限等级(如10级为最高权限,对应脚本中AdminLevel=10)或指定GM账号名称(如“GM01”),确保脚本仅对GM生效,不影响普通玩家。
4.核心文件定位(全引擎通用目录):
(1)登录触发脚本:Mir200/Envir/QuestDiary/Login.txt(全引擎通用登录脚本,玩家登录时触发);
(2)GM权限配置文件:Hero引擎为Mir200/Envir/AdminList.txt,GOM/BLUE引擎为Mir200/Envir/GMList.txt(记录GM账号与权限等级);
(3)地图信息文件:Mir200/Envir/Maps/MapInfo.txt(查询目标地图ID、坐标,确认地图是否可正常传送)。
二、分引擎脚本配置步骤(主流引擎全覆盖)
(一)Hero引擎(最通用版本)
Hero引擎通过Login.txt脚本添加GM登录触发逻辑,步骤如下:
1.打开登录脚本文件:定位到Mir200/Envir/QuestDiary/Login.txt,该文件为玩家登录时自动执行的脚本,在文件末尾新增GM专属触发代码(避免修改原有脚本内容,防止影响普通玩家登录)。
2.编写GM上线传送脚本:新增代码格式如下,需替换对应参数(地图ID、坐标、GM权限等级):
//GM上线自动传送至指定地图(土城示例)
ifAdminLevel>=10then//10为GM权限等级,可根据实际调整
begin
MapMove3330330;//3为地图ID,330330为目标坐标,中间用逗号分隔
SendMsg6"GM上线已自动传送至土城安全区";//登录提示,可自定义内容,6为提示文字颜色
end
3.单独指定GM账号(可选):若仅需特定GM账号触发,而非所有GM,脚本修改为:
//指定GM账号上线传送(账号GM01示例)
ifUserName="GM01"then//GM01为目标GM账号名称,需与AdminList.txt中一致
begin
MapMove3330330;
SendMsg6"GM01上线已自动传送至土城安全区";
end
4.保存文件:脚本编写完成后,保存Login.txt,关闭文本编辑器。
(二)GOM引擎
GOM引擎需通过专属登录脚本与引擎配置联动,步骤如下:
1.打开GM登录脚本:定位到Mir200/Envir/QuestDiary/GMLogin.txt(GOM引擎专属GM登录脚本,无则新建该文件),若新建文件,需确保文件编码为ANSI(避免中文乱码导致脚本失效)。
2.编写传送脚本:在GMLogin.txt中写入以下代码,替换对应参数:
//GOM引擎GM上线自动传送(沙巴克示例,地图ID=6,坐标X=200,Y=200)
procedureOnLogin();//登录触发函数
begin
ifGMLevel>=8then//8为GM权限等级,GOM引擎默认GM等级为1-10级
begin
ChangeMap(6200200);//GOM引擎传送指令为ChangeMap,参数依次为地图ID、X坐标、Y坐标
NoticeMsg(0255"【GM提示】已自动传送至沙巴克指定位置");//全服提示,0为范围,255为颜色
end
end
3.引擎配置加载:启动GOM引擎控制器,点击“脚本配置”-“登录脚本”,选择GMLogin.txt,点击“加载脚本”,确认脚本状态为“已加载”,保存引擎配置。
4.普通登录脚本适配(备选):若无需专属GM脚本,可直接修改Login.txt,脚本格式与Hero引擎一致,仅将传送指令改为ChangeMap即可。
(三)BLUE引擎
BLUE引擎脚本语法简洁,直接在登录脚本中添加触发指令即可,步骤如下:
1.打开登录脚本:定位到Mir200/Envir/QuestDiary/Login.txt,在文件末尾新增脚本代码,无需修改原有内容。
2.编写GM传送脚本:代码格式如下,支持权限等级或账号指定:
//BLUE引擎GM上线自动传送(猪洞七层示例,地图ID=23,坐标X=80,Y=80)
ifAdminLevel>=9then//9为GM权限等级,可按需调整
begin
MoveMap(238080);//BLUE引擎传送指令为MoveMap,参数为地图ID、X坐标、Y坐标
SendUserMsg(UserIndex6"已自动传送至猪洞七层指定地图");//仅GM本人可见提示
end
3.多GM账号批量配置(可选):若需多个GM账号触发,可使用or连接账号名称:
ifUserName="GM01"orUserName="GM02"orUserName="GM03"then
begin
MoveMap(238080);
SendUserMsg(UserIndex6"已自动传送至猪洞七层指定地图");
end
(四)复古版本(无引擎区分)
复古版本(如经典1.76、1.80)脚本结构简洁,修改Login.txt即可实现,步骤如下:
1.打开登录脚本:定位到Mir200/Envir/Login.txt(复古版本登录脚本多直接存放在Envir目录下,而非QuestDiary文件夹)。
2.编写传送脚本:在文件末尾新增以下代码,适配复古版本语法:
//复古版本GM上线自动传送(盟重省示例,地图ID=3,坐标X=335,Y=335)
ifAdminLevel>=7then
begin
MapMove3335335;
SendMsg6"GM上线自动传送至盟重安全区";
end
3.保存文件:确保脚本无语法错误(如括号配对、逗号分隔等),保存后关闭文本编辑器。
三、脚本核心参数说明与自定义调整
1.传送指令区分(各引擎通用指令汇总):
(1)Hero/复古版本:MapMove地图IDX坐标Y坐标;(示例:MapMove3330330;)
(2)GOM引擎:ChangeMap(地图IDX坐标Y坐标);(示例:ChangeMap(6200200);)
(3)BLUE引擎:MoveMap(地图IDX坐标Y坐标);(示例:MoveMap(238080);)
2.GM权限等级调整:脚本中AdminLevel/GMLevel数值,需与GMList.txt/AdminList.txt中一致,如:
(1)AdminList.txt中GM账号格式:GM0110(GM01为账号,10为权限等级);
(2)若脚本中设置AdminLevel>=10,则仅权限等级10的GM可触发传送,低于10级的GM不生效。
3.提示信息自定义:SendMsg/NoticeMsg等提示指令,可修改文字内容与颜色,如:
(1)SendMsg6"自定义提示文字";(6为黄色,2为红色,1为蓝色,可按需调整颜色代码);
(2)无需提示信息可直接删除提示语句,仅保留传送指令即可。
4.地图参数查询方法:打开Mir200/Envir/Maps/MapInfo.txt,文件中每行为一个地图信息,格式为“地图名称地图ID进入等级地图类型坐标范围”,如“土城30安全区300-360300-360”,可直接提取地图ID与坐标范围。
四、配置后校验与常见问题排查
(一)校验步骤
1.服务端启动:重启服务端所有核心组件,查看启动日志,无“脚本语法错误”“文件找不到”等提示即为正常。
2.登录测试:
(1)使用GM账号登录游戏,观察是否自动传送至指定地图,无手动操作即可完成传送为生效;
(2)使用普通玩家账号登录,确认不会触发传送,仅GM账号生效,避免影响普通玩家体验;
(3)测试不同权限等级的GM账号,确认脚本中设置的权限等级阈值生效(如设置AdminLevel>=10,则9级GM不传送,10级GM传送)。
(二)常见问题排查
1.GM登录未传送:
(1)脚本语法错误:检查脚本中括号是否配对、逗号是否为英文逗号、指令是否正确(如GOM引擎误用MapMove指令),修正后保存重新启动服务端;
(2)权限等级不匹配:确认GM账号权限等级是否达到脚本中设置的阈值,如脚本设置AdminLevel>=10,而GM账号等级为8,则需修改脚本等级或提升GM账号权限;
(3)地图参数错误:检查地图ID与坐标是否正确,可在MapInfo.txt中重新查询,确保无参数错误(如将地图ID=3误写为33)。
2.普通玩家登录也触发传送:脚本中未添加GM权限/账号判断条件,需补充ifAdminLevel>=X或ifUserName="GM账号"判断语句,确保仅GM生效。
3.服务端启动失败,提示脚本错误:
(1)文件编码错误:将脚本文件编码改为ANSI(文本编辑器中选择“另存为”,编码选择ANSI),避免中文乱码导致脚本失效;
(2)误删原有脚本内容:恢复备份的Login.txt文件,重新在文件末尾新增GM传送脚本,不修改原有内容。
4.传送后卡在地图加载界面:目标地图文件缺失或损坏,检查Mir200/Maps目录下是否存在对应地图文件(如地图ID=3对应3.map),缺失则补充地图文件,损坏则替换为正常地图文件。
五、核心注意事项
1.脚本备份:修改任何脚本文件前,务必备份原文件,若修改后出现异常,可直接恢复备份,快速恢复服务端正常运行。
2.权限控制:严格设置GM权限等级阈值,避免低权限GM账号也能触发传送,防止权限滥用。
3.地图适配:确保目标地图为可进入状态(无进入等级限制或特殊进入条件),避免传送至无法进入的地图导致GM登录异常。
4.版本适配:部分定制化版本可能存在专属登录脚本(如Login_New.txt),需在Envir/QuestDiary文件夹中排查,找到实际触发的登录脚本后再进行修改。
综上,GM上线自动飞指定地图的核心是“在登录脚本中添加GM专属传送触发逻辑”,按对应引擎脚本语法编写,确保参数正确、语法无误,即可实现自动传送。配置后需严格校验,避免影响普通玩家登录,同时做好脚本备份,应对突发异常。

