GOM引擎自带假人(Robot/Dummy)系统,通过服务端脚本调用引擎命令实现模拟玩家自动登录、打怪、捡物、喊话、攻沙等行为。定制开发围绕配置文件、名称列表、触发脚本、Robot定时四部分展开,所有文件位于服务端 MirServer\Mir200\Envir 目录下。
核心文件与目录结构
• DummyNameList.txt:假人角色名列表,每行一个,引擎启动或DUMMYLOGON时按顺序读取。
• DummyHeroNameList.txt:假人英雄名列表,需要假人召英雄时从此读取。
- DummyConfig\假人名称.txt:单个假人详细配置(职业、等级、技能、穿戴装备、背包物品、攻击模式、是否自动捡物等)。
• QuestDiary\自定义目录\*.txt:假人行为脚本(打怪AI、喊话、摆摊、移动路线),通过RUNSCRIPT挂到假人身上。
- Robot_def\AutoRunRobot.txt + RobotManage.txt:定时触发假人登录、全局控制假人数量或执行周期性逻辑。
• Market_Def\QManage.txt:服务端启动触发[@Startup]或人物登录触发中用ISDUMMY判断并加载假人配置、执行DUMMYLOGON。
假人配置文件格式(DummyConfig\战士陪练.txt 示例)
[Info]
Job=0 ;0战士 1法师 2道士
Gender=0 ;0男 1女
Hair=1
Level=40
AttatckMode=0 ;0全体 1和平 4编组 5行会 6红名
AutoPickUpItem=1 ;1自动捡 0不捡
DropUseItem=0
DropBagItem=0
SayRate=10
[UseItems]
UseItems0=天魔神甲(男) ;衣服
UseItems1=裁决之杖 ;武器
UseItems3=幽冥项链
UseItems5=幽冥手镯
UseItems6=幽冥手镯
UseItems7=力量戒指
UseItems8=力量戒指
[UseMagic]
;技能名=等级(对应Magic.DB中魔法ID)
HalfMoonSword=3
FireHit=3
道士假人加 UseMagic=灵魂火符,3 施毒术,3 召唤神兽,3 治愈术,3;法师加 FireBall=3 IceStorm=3;如需英雄在脚本里GETDUMMYNAME取英雄名再SETDUMMYHERONAME和RECALLHERO。
假人登录与启动脚本(QManage.txt 或单独启动NPC)
[@Startup] ;M2→选项→参数设置→游戏启动运行脚本 可勾选运行QManage[@Startup]
#IF
#ACT
DUMMYLOGON 3 330 330 5
;格式 DUMMYLOGON 地图号 X Y 数量(按DummyNameList.txt顺序登入)
;以下在假人角色触发登录时设置(QFunction-0.txt 或 QManage.txt 中)
[@DummyLogin]
#IF
ISDUMMY
#ACT
SETDUMMYCONFIGFILENAME ..\DummyConfig\战士陪练.txt
LOADDUMMYCONFIGFILE
ChangeAttatckMode 0
DUMMYSTART ;开始自动打怪,不加这句假人站着不动
;RECALLHERO ;如需英雄且已SETDUMMYHERONAME则加这句
DUMMYSTOP可停止打怪,DUMMYAUTOTARGET 1开启自动锁定最近怪物。
定制假人AI行为脚本(QuestDiary\假人AI\打怪捡物.txt)
基础打怪捡物由DUMMYSTART自动处理,若要加随机移动、喊话、条件喝药、指定捡物品品质可用RUNSCRIPT挂自定义脚本:
[@main]
#IF
ISDUMMY
#ACT
SetOnTimer 1 15000 ;每15秒触发[@Timer1]
[@Timer1]
#IF
RANDOM 20 ;20%概率在世界频道说话
#ACT
SendMsg 0 我是陪练假人,欢迎切磋!
#IF
RANDOM 30 ;30%概率随机小范围走动
#ACT
RANDOMMOVE 5
在假人登录后加 RUNSCRIPT ..\QuestDiary\假人AI\打怪捡物.txt 使其生效。捡物过滤在配置文件AutoPickUpItem=1开启后,部分版本可在脚本用FakePlayerPickItem控制品质,具体视引擎Build支持情况。
Robot定时批量控制(AutoRunRobot.txt)
;每秒检测一次,每300秒执行一次@CheckDummy
#AutoRun NPC SEC 300 @CheckDummy
RobotManage.txt中写:
[@CheckDummy]
#IF
CHECKDUMMYCOUNT < 10
#ACT
DUMMYLOGON 3 330 330 3 ;不足10个假人再补登3个
可用于开服自动补假人、攻沙时段集中登录、非高峰时段踢出部分假人节省资源。
假人攻沙与行会配置
• 建一个行会(如"陪练行会"),在脚本中用AddGuildMember把假人加入该行会。
- 攻沙时段用脚本传送假人至沙巴克指定坐标:MapMove 0159 X Y,设攻击模式5(行会模式),锁定守方行会目标。
• 死亡自动复活可在QFunction-0.txt中用[@DummyDie]触发DelayCall后MapMove回原位再次DUMMYSTART。
防穿帮与调试注意
• 假人名称用中文常见ID组合(风云、傲天、狂龙等),数量建议单服不超30~50个避免CPU占用过高。
• 假人穿戴装备必须与当前版本开放等级匹配,穿未开放装备会被玩家识破。
- M2→选项→参数设置→机器人参数中可设假人攻击间隔抖动(AttackJitter ±300ms)让行为更自然。
• 假人名单名须同时加入DBServer\DenyChrName.txt防止玩家注册同名角色覆盖数据。
- 修改脚本或配置后重启M2或在M2控制台"重新加载脚本/假人配置"使之生效,查看M2运行日志确认DUMMYLOGON是否成功及报错原因。
一句话流程:在DummyNameList.txt写好名→DummyConfig配职业等级装备→QManage用ISDUMMY判断加载配置并执行DUMMYLOGON+ DUMMYSTART→Robot_def控制批量启停→可选RUNSCRIPT挂自定义AI行为脚本。
传奇GOM引擎假人脚本系统定制开发与配置编写教程 含登录打怪捡物攻沙AI脚本实例
来源:
作者:
点击:

