白鹭5端(H5/PC/安卓/iOS互通)冰雪传奇的“假人”不是单纯NPC,而是真实账号角色+Robot脚本驱动的行为模拟,核心依赖DBServer批量建号、Envir名单文件、Robot_def自动运行脚本三块联动。下面按Linux手工端实际目录结构拆步骤。
一、前置确认
•服务端为白鹭引擎5端互通版(data/Debug、LogicServer、DBServer、Gate等进程正常起来)
•假人模块已随端自带(白鹭冰雪系常见“假人陪玩”模块,支持打BOSS/拾装/攻城/残血逃跑等)
-数据库(MySQL/MariaDB)可正常读写,DBServer控制台能操作
二、第一步:准备假人账号与角色名清单
1.新建文本DBServer/CreatCharInfo.txt(若端里已带则直接改)
每行格式:账号角色名职业等级性别,例:
dummy_001系统假人_战01Warrior500
dummy_002系统假人_法01Wizard501
dummy_003系统假人_道01Taoist500
职业代码严格用Warrior/Wizard/Taoist,名字加前缀(如“系统假人_”)避免和真实玩家重名冲突
2.LoginSrv→管理→帐号管理→批量新建,把上面账号批量建进数据库
3.用总控账号(常见dummy_gs)登客户端建一次角色,触发DBServer按CreatCharInfo.txt索引批量生成对应角色
三、第二步:写假人名单
在Mir200/Envir/下新建或编辑假人名单.txt(部分端叫DummyList.txt/RobotHuman.txt),内容:
dummy_001系统假人_战01
dummy_002系统假人_法01
dummy_003系统假人_道01
格式:账号角色名,一行一对,名字不重复
四、第三步:Robot自动上线脚本
1.打开Envir/Robot_def/AutoRunRobot.txt,追加:
#AutoRunNPCSEC1@开始上线假人
2.打开Envir/Robot_def/RobotManage.txt,写触发段:
[@开始上线假人]
#IFTRUE
#ACTReadRandomStr..\假人名单.txtS12
GETVALIDSTR$STR(S12)\S15S16
AutoLogin$STR(S15)$STR(S16)
含义:每1秒从名单随机取一行,拆出账号+角色名,执行AutoLogin把假人踢进游戏
五、第四步:假人行为逻辑(走动/打怪/PK/攻城)
在Envir/MapQuest_def.txt的[@Login]和[@Resume]标签下加账号判定,识别到dummy_前缀账号就挂个人定时器,定时器标签里写具体逻辑:
-移动范围:指定地图编号+坐标区间(如土城/冰域雪原安全区随机走)
•打怪目标:监听BOSS刷新广播自动寻路(BossHunt=1)
•PK逻辑:皇宫/沙巴克地图内攻击红名或敌对行会(PKMode=1)
-说话内容:世界/行会频道随机发预设语录
•残血逃跑、拾装、回收、穿装、召狗等写在对应QuestDiary子目录脚本里
六、第五步:引擎参数与数量控制
白鹭5端若带RobotConfig/DummyConfig类文件,调关键字段:
-RobotEnable/FakePlayerEnable=1
•RobotMaxCount=50~200(按服务器内存来,5端Linux建议单区≤150,避免Gate卡包)
•LoginInterval=10~30秒错峰登录
-RobotMinLevel/RobotMaxLevel=1~120按版本平衡填
•RobotMoveMode=2(固定区域移动)配合RobotMoveMap指定地图
七、启动与排查
1.重启DBServer→LogicServer→Gate,或M2/控制台敲GM命令重新加载Robot脚本
2.看DBServer/M2Server控制台日志:
•“加载假人失败/文件未找到”→路径写错或文件名不对
-假人不进游戏→最大在线人数满了、AutoLogin脚本变量拆错、角色名在DenyChrName里被禁
•假人卡原地→地图寻路数据缺、出生点坐标非法、Robot行为脚本没挂定时器
-假人疯说话/乱闪→QFunction-0.txt里有强制传送/踢人脚本冲突
白鹭5端假人本质是“真账号+脚本驱动”,不是改MonGen刷人形怪;名单、RobotManage、MapQuest三处对齐,DBServer建号成功,假人就能正常陪玩打宝攻城。
一、前置确认
•服务端为白鹭引擎5端互通版(data/Debug、LogicServer、DBServer、Gate等进程正常起来)
•假人模块已随端自带(白鹭冰雪系常见“假人陪玩”模块,支持打BOSS/拾装/攻城/残血逃跑等)
-数据库(MySQL/MariaDB)可正常读写,DBServer控制台能操作
二、第一步:准备假人账号与角色名清单
1.新建文本DBServer/CreatCharInfo.txt(若端里已带则直接改)
每行格式:账号角色名职业等级性别,例:
dummy_001系统假人_战01Warrior500
dummy_002系统假人_法01Wizard501
dummy_003系统假人_道01Taoist500
职业代码严格用Warrior/Wizard/Taoist,名字加前缀(如“系统假人_”)避免和真实玩家重名冲突
2.LoginSrv→管理→帐号管理→批量新建,把上面账号批量建进数据库
3.用总控账号(常见dummy_gs)登客户端建一次角色,触发DBServer按CreatCharInfo.txt索引批量生成对应角色
三、第二步:写假人名单
在Mir200/Envir/下新建或编辑假人名单.txt(部分端叫DummyList.txt/RobotHuman.txt),内容:
dummy_001系统假人_战01
dummy_002系统假人_法01
dummy_003系统假人_道01
格式:账号角色名,一行一对,名字不重复
四、第三步:Robot自动上线脚本
1.打开Envir/Robot_def/AutoRunRobot.txt,追加:
#AutoRunNPCSEC1@开始上线假人
2.打开Envir/Robot_def/RobotManage.txt,写触发段:
[@开始上线假人]
#IFTRUE
#ACTReadRandomStr..\假人名单.txtS12
GETVALIDSTR$STR(S12)\S15S16
AutoLogin$STR(S15)$STR(S16)
含义:每1秒从名单随机取一行,拆出账号+角色名,执行AutoLogin把假人踢进游戏
五、第四步:假人行为逻辑(走动/打怪/PK/攻城)
在Envir/MapQuest_def.txt的[@Login]和[@Resume]标签下加账号判定,识别到dummy_前缀账号就挂个人定时器,定时器标签里写具体逻辑:
-移动范围:指定地图编号+坐标区间(如土城/冰域雪原安全区随机走)
•打怪目标:监听BOSS刷新广播自动寻路(BossHunt=1)
•PK逻辑:皇宫/沙巴克地图内攻击红名或敌对行会(PKMode=1)
-说话内容:世界/行会频道随机发预设语录
•残血逃跑、拾装、回收、穿装、召狗等写在对应QuestDiary子目录脚本里
六、第五步:引擎参数与数量控制
白鹭5端若带RobotConfig/DummyConfig类文件,调关键字段:
-RobotEnable/FakePlayerEnable=1
•RobotMaxCount=50~200(按服务器内存来,5端Linux建议单区≤150,避免Gate卡包)
•LoginInterval=10~30秒错峰登录
-RobotMinLevel/RobotMaxLevel=1~120按版本平衡填
•RobotMoveMode=2(固定区域移动)配合RobotMoveMap指定地图
七、启动与排查
1.重启DBServer→LogicServer→Gate,或M2/控制台敲GM命令重新加载Robot脚本
2.看DBServer/M2Server控制台日志:
•“加载假人失败/文件未找到”→路径写错或文件名不对
-假人不进游戏→最大在线人数满了、AutoLogin脚本变量拆错、角色名在DenyChrName里被禁
•假人卡原地→地图寻路数据缺、出生点坐标非法、Robot行为脚本没挂定时器
-假人疯说话/乱闪→QFunction-0.txt里有强制传送/踢人脚本冲突
白鹭5端假人本质是“真账号+脚本驱动”,不是改MonGen刷人形怪;名单、RobotManage、MapQuest三处对齐,DBServer建号成功,假人就能正常陪玩打宝攻城。

