GOM引擎的假人系统本质是在服务端用程序模拟出和真实玩家外观、属性、行为一致的角色,用来填充在线人数、带动地图活跃度、陪练打怪、模拟攻沙氛围。整套逻辑不依赖客户端,全部在服务端MirServer目录内完成,核心涉及M2功能开关、DummyNameList.txt名称池、DummyConfig独立配置、QManage.txt登录触发、Robot_def定时调度、QuestDiary行为脚本六个层面。下面按真实架设顺序拆开讲。
一、部署前环境核对
GOM引擎需使用1108或更新版本,DBServer、LoginGate、M2Server、GameGate正常启动,HeroDB可写,Mir200\Envir结构完整。假人不是外挂进程,是M2内部对象,引擎版本过低会导致DUMMYLOGON、ISDUMMY、SETDUMMYCONFIGFILENAME等命令无效。确认M2→选项→功能设置→假人系统模块存在,再继续。
二、假人名称池与英雄名称池
路径:Mir200\Envir\DummyNameList.txt(人物假人)
路径:Mir200\Envir\DummyHeroNameList.txt(英雄假人,可选)
每行一个名字,不支持空格与特殊符号,可带参数写法:
陪练战士011350
(1=战士,35=等级,0=性别,具体解析依赖版本脚本)
名字不要和玩家可注册名冲突,正式服把这批名同步写进DBServer\DenyChrName.txt,防止真人抢名。英雄假人需配合GETDUMMYNAME、SETDUMMYHERONAME、RECALLHERO使用。
三、独立配置文件DummyConfig
路径:Mir200\Envir\DummyConfig\假人名称.txt
不写则引擎按默认模板生成,写了就完全接管属性。标准字段示例:
[Info]
Job=2
Gender=1
Hair=1
Level=60
AutoPickUpItem=1
AttatckMode=0
SayRate=10
ItemAddValueRate=10
ItemNewAddValueRate=10
DropUseItem=0
DropUseItemRate=15
DropBagItem=1
NeedMagicItem=1
UseSkill=灵魂火符施毒术召唤神兽治愈术幽灵盾神圣战甲术
BagItems=护身符黄色药粉(大量)灰色药粉(大量)
[灵魂火符]
Level=3
NewLevel=0
[UseItems]
UseItems0=天师长袍
UseItems1=逍遥扇
UseItems3=天尊项链
UseItems4=天尊头盔
UseItems5=天尊手镯
UseItems6=天尊手镯
UseItems7=天尊戒指
UseItems8=天尊戒指
UseItems9=护身符
[Say]
0=这把装备换吗
1=刚爆了个戒指
2=谁卖强效金创药
装备名必须与StdItems.txt的Name字段完全一致,自定义物品先入库再引用,否则穿不上。文件编码用ANSI,UTF-8会乱码。
四、M2开关与手动登录验证
M2→选项→功能设置→假人系统:
启用假人系统:勾选
最大假人数量:单地图建议≤20,全服按机器配置5~50
登录间隔:5~10秒,避免瞬时并发卡顿
行走速度:500~600
攻击速度:战士700/法师1000/道士1100
自动修理:若脚本已写延迟修理,此处关掉,避免持久永远满值露馅
点“登录穴”“全部登录”做首次验证,能在比奇安全区看到角色落地即说明底层通了。
五、QManage.txt登录触发(核心绑定)
路径:Mir200\Envir\MapQuest_Def\QManage.txt
在[@Login]段写:
IF
ISDUMMY
ACT
SETDUMMYCONFIGFILENAME..\Envir\DummyConfig\战士陪练.txt
LOADDUMMYCONFIGFILE
ChangeAttatckMode0
DUMMYSTART
ISDUMMY判定为假人登录才执行,真人走正常[@Login]逻辑。LOADDUMMYCONFIGFILE必须调用,否则配置不生效;DUMMYSTART让假人进入自动寻路打怪,不写就站桩。英雄登录走[@HeroLogin],用H.ISDUMMY、H.SETDUMMYCONFIGFILENAME、H.LOADDUMMYCONFIGFILE。
六、Robot_def定时保活(开服自动补人)
路径:Mir200\Envir\Robot_def\AutoRunRobot.txt
SETONTIMER60AutoDummy
路径:Mir200\Envir\Robot_def\RobotManage.txt
[@AutoDummy]
IF
CHECKDUMMYCOUNT<10
ACT
DUMMYLOGON03303305
含义:每60秒检测,全服假人少于10个就在比奇(0330330)补5个。DUMMYLOGON格式:
DUMMYLOGON地图号XY数量
地图0=比奇省,3=盟重省,自定义地图填实际MapInfo编号。坐标必须可站立,放障碍或墙里会卡死。
七、QuestDiary行为脚本进阶
目录:Mir200\Envir\QuestDiary\假人系统\假人行为.txt
基础指令:
DUMMYSTART开始挂机打怪
DUMMYSTOP停止挂机
DUMMYAUTOTARGET1锁定单体目标
AutoUseMagic技能ID间隔秒无目标时练功
SHOPSTALL/CREATEMYSHOP假人摆摊
MOV随机游走范围
分职业差异写法:
战士:近身追击、半月弯刀、刺杀、切全体模式
法师:火墙+冰咆哮+魔法盾、保持8~10格距离、低血撤回安全区
道士:施毒+符+召唤神兽/月灵、自动补毒粉
死亡复活模拟:
在QFunction-0.txt写[@DummyDie]或[@RobotDie],记录死亡坐标,随机5~15分钟清尸,安全区复活,爆出的装备不立即补齐,延迟10~30分钟自检修复,模仿真人损失感。
八、行会、攻沙、喊话整合
行会:自己小号先建行会,把假人用GM命令或脚本加入,单会控制在15~20人,禁止入会列表写过滤;有行会后ChangeAttatckMode5切行会模式。
攻沙:M2假人系统填沙巴克地图ID与皇宫坐标,开“同步攻城”开关,按服务器攻城时间表自动进场,可限制等级与是否需行会。
喊话:Mir200\Envir\QuestDiary\假人发言.txt分[私聊][黄字][世界]三段维护语料池,SpeakTimer设600秒随机抽一条,避免所有假人同秒刷屏。
九、掉归属与性能边界
假人击杀怪物掉落归属按M2默认归属规则走,一般归最后一次伤害来源;若需归“真人队长”或“所在行会”,在[@KillMonster]里用ISDUMMY判断改写归属变量。
单地图假人≤20,刷新间隔≥30秒,Robot定时器别写1秒级,AutoRunRobot最小建议5~10秒一轮,否则M2CPU随人数平方上涨。
十、常用排错清单
假人不显示:DummyNameList.txt空、M2开关没勾、引擎版本不支持
站桩不动:漏写DUMMYSTART或LOADDUMMYCONFIGFILE
装备空白:StdItems名称不一致、编码非ANSI、UseItems槽位写错
卡墙不复活:DUMMYLOGON坐标是障碍、PathFailRetry未设上限
乱码:RobotManage/DummyConfig存成UTF-8,改回ANSI
变量冲突:假人系统自带A50~A66、G50~G73、I90~I96,版本原有赌博/泡点脚本若用同号全局变量会互踩,逐一改掉
至此从文件部署、配置绑定、登录触发、定时保活到职业分化、行会攻沙、喊话死亡模拟全部跑通,直接按对应路径改文件重启M2即可生效。
一、部署前环境核对
GOM引擎需使用1108或更新版本,DBServer、LoginGate、M2Server、GameGate正常启动,HeroDB可写,Mir200\Envir结构完整。假人不是外挂进程,是M2内部对象,引擎版本过低会导致DUMMYLOGON、ISDUMMY、SETDUMMYCONFIGFILENAME等命令无效。确认M2→选项→功能设置→假人系统模块存在,再继续。
二、假人名称池与英雄名称池
路径:Mir200\Envir\DummyNameList.txt(人物假人)
路径:Mir200\Envir\DummyHeroNameList.txt(英雄假人,可选)
每行一个名字,不支持空格与特殊符号,可带参数写法:
陪练战士011350
(1=战士,35=等级,0=性别,具体解析依赖版本脚本)
名字不要和玩家可注册名冲突,正式服把这批名同步写进DBServer\DenyChrName.txt,防止真人抢名。英雄假人需配合GETDUMMYNAME、SETDUMMYHERONAME、RECALLHERO使用。
三、独立配置文件DummyConfig
路径:Mir200\Envir\DummyConfig\假人名称.txt
不写则引擎按默认模板生成,写了就完全接管属性。标准字段示例:
[Info]
Job=2
Gender=1
Hair=1
Level=60
AutoPickUpItem=1
AttatckMode=0
SayRate=10
ItemAddValueRate=10
ItemNewAddValueRate=10
DropUseItem=0
DropUseItemRate=15
DropBagItem=1
NeedMagicItem=1
UseSkill=灵魂火符施毒术召唤神兽治愈术幽灵盾神圣战甲术
BagItems=护身符黄色药粉(大量)灰色药粉(大量)
[灵魂火符]
Level=3
NewLevel=0
[UseItems]
UseItems0=天师长袍
UseItems1=逍遥扇
UseItems3=天尊项链
UseItems4=天尊头盔
UseItems5=天尊手镯
UseItems6=天尊手镯
UseItems7=天尊戒指
UseItems8=天尊戒指
UseItems9=护身符
[Say]
0=这把装备换吗
1=刚爆了个戒指
2=谁卖强效金创药
装备名必须与StdItems.txt的Name字段完全一致,自定义物品先入库再引用,否则穿不上。文件编码用ANSI,UTF-8会乱码。
四、M2开关与手动登录验证
M2→选项→功能设置→假人系统:
启用假人系统:勾选
最大假人数量:单地图建议≤20,全服按机器配置5~50
登录间隔:5~10秒,避免瞬时并发卡顿
行走速度:500~600
攻击速度:战士700/法师1000/道士1100
自动修理:若脚本已写延迟修理,此处关掉,避免持久永远满值露馅
点“登录穴”“全部登录”做首次验证,能在比奇安全区看到角色落地即说明底层通了。
五、QManage.txt登录触发(核心绑定)
路径:Mir200\Envir\MapQuest_Def\QManage.txt
在[@Login]段写:
IF
ISDUMMY
ACT
SETDUMMYCONFIGFILENAME..\Envir\DummyConfig\战士陪练.txt
LOADDUMMYCONFIGFILE
ChangeAttatckMode0
DUMMYSTART
ISDUMMY判定为假人登录才执行,真人走正常[@Login]逻辑。LOADDUMMYCONFIGFILE必须调用,否则配置不生效;DUMMYSTART让假人进入自动寻路打怪,不写就站桩。英雄登录走[@HeroLogin],用H.ISDUMMY、H.SETDUMMYCONFIGFILENAME、H.LOADDUMMYCONFIGFILE。
六、Robot_def定时保活(开服自动补人)
路径:Mir200\Envir\Robot_def\AutoRunRobot.txt
SETONTIMER60AutoDummy
路径:Mir200\Envir\Robot_def\RobotManage.txt
[@AutoDummy]
IF
CHECKDUMMYCOUNT<10
ACT
DUMMYLOGON03303305
含义:每60秒检测,全服假人少于10个就在比奇(0330330)补5个。DUMMYLOGON格式:
DUMMYLOGON地图号XY数量
地图0=比奇省,3=盟重省,自定义地图填实际MapInfo编号。坐标必须可站立,放障碍或墙里会卡死。
七、QuestDiary行为脚本进阶
目录:Mir200\Envir\QuestDiary\假人系统\假人行为.txt
基础指令:
DUMMYSTART开始挂机打怪
DUMMYSTOP停止挂机
DUMMYAUTOTARGET1锁定单体目标
AutoUseMagic技能ID间隔秒无目标时练功
SHOPSTALL/CREATEMYSHOP假人摆摊
MOV随机游走范围
分职业差异写法:
战士:近身追击、半月弯刀、刺杀、切全体模式
法师:火墙+冰咆哮+魔法盾、保持8~10格距离、低血撤回安全区
道士:施毒+符+召唤神兽/月灵、自动补毒粉
死亡复活模拟:
在QFunction-0.txt写[@DummyDie]或[@RobotDie],记录死亡坐标,随机5~15分钟清尸,安全区复活,爆出的装备不立即补齐,延迟10~30分钟自检修复,模仿真人损失感。
八、行会、攻沙、喊话整合
行会:自己小号先建行会,把假人用GM命令或脚本加入,单会控制在15~20人,禁止入会列表写过滤;有行会后ChangeAttatckMode5切行会模式。
攻沙:M2假人系统填沙巴克地图ID与皇宫坐标,开“同步攻城”开关,按服务器攻城时间表自动进场,可限制等级与是否需行会。
喊话:Mir200\Envir\QuestDiary\假人发言.txt分[私聊][黄字][世界]三段维护语料池,SpeakTimer设600秒随机抽一条,避免所有假人同秒刷屏。
九、掉归属与性能边界
假人击杀怪物掉落归属按M2默认归属规则走,一般归最后一次伤害来源;若需归“真人队长”或“所在行会”,在[@KillMonster]里用ISDUMMY判断改写归属变量。
单地图假人≤20,刷新间隔≥30秒,Robot定时器别写1秒级,AutoRunRobot最小建议5~10秒一轮,否则M2CPU随人数平方上涨。
十、常用排错清单
假人不显示:DummyNameList.txt空、M2开关没勾、引擎版本不支持
站桩不动:漏写DUMMYSTART或LOADDUMMYCONFIGFILE
装备空白:StdItems名称不一致、编码非ANSI、UseItems槽位写错
卡墙不复活:DUMMYLOGON坐标是障碍、PathFailRetry未设上限
乱码:RobotManage/DummyConfig存成UTF-8,改回ANSI
变量冲突:假人系统自带A50~A66、G50~G73、I90~I96,版本原有赌博/泡点脚本若用同号全局变量会互踩,逐一改掉
至此从文件部署、配置绑定、登录触发、定时保活到职业分化、行会攻沙、喊话死亡模拟全部跑通,直接按对应路径改文件重启M2即可生效。

