一、假人系统涉及的核心目录与文件
GOM引擎(1108及以上商业版)假人不是单文件控制,靠以下几处协同:
•D:\MirServer\Mir200\Envir\Robot.txt→机器人名称与脚本名绑定(系统级定时机器人)
-D:\MirServer\Mir200\Envir\Robot_def\AutoRunRobot.txt→定时触发器(SEC/MIN/HOUR/DAY/RUNONDAY/RUNONWEEK)
-D:\MirServer\Mir200\Envir\Robot_def\RobotManage.txt→定时触发的实际执行脚本段
•D:\MirServer\Mir200\Envir\DummyNameList.txt→普通假人名字池(每行一个,可带参数如陪练战士010350代表战士35级)
-D:\MirServer\Mir200\Envir\DummyHeroNameList.txt→英雄假人名字池
•D:\MirServer\Mir200\Envir\DummyConfig\假人名称.txt→单个假人属性/装备/AI配置文件
-D:\MirServer\Mir200\Envir\QuestDiary\智能陪练\*.txt→复杂行为脚本(打怪/攻沙/喊话/回城)
•M2控制器→选项→功能设置→假人系统→总开关、最大数量、登录间隔、攻击速度、移动速度
二、M2控制台基础开关与全局参数
进M2Server主窗→选项→功能设置→假人系统(或机器人管理),必填项:
•启用假人系统:勾选
•最大假人数量:单机5–20,公网按配置50–200,超量M2卡顿、地图拥堵
-登录间隔时间:5000–10000毫秒(5–10秒),避免瞬间并发建连
•行走速度:500–600(毫秒/格),贴近真人
•攻击速度:按职业差设,战士800–1000、法师600–800、道士700–900
-自动打怪开关、入会开关、发言开关、攻沙开关:按需勾
脚本侧全局变量(A字符型/G数字型)常用:
A50=登陆地图号A51=自动登陆开关A52=挂机开关A54=入会开关A55=打怪开关A60=新老沙城控制A61–A64=攻沙点编号
G50/G51=登陆XYG52=单次登陆数G55=攻击模式G56=全局总数G57=分散范围
三、名字池与DummyConfig单体重配置
DummyNameList.txt写法:
陪练战士010350
陪练法师021360
陪练道士032340
(字段:名字性别0男1女职业0战1法2道等级预留位)名字禁空格、禁特殊符
DummyConfig\假人名称.txt标准段(ANSI编码):
[Info]
Job=0
Sex=0
Level=35
AutoPickUpItem=1
AttatckMode=0;0全体1和平4编组5行会6红名反击
SayRate=10
ItemAddValueRate=10
UseSkill=半月弯刀刺杀剑术烈火剑法
EquipList=屠龙战神盔甲(男)力量戒指骑士手镯绿色项链战神靴
Map=3
X=330
Y=320
ReviveSec=60;死亡后重生间隔
装备名必须与StdItems.txt的Name完全一致,自定义装先入库再写,否则不显。坐标不可压墙/水池/安全区边界,否则卡死
四、Robot_def定时链路(自动登录/清理/攻沙)
AutoRunRobot.txt示例:
AutoRunNPCSEC30@DummyLoginBatch
AutoRunNPCMIN10@DummyClearDead
AutoRunNPCRUNONDAY20:00@DummyAttackSabuk
RobotManage.txt对应段:
[@DummyLoginBatch]
if
act
DUMMYLOGON33303202;地图3坐标330320登2个假人
SENDMSG0假人批次登录完成
[@DummyClearDead]
if
act
CLEARDUMMYBODY3;清理地图3假人尸体
SENDMSG0假人尸体清理完毕
[@DummyAttackSabuk]
if
EQUALG10
act
MOVG21
AddAttackSabukAll0;全体假人攻沙巴克
SENDMSG0[攻城]假人军团已出发
DUMMYLOGON格式:DUMMYLOGON地图号XY数量;英雄假人用DUMMYHEROLOGON或配合GETDUMMYNAME+SETDUMMYHERONAME+RECALLHERO
五、QManage.txt登录触发与AI加载
Envir\QManage.txt里接[@Login]段:
[@Login]
if
ISDUMMY
act
SETDUMMYCONFIGFILENAME..\DummyConfig\假人名称.txt
LOADDUMMYCONFIGFILE
DUMMYSTART;开始自动打怪,不加这句假人站桩
elsesay
正常玩家登录逻辑…
英雄登录段[@HeroLogin]同理用H.ISDUMMY+H.SETDUMMYCONFIGFILENAME+H.LOADDUMMYCONFIGFILE
六、高级行为:打怪/攻沙/喊话/复活模拟
1.自动打怪路径
QuestDiary\智能陪练\假人打怪.txt:
[@打怪开关]
if
act
DUMMYSTART
MOVA551
SENDMSG0假人打怪已开启
配合变量文件:新手地图.txt/中级地图.txt/高级地图.txt写地图号列表,脚本随机选图MAPMOVE
2.攻沙编排
AutoRunRobot里RUNONDAY20:00@DummyAttackSabuk→RobotManage里AddAttackSabukAll0+传送到A61–A64攻沙点;提前用小号建好“假人行会”,写进假人行会.txt,否则假人无法入会攻城
3.喊话系统
假人说话.txt写黄字/私聊/行会喊话内容;A57=发言开关,SayRate控频率;注意老GOM内核喊话有bug,不稳定就关A57
4.拟真死亡复活
死亡后不立即消角色,按ReviveSec随机5–15分钟清尸→安全区复活→检测身上缺装延迟补齐(AutoRepair/Equip补发)
七、常见不起效与硬坑排查
•假人站桩不动:漏DUMMYSTART或DummyConfig没LOADDUMMYCONFIGFILE,M2里也没勾自动打怪
•名字乱码/不读:DummyNameList.txt、DummyConfig存成UTF-8,改ANSI
-装备红问号:StdItems.txt无该Name,或Looks/Shape补丁缺帧
•攻沙假人不走:没建对应行会、A54=0、AddAttackSabukAll地图号错、沙城OwnGuild冲突
-卡墙堆积:坐标压障碍、PathFailRetry无限重试,坐标改开阔地,单机用MapQuest_def预检可站立
•脚本段重复:[@Login]在QManage和QuestDiary重复定义,M2只认一处,后者覆盖前者
-定时不触发:AutoRunRobot.txt时间单位写错(SEC/MIN/HOUR混淆),或RobotManage里标签名拼错
•登录风暴:登录间隔设0、DUMMYLOGON数量过大,M2CPU飙高直接掉线,单机间隔≥5秒、单次≤3个
-英雄召不出:漏GETDUMMYNAME11+SETDUMMYHERONAME+RECALLHERO三步
八、重载与生效顺序
改完Robot_def/DummyConfig/QManage/DummyNameList后:
M2→控制→重新加载机器人脚本(ReloadRobot)→重新加载QManage→假人系统里点“登录全部假人”或等AutoRunRobot周期触发;硬改多就重启DBServer→LoginSrv→Gate→M2顺序起
假人系统本质=名字池供给+DummyConfig属性+Robot_def定时驱动+QManage登录加载+M2总开关限流,五处对齐、编码ANSI、坐标可站、装备入库,整套模拟链路就跑通。
GOM引擎(1108及以上商业版)假人不是单文件控制,靠以下几处协同:
•D:\MirServer\Mir200\Envir\Robot.txt→机器人名称与脚本名绑定(系统级定时机器人)
-D:\MirServer\Mir200\Envir\Robot_def\AutoRunRobot.txt→定时触发器(SEC/MIN/HOUR/DAY/RUNONDAY/RUNONWEEK)
-D:\MirServer\Mir200\Envir\Robot_def\RobotManage.txt→定时触发的实际执行脚本段
•D:\MirServer\Mir200\Envir\DummyNameList.txt→普通假人名字池(每行一个,可带参数如陪练战士010350代表战士35级)
-D:\MirServer\Mir200\Envir\DummyHeroNameList.txt→英雄假人名字池
•D:\MirServer\Mir200\Envir\DummyConfig\假人名称.txt→单个假人属性/装备/AI配置文件
-D:\MirServer\Mir200\Envir\QuestDiary\智能陪练\*.txt→复杂行为脚本(打怪/攻沙/喊话/回城)
•M2控制器→选项→功能设置→假人系统→总开关、最大数量、登录间隔、攻击速度、移动速度
二、M2控制台基础开关与全局参数
进M2Server主窗→选项→功能设置→假人系统(或机器人管理),必填项:
•启用假人系统:勾选
•最大假人数量:单机5–20,公网按配置50–200,超量M2卡顿、地图拥堵
-登录间隔时间:5000–10000毫秒(5–10秒),避免瞬间并发建连
•行走速度:500–600(毫秒/格),贴近真人
•攻击速度:按职业差设,战士800–1000、法师600–800、道士700–900
-自动打怪开关、入会开关、发言开关、攻沙开关:按需勾
脚本侧全局变量(A字符型/G数字型)常用:
A50=登陆地图号A51=自动登陆开关A52=挂机开关A54=入会开关A55=打怪开关A60=新老沙城控制A61–A64=攻沙点编号
G50/G51=登陆XYG52=单次登陆数G55=攻击模式G56=全局总数G57=分散范围
三、名字池与DummyConfig单体重配置
DummyNameList.txt写法:
陪练战士010350
陪练法师021360
陪练道士032340
(字段:名字性别0男1女职业0战1法2道等级预留位)名字禁空格、禁特殊符
DummyConfig\假人名称.txt标准段(ANSI编码):
[Info]
Job=0
Sex=0
Level=35
AutoPickUpItem=1
AttatckMode=0;0全体1和平4编组5行会6红名反击
SayRate=10
ItemAddValueRate=10
UseSkill=半月弯刀刺杀剑术烈火剑法
EquipList=屠龙战神盔甲(男)力量戒指骑士手镯绿色项链战神靴
Map=3
X=330
Y=320
ReviveSec=60;死亡后重生间隔
装备名必须与StdItems.txt的Name完全一致,自定义装先入库再写,否则不显。坐标不可压墙/水池/安全区边界,否则卡死
四、Robot_def定时链路(自动登录/清理/攻沙)
AutoRunRobot.txt示例:
AutoRunNPCSEC30@DummyLoginBatch
AutoRunNPCMIN10@DummyClearDead
AutoRunNPCRUNONDAY20:00@DummyAttackSabuk
RobotManage.txt对应段:
[@DummyLoginBatch]
if
act
DUMMYLOGON33303202;地图3坐标330320登2个假人
SENDMSG0假人批次登录完成
[@DummyClearDead]
if
act
CLEARDUMMYBODY3;清理地图3假人尸体
SENDMSG0假人尸体清理完毕
[@DummyAttackSabuk]
if
EQUALG10
act
MOVG21
AddAttackSabukAll0;全体假人攻沙巴克
SENDMSG0[攻城]假人军团已出发
DUMMYLOGON格式:DUMMYLOGON地图号XY数量;英雄假人用DUMMYHEROLOGON或配合GETDUMMYNAME+SETDUMMYHERONAME+RECALLHERO
五、QManage.txt登录触发与AI加载
Envir\QManage.txt里接[@Login]段:
[@Login]
if
ISDUMMY
act
SETDUMMYCONFIGFILENAME..\DummyConfig\假人名称.txt
LOADDUMMYCONFIGFILE
DUMMYSTART;开始自动打怪,不加这句假人站桩
elsesay
正常玩家登录逻辑…
英雄登录段[@HeroLogin]同理用H.ISDUMMY+H.SETDUMMYCONFIGFILENAME+H.LOADDUMMYCONFIGFILE
六、高级行为:打怪/攻沙/喊话/复活模拟
1.自动打怪路径
QuestDiary\智能陪练\假人打怪.txt:
[@打怪开关]
if
act
DUMMYSTART
MOVA551
SENDMSG0假人打怪已开启
配合变量文件:新手地图.txt/中级地图.txt/高级地图.txt写地图号列表,脚本随机选图MAPMOVE
2.攻沙编排
AutoRunRobot里RUNONDAY20:00@DummyAttackSabuk→RobotManage里AddAttackSabukAll0+传送到A61–A64攻沙点;提前用小号建好“假人行会”,写进假人行会.txt,否则假人无法入会攻城
3.喊话系统
假人说话.txt写黄字/私聊/行会喊话内容;A57=发言开关,SayRate控频率;注意老GOM内核喊话有bug,不稳定就关A57
4.拟真死亡复活
死亡后不立即消角色,按ReviveSec随机5–15分钟清尸→安全区复活→检测身上缺装延迟补齐(AutoRepair/Equip补发)
七、常见不起效与硬坑排查
•假人站桩不动:漏DUMMYSTART或DummyConfig没LOADDUMMYCONFIGFILE,M2里也没勾自动打怪
•名字乱码/不读:DummyNameList.txt、DummyConfig存成UTF-8,改ANSI
-装备红问号:StdItems.txt无该Name,或Looks/Shape补丁缺帧
•攻沙假人不走:没建对应行会、A54=0、AddAttackSabukAll地图号错、沙城OwnGuild冲突
-卡墙堆积:坐标压障碍、PathFailRetry无限重试,坐标改开阔地,单机用MapQuest_def预检可站立
•脚本段重复:[@Login]在QManage和QuestDiary重复定义,M2只认一处,后者覆盖前者
-定时不触发:AutoRunRobot.txt时间单位写错(SEC/MIN/HOUR混淆),或RobotManage里标签名拼错
•登录风暴:登录间隔设0、DUMMYLOGON数量过大,M2CPU飙高直接掉线,单机间隔≥5秒、单次≤3个
-英雄召不出:漏GETDUMMYNAME11+SETDUMMYHERONAME+RECALLHERO三步
八、重载与生效顺序
改完Robot_def/DummyConfig/QManage/DummyNameList后:
M2→控制→重新加载机器人脚本(ReloadRobot)→重新加载QManage→假人系统里点“登录全部假人”或等AutoRunRobot周期触发;硬改多就重启DBServer→LoginSrv→Gate→M2顺序起
假人系统本质=名字池供给+DummyConfig属性+Robot_def定时驱动+QManage登录加载+M2总开关限流,五处对齐、编码ANSI、坐标可站、装备入库,整套模拟链路就跑通。

