使用机器人脚本 + MapMove命令,无需玩家操作,强制将所有目标地图玩家转移至新地图。
一、完整解决方案(以GEE引擎为例)
第一步:创建机器人脚本(定时触发)
在 MirServer\Mir200\Envir\Robot_def\AutoRunRobot.txt 添加:
[AutoRunRobot]
SEC = 10 19:59:50 @土城传送预热 // 提前10秒提醒
SEC = 10 20:00:00 @土城强制传送 // 整点执行
第二步:传送提示脚本(预热提醒)
在 Robot_def\System\RobotManage.txt 添加:
[@土城传送预热]
IF
HOUR 20
MIN 59
SEC 50
ACT
只在土城仓库地图广播(避免全服骚扰)
SENDMSG 6 [系统] 10秒后将强制传送土城仓库玩家至新地图! 151 249 0 @仓库地图号
BREAK
第三步:核心传送脚本(批量转移)
[@土城强制传送]
IF
HOUR 20
MIN 00
ACT
关键命令:把仓库地图所有玩家传送到5号地图(100,100)
MapMove 仓库地图号 5 100 100
可选:添加传送日志记录
AddTextList .\Logs\传送记录.txt [<DATETIME>]传送[<MAPTITLE(仓库地图号)>]玩家至[<$MAPTITLE(5)>]
BREAK
二、参数详解(必看)
仓库地图号:查看 Mir200\Envir\MapInfo.txt 中土城仓库对应的数字ID
例如:[3 土城仓库] 则地图号为 3
目标坐标设置:
避免设置墙角或障碍物位置
推荐在 MapInfo.txt 中添加安全区标记:
[5 新地图] SAFE(100,100,5) // 坐标100,100为5x5范围安全区
地图号查找工具:
[@查看地图号]
#ACT
messagebox 当前地图ID:<$MAP>
三、常见引擎命令差异
引擎类型 传送命令 示例写法
GEE/GOM MapMove MapMove 3 5 100 100
BLUE MoveHum MoveHum 3 5 100 100
HGE MoveMapHuman MoveMapHuman 3 5 100 100
四、防卡点技巧
分散坐标:避免所有玩家挤在同一点
#ACT
MOV RANDOMX = <$RANDOM(85,115)> // 随机85~115坐标
MOV RANDOMY = <$RANDOM(85,115)>
MapMove 3 5 <STR(RANDOMX)> <STR(RANDOMY)>
分批传送:超过50人时分组执行
#IF
CheckMapHuman 3 > 50
#ACT
MOV LOOPCOUNT = 50
GOTO @分批传送
[@分批传送]
#ACT
MapMove 3 5 100 100 <$STR(LOOPCOUNT)>
DEC LOOPCOUNT 10
DELAYGOTO 1000 @分批传送 // 每1秒传10人
五、注意事项
权限检测:跳过管理员和挂机玩家
#IF
NOT CHECKDUPLICATE HUMAN // 非挂机玩家
NOT ISADMIN // 非GM
#ACT
MapMove...
跨服支持:
添加参数 SERVERINDEX 指定分服
MapMove 3 5 100 100 * SERVERINDEX=0
错误排查:
检查 M2Server 控制台是否报错
查看 Logs\MapMoveLog.txt 传送记录
📢 最终效果:每晚8点整,土城仓库所有玩家瞬间转移至新地图坐标,无需任何操作!
一、完整解决方案(以GEE引擎为例)
第一步:创建机器人脚本(定时触发)
在 MirServer\Mir200\Envir\Robot_def\AutoRunRobot.txt 添加:
[AutoRunRobot]
SEC = 10 19:59:50 @土城传送预热 // 提前10秒提醒
SEC = 10 20:00:00 @土城强制传送 // 整点执行
第二步:传送提示脚本(预热提醒)
在 Robot_def\System\RobotManage.txt 添加:
[@土城传送预热]
IF
HOUR 20
MIN 59
SEC 50
ACT
只在土城仓库地图广播(避免全服骚扰)
SENDMSG 6 [系统] 10秒后将强制传送土城仓库玩家至新地图! 151 249 0 @仓库地图号
BREAK
第三步:核心传送脚本(批量转移)
[@土城强制传送]
IF
HOUR 20
MIN 00
ACT
关键命令:把仓库地图所有玩家传送到5号地图(100,100)
MapMove 仓库地图号 5 100 100
可选:添加传送日志记录
AddTextList .\Logs\传送记录.txt [<DATETIME>]传送[<MAPTITLE(仓库地图号)>]玩家至[<$MAPTITLE(5)>]
BREAK
二、参数详解(必看)
仓库地图号:查看 Mir200\Envir\MapInfo.txt 中土城仓库对应的数字ID
例如:[3 土城仓库] 则地图号为 3
目标坐标设置:
避免设置墙角或障碍物位置
推荐在 MapInfo.txt 中添加安全区标记:
[5 新地图] SAFE(100,100,5) // 坐标100,100为5x5范围安全区
地图号查找工具:
[@查看地图号]
#ACT
messagebox 当前地图ID:<$MAP>
三、常见引擎命令差异
引擎类型 传送命令 示例写法
GEE/GOM MapMove MapMove 3 5 100 100
BLUE MoveHum MoveHum 3 5 100 100
HGE MoveMapHuman MoveMapHuman 3 5 100 100
四、防卡点技巧
分散坐标:避免所有玩家挤在同一点
#ACT
MOV RANDOMX = <$RANDOM(85,115)> // 随机85~115坐标
MOV RANDOMY = <$RANDOM(85,115)>
MapMove 3 5 <STR(RANDOMX)> <STR(RANDOMY)>
分批传送:超过50人时分组执行
#IF
CheckMapHuman 3 > 50
#ACT
MOV LOOPCOUNT = 50
GOTO @分批传送
[@分批传送]
#ACT
MapMove 3 5 100 100 <$STR(LOOPCOUNT)>
DEC LOOPCOUNT 10
DELAYGOTO 1000 @分批传送 // 每1秒传10人
五、注意事项
权限检测:跳过管理员和挂机玩家
#IF
NOT CHECKDUPLICATE HUMAN // 非挂机玩家
NOT ISADMIN // 非GM
#ACT
MapMove...
跨服支持:
添加参数 SERVERINDEX 指定分服
MapMove 3 5 100 100 * SERVERINDEX=0
错误排查:
检查 M2Server 控制台是否报错
查看 Logs\MapMoveLog.txt 传送记录
📢 最终效果:每晚8点整,土城仓库所有玩家瞬间转移至新地图坐标,无需任何操作!

