HeroM21108引擎是传奇服务端常用版本,假人脚本能有效提升游戏人气,让地图更具活力。本文详解该引擎下假人添加流程,以及自动打怪、自动跑步功能的脚本编写,新手也能按步骤完成配置。
基础认知:HeroM21108假人脚本核心逻辑
HeroM21108引擎的假人脚本,本质是通过配置文件定义假人属性,再用脚本指令控制其行为。假人并非真实玩家,需通过引擎“假人管理”模块加载,核心依赖两个文件:一是假人配置文件(.txt格式),定义假人职业、等级、装备等基础信息;二是行为控制脚本(.txt或.qsc格式),实现自动打怪、跑步等动态操作。
该引擎对假人脚本支持完善,无需额外插件,只需确保脚本语法与引擎指令匹配。假人添加后,会像真实玩家一样在地图活动,自动打怪提升场景热度,自动跑步实现地图巡逻,适合营造热闹的游戏氛围。
第一步:HeroM21108引擎假人添加完整流程
假人添加是基础,需先完成配置文件创建,再通过引擎加载生效,全程分三步,每步都有明确操作要点。
1.创建假人基础配置文件
在服务端“Mir200\Envir\Bot”目录下,新建名为“BotConfig.txt”的文件,这是假人属性的核心配置文件。文件内按固定格式填写假人信息,支持批量添加,示例如下:
#假人配置格式:编号职业(1战士2法师3道士)等级姓名基础攻击基蠢御装备1装备2装备3
1135热血战士0180-12040-60屠龙刀重盔甲金项链
2232魔法使者0160-9030-45骨玉权杖魔法长袍红宝石戒指
3333道尊使者0150-8035-50龙纹剑灵魂战衣天珠项链
4136热血战士0285-12542-62裁决之杖战神盔甲绿色项链
配置要点:职业编号固定,不可随意修改;等级建议设为30-40级,与主流升级地图怪物难度匹配;装备名称需与服务端“Data\Item.txt”中的装备名称完全一致,否则假人无法穿戴。
2.引擎加载假人配置
打开HeroM21108引擎控制器,依次点击“选项”→“假人设置”,进入假人管理界面:
-勾选“启用假人系统”,确保假人功能激活;
-在“假人配置文件路径”中,选择刚才创建的“BotConfig.txt”文件,点击“加载配置”;
-设置“假人上线数量”,首次测试建议设3-5个,避免资源占用过高;
-选择“初始出生地图”,推荐“蜈蚣洞”“石墓阵”等中低级地图,点击“保存设置”并重启引擎。
重启引擎后,登录游戏即可在对应地图看到假人,此时假人仅能站立,需添加脚本实现自动行为。
3.假人登录权限设置
部分情况下假人无法上线,需检查权限配置。在服务端“Mir200\Envir\AdminList.txt”中,添加假人姓名前缀,格式为“Bot_*”,表示允许所有以“Bot_”开头的假人账号登录,示例:“Bot_*=0”(0代表普通玩家权限)。
第二步:自动打怪脚本编写,让假人主动战斗
HeroM21108引擎的假人自动打怪脚本,通过“触发条件+行为指令”实现,需在“Mir200\Envir\BotScript”目录下新建“BotAutoFight.qsc”脚本文件,核心逻辑包括目标筛选、技能释放、状态维持。
1.自动打怪核心脚本代码
#假人自动打怪脚本-HeroM21108专用
#触发条件:假人上线后持续执行
[@BotLogin]
#定义目标怪物ID(可从MonItems.txt中查询)
SetBotTargetMonster=1001100210031004#蜈蚣、黑色恶蛆、跳跳蜂、巨型蠕虫
#定义各职业技能ID(1战士2法师3道士)
SetWarriorSkill=31#烈火剑法、刺杀剑法
SetMageSkill=42#冰咆哮、火墙
SetDaoSkill=56#灵魂火符、施毒术
#启动自动打怪循环
GotoAutoFightLoop
#自动打怪主循环
[@AutoFightLoop]
#1.检测假人职业
IfBotJob==1#战士
GotoWarriorFight
ElseIfBotJob==2#法师
GotoMageFight
ElseIfBotJob==3#道士
GotoDaoFight
EndIf
#循环间隔100毫秒
Delay100
GotoAutoFightLoop
#战士自动打怪逻辑
[@WarriorFight]
#寻找范围内目标怪物
FindMonsterBotTargetMonster5#5格范围内搜索
IfFindResult>0#找到怪物
#移动至攻击范围(1格)
MoveToMonsterXMonsterY1
#释放技能(优先烈火剑法,冷却则用刺杀)
IfSkillCoolDownWarriorSkill[0]==0
UseSkillWarriorSkill[0]MonsterID
Else
UseSkillWarriorSkill[1]MonsterID
EndIf
Delay800
Else
#无怪物时触发自动跑步(后续章节详解)
GotoAutoRun
EndIf
#检测血量,低于30%自动吃药(红药ID=1001)
IfBotHP<=30
UseItem1001
Delay500
EndIf
Return
#法师自动打怪逻辑
[@MageFight]
FindMonsterBotTargetMonster7#法师攻击范围7格
IfFindResult>0
#保持3格安全距离
IfDistanceMonsterXMonsterY<=2
BackStep1#后跳1格
Delay300
EndIf
#怪物数量≥2时用群攻(冰咆哮),否则用单体
MonsterCount=CountMonsterInRange5
IfMonsterCount>=2
UseSkillMageSkill[0]MonsterID
Else
UseSkillMageSkill[1]MonsterID
EndIf
Delay1000
Else
GotoAutoRun
EndIf
#法师蓝量低于25%自动吃蓝药(蓝药ID=1002)
IfBotMP<=25
UseItem1002
Delay500
EndIf
#常驻魔法盾(技能ID=7)
IfSkillCoolDown7==0
UseSkill7
EndIf
Return
#道士自动打怪逻辑
[@DaoFight]
FindMonsterBotTargetMonster6#道士攻击范围6格
IfFindResult>0
#先施毒,再攻击
IfSkillCoolDownDaoSkill[1]==0
UseSkillDaoSkill[1]MonsterID
Delay500
EndIf
UseSkillDaoSkill[0]MonsterID
Delay700
#召唤神兽(技能ID=8),若死亡则重新召唤
IfBotPetLife==0
UseSkill8
Delay2000
Else
PetAttackMonsterID#指挥神兽攻击
EndIf
Else
GotoAutoRun
EndIf
#道士血量低于35%吃药,同时为神兽回血
IfBotHP<=35
UseItem1001
Delay500
EndIf
IfBotPetLife<=40
UseSkill9MonsterID#治愈术(技能ID=9)
EndIf
Return
2.脚本加载与调试
脚本编写完成后,在HeroM2引擎控制器中加载:依次点击“脚本”→“假人脚本”→“加载脚本”,选择“BotAutoFight.qsc”文件,点击“确定”。
调试要点:登录游戏后观察假人是否主动攻击怪物,若出现“技能无法释放”,检查技能ID是否与服务端“Skill.txt”一致;若假人原地不动,确认怪物ID是否在目标列表中,或地图是否有对应怪物刷新。
第三步:自动跑步脚本设置,实现假人地图巡逻
假人自动跑步需设定巡逻范围,避免跑出指定地图,核心是通过坐标控制实现循环移动,可直接整合到自动打怪脚本中,也可单独编写。
1.自动跑步核心脚本代码
#假人自动跑步逻辑(整合至打怪脚本的[@AutoRun]标签)
[@AutoRun]
#定义巡逻范围(以蜈蚣洞一层为例,坐标X1=100Y1=100X2=200Y2=200)
SetPatrolX1=100
SetPatrolY1=100
SetPatrolX2=200
SetPatrolY2=200
#生成范围内随机坐标
RandX=RandomPatrolX1PatrolX2
RandY=RandomPatrolY1PatrolY2
#移动至随机坐标
MoveToRandXRandY1
Delay3000#移动间隔3秒
#移动中检测怪物,发现则返回打怪
FindMonsterBotTargetMonster5
IfFindResult>0
GotoAutoFightLoop
EndIf
#循环巡逻
GotoAutoRun
#地图边界检测(防止假人跑出地图)
[@BotMapBorder]
IfBotX<PatrolX1OrBotX>PatrolX2OrBotY<PatrolY1OrBotY>PatrolY2
#回到巡逻范围中心
MoveTo(PatrolX1+PatrolX2)/2(PatrolY1+PatrolY2)/21
Delay2000
EndIf
Return
2.多地图巡逻设置技巧
若需假人在多个地图间切换巡逻,可添加地图跳转逻辑,示例:
#多地图巡逻逻辑
[@MultiMapPatrol]
#定义地图列表(地图ID=3蜈蚣洞,ID=4石墓阵)
SetBotMapList=34
#随机选择目标地图
RandMap=Random0UBound(BotMapList)
#跳转至目标地图的随机坐标
MapMoveBotMapList[RandMap]Random100200Random100200
Delay5000
#跳转后继续执行打怪跑步逻辑
GotoAutoFightLoop
Return
使用时需在主循环中添加地图切换触发条件,比如“每30分钟切换一次地图”,通过计时器实现:
#地图切换计时器
SetMapChangeTimer=0
IfNowTime-MapChangeTimer>=1800#1800秒=30分钟
GotoMultiMapPatrol
SetMapChangeTimer=NowTime
EndIf
HeroM21108假人脚本优化技巧,提升真实感
基础功能实现后,通过以下技巧可让假人行为更贴近真实玩家,避免机械感,提升游戏氛围。
1.批量添加假人,按职业分配地图
在“BotConfig.txt”中批量添加假人后,通过脚本按职业分配活动地图,让场景更合理:
#按职业分配地图
[@BotMapAssign]
IfBotJob==1#战士→蜈蚣洞(地图ID=3)
MapMove3150150
ElseIfBotJob==2#法师→石墓阵(地图ID=4)
MapMove4120120
ElseIfBotJob==3#道士→祖玛寺庙(地图ID=5)
MapMove5180180
EndIf
Return
2.假人行为AI优化,添加随机动作
在脚本中添加随机休息、原地转身等动作,减少机械感:
#假人随机动作
[@RandomAction]
RandAction=Random110#10%概率触发
IfRandAction==1
Rest2#休息2秒
ElseIfRandAction==2
TurnRandom03#随机转身(0-3为四个方向)
EndIf
Return
将该标签插入自动打怪或跑步循环中,每执行10次循环调用一次,让假人行为更自然。
3.脚本冲突解决:假人与真实玩家的互动控制
为避免假人与真实玩家争抢怪物,可添加“玩家检测”逻辑,当范围内有真实玩家时,假人自动避让:
#玩家检测与避让
[@PlayerAvoid]
FindPlayer3#3格内检测真实玩家
IfFindResult>0
#向远离玩家的方向移动
IfBotX>PlayerX
MoveToBotX+2BotY1
Else
MoveToBotX-2BotY1
EndIf
Delay1000
EndIf
Return
常见问题解答:HeroM21108假人脚本核心问题
1.假人加载后不显示,是什么原因?
先检查“BotConfig.txt”中假人等级是否高于地图最低进入等级,再确认引擎“假人设置”中“最大假人数量”是否大于0,最后查看服务端日志(Mir200\Log),若提示“权限不足”,补充AdminList.txt的假人权限配置。
2.假人自动打怪时频繁吃药,如何调整?
修改脚本中“BotHP”的触发阈值,比如战士从30%调整为25%,同时在“BotConfig.txt”中提高假人防御属性,减少伤害承受,降低吃药频率。
3.能否让假人掉落装备,提升玩家收益?
可以。在“BotConfig.txt”中添加假人掉落配置,格式为“假人编号掉落物品ID掉落概率”,示例“120015”(1号假人有5%概率掉落物品ID=2001的装备),再在引擎“假人设置”中勾选“允许假人掉落”即可。
HeroM21108引擎的假人脚本配置核心,在于精准匹配引擎指令与假人行为逻辑。按本文步骤完成添加、自动打怪及跑步设置后,假人会成为地图的“活力补充”。若需实现更复杂的假人行为,如组队、攻城等,可基于本文脚本框架扩展对应的触发标签与指令。
基础认知:HeroM21108假人脚本核心逻辑
HeroM21108引擎的假人脚本,本质是通过配置文件定义假人属性,再用脚本指令控制其行为。假人并非真实玩家,需通过引擎“假人管理”模块加载,核心依赖两个文件:一是假人配置文件(.txt格式),定义假人职业、等级、装备等基础信息;二是行为控制脚本(.txt或.qsc格式),实现自动打怪、跑步等动态操作。
该引擎对假人脚本支持完善,无需额外插件,只需确保脚本语法与引擎指令匹配。假人添加后,会像真实玩家一样在地图活动,自动打怪提升场景热度,自动跑步实现地图巡逻,适合营造热闹的游戏氛围。
第一步:HeroM21108引擎假人添加完整流程
假人添加是基础,需先完成配置文件创建,再通过引擎加载生效,全程分三步,每步都有明确操作要点。
1.创建假人基础配置文件
在服务端“Mir200\Envir\Bot”目录下,新建名为“BotConfig.txt”的文件,这是假人属性的核心配置文件。文件内按固定格式填写假人信息,支持批量添加,示例如下:
#假人配置格式:编号职业(1战士2法师3道士)等级姓名基础攻击基蠢御装备1装备2装备3
1135热血战士0180-12040-60屠龙刀重盔甲金项链
2232魔法使者0160-9030-45骨玉权杖魔法长袍红宝石戒指
3333道尊使者0150-8035-50龙纹剑灵魂战衣天珠项链
4136热血战士0285-12542-62裁决之杖战神盔甲绿色项链
配置要点:职业编号固定,不可随意修改;等级建议设为30-40级,与主流升级地图怪物难度匹配;装备名称需与服务端“Data\Item.txt”中的装备名称完全一致,否则假人无法穿戴。
2.引擎加载假人配置
打开HeroM21108引擎控制器,依次点击“选项”→“假人设置”,进入假人管理界面:
-勾选“启用假人系统”,确保假人功能激活;
-在“假人配置文件路径”中,选择刚才创建的“BotConfig.txt”文件,点击“加载配置”;
-设置“假人上线数量”,首次测试建议设3-5个,避免资源占用过高;
-选择“初始出生地图”,推荐“蜈蚣洞”“石墓阵”等中低级地图,点击“保存设置”并重启引擎。
重启引擎后,登录游戏即可在对应地图看到假人,此时假人仅能站立,需添加脚本实现自动行为。
3.假人登录权限设置
部分情况下假人无法上线,需检查权限配置。在服务端“Mir200\Envir\AdminList.txt”中,添加假人姓名前缀,格式为“Bot_*”,表示允许所有以“Bot_”开头的假人账号登录,示例:“Bot_*=0”(0代表普通玩家权限)。
第二步:自动打怪脚本编写,让假人主动战斗
HeroM21108引擎的假人自动打怪脚本,通过“触发条件+行为指令”实现,需在“Mir200\Envir\BotScript”目录下新建“BotAutoFight.qsc”脚本文件,核心逻辑包括目标筛选、技能释放、状态维持。
1.自动打怪核心脚本代码
#假人自动打怪脚本-HeroM21108专用
#触发条件:假人上线后持续执行
[@BotLogin]
#定义目标怪物ID(可从MonItems.txt中查询)
SetBotTargetMonster=1001100210031004#蜈蚣、黑色恶蛆、跳跳蜂、巨型蠕虫
#定义各职业技能ID(1战士2法师3道士)
SetWarriorSkill=31#烈火剑法、刺杀剑法
SetMageSkill=42#冰咆哮、火墙
SetDaoSkill=56#灵魂火符、施毒术
#启动自动打怪循环
GotoAutoFightLoop
#自动打怪主循环
[@AutoFightLoop]
#1.检测假人职业
IfBotJob==1#战士
GotoWarriorFight
ElseIfBotJob==2#法师
GotoMageFight
ElseIfBotJob==3#道士
GotoDaoFight
EndIf
#循环间隔100毫秒
Delay100
GotoAutoFightLoop
#战士自动打怪逻辑
[@WarriorFight]
#寻找范围内目标怪物
FindMonsterBotTargetMonster5#5格范围内搜索
IfFindResult>0#找到怪物
#移动至攻击范围(1格)
MoveToMonsterXMonsterY1
#释放技能(优先烈火剑法,冷却则用刺杀)
IfSkillCoolDownWarriorSkill[0]==0
UseSkillWarriorSkill[0]MonsterID
Else
UseSkillWarriorSkill[1]MonsterID
EndIf
Delay800
Else
#无怪物时触发自动跑步(后续章节详解)
GotoAutoRun
EndIf
#检测血量,低于30%自动吃药(红药ID=1001)
IfBotHP<=30
UseItem1001
Delay500
EndIf
Return
#法师自动打怪逻辑
[@MageFight]
FindMonsterBotTargetMonster7#法师攻击范围7格
IfFindResult>0
#保持3格安全距离
IfDistanceMonsterXMonsterY<=2
BackStep1#后跳1格
Delay300
EndIf
#怪物数量≥2时用群攻(冰咆哮),否则用单体
MonsterCount=CountMonsterInRange5
IfMonsterCount>=2
UseSkillMageSkill[0]MonsterID
Else
UseSkillMageSkill[1]MonsterID
EndIf
Delay1000
Else
GotoAutoRun
EndIf
#法师蓝量低于25%自动吃蓝药(蓝药ID=1002)
IfBotMP<=25
UseItem1002
Delay500
EndIf
#常驻魔法盾(技能ID=7)
IfSkillCoolDown7==0
UseSkill7
EndIf
Return
#道士自动打怪逻辑
[@DaoFight]
FindMonsterBotTargetMonster6#道士攻击范围6格
IfFindResult>0
#先施毒,再攻击
IfSkillCoolDownDaoSkill[1]==0
UseSkillDaoSkill[1]MonsterID
Delay500
EndIf
UseSkillDaoSkill[0]MonsterID
Delay700
#召唤神兽(技能ID=8),若死亡则重新召唤
IfBotPetLife==0
UseSkill8
Delay2000
Else
PetAttackMonsterID#指挥神兽攻击
EndIf
Else
GotoAutoRun
EndIf
#道士血量低于35%吃药,同时为神兽回血
IfBotHP<=35
UseItem1001
Delay500
EndIf
IfBotPetLife<=40
UseSkill9MonsterID#治愈术(技能ID=9)
EndIf
Return
2.脚本加载与调试
脚本编写完成后,在HeroM2引擎控制器中加载:依次点击“脚本”→“假人脚本”→“加载脚本”,选择“BotAutoFight.qsc”文件,点击“确定”。
调试要点:登录游戏后观察假人是否主动攻击怪物,若出现“技能无法释放”,检查技能ID是否与服务端“Skill.txt”一致;若假人原地不动,确认怪物ID是否在目标列表中,或地图是否有对应怪物刷新。
第三步:自动跑步脚本设置,实现假人地图巡逻
假人自动跑步需设定巡逻范围,避免跑出指定地图,核心是通过坐标控制实现循环移动,可直接整合到自动打怪脚本中,也可单独编写。
1.自动跑步核心脚本代码
#假人自动跑步逻辑(整合至打怪脚本的[@AutoRun]标签)
[@AutoRun]
#定义巡逻范围(以蜈蚣洞一层为例,坐标X1=100Y1=100X2=200Y2=200)
SetPatrolX1=100
SetPatrolY1=100
SetPatrolX2=200
SetPatrolY2=200
#生成范围内随机坐标
RandX=RandomPatrolX1PatrolX2
RandY=RandomPatrolY1PatrolY2
#移动至随机坐标
MoveToRandXRandY1
Delay3000#移动间隔3秒
#移动中检测怪物,发现则返回打怪
FindMonsterBotTargetMonster5
IfFindResult>0
GotoAutoFightLoop
EndIf
#循环巡逻
GotoAutoRun
#地图边界检测(防止假人跑出地图)
[@BotMapBorder]
IfBotX<PatrolX1OrBotX>PatrolX2OrBotY<PatrolY1OrBotY>PatrolY2
#回到巡逻范围中心
MoveTo(PatrolX1+PatrolX2)/2(PatrolY1+PatrolY2)/21
Delay2000
EndIf
Return
2.多地图巡逻设置技巧
若需假人在多个地图间切换巡逻,可添加地图跳转逻辑,示例:
#多地图巡逻逻辑
[@MultiMapPatrol]
#定义地图列表(地图ID=3蜈蚣洞,ID=4石墓阵)
SetBotMapList=34
#随机选择目标地图
RandMap=Random0UBound(BotMapList)
#跳转至目标地图的随机坐标
MapMoveBotMapList[RandMap]Random100200Random100200
Delay5000
#跳转后继续执行打怪跑步逻辑
GotoAutoFightLoop
Return
使用时需在主循环中添加地图切换触发条件,比如“每30分钟切换一次地图”,通过计时器实现:
#地图切换计时器
SetMapChangeTimer=0
IfNowTime-MapChangeTimer>=1800#1800秒=30分钟
GotoMultiMapPatrol
SetMapChangeTimer=NowTime
EndIf
HeroM21108假人脚本优化技巧,提升真实感
基础功能实现后,通过以下技巧可让假人行为更贴近真实玩家,避免机械感,提升游戏氛围。
1.批量添加假人,按职业分配地图
在“BotConfig.txt”中批量添加假人后,通过脚本按职业分配活动地图,让场景更合理:
#按职业分配地图
[@BotMapAssign]
IfBotJob==1#战士→蜈蚣洞(地图ID=3)
MapMove3150150
ElseIfBotJob==2#法师→石墓阵(地图ID=4)
MapMove4120120
ElseIfBotJob==3#道士→祖玛寺庙(地图ID=5)
MapMove5180180
EndIf
Return
2.假人行为AI优化,添加随机动作
在脚本中添加随机休息、原地转身等动作,减少机械感:
#假人随机动作
[@RandomAction]
RandAction=Random110#10%概率触发
IfRandAction==1
Rest2#休息2秒
ElseIfRandAction==2
TurnRandom03#随机转身(0-3为四个方向)
EndIf
Return
将该标签插入自动打怪或跑步循环中,每执行10次循环调用一次,让假人行为更自然。
3.脚本冲突解决:假人与真实玩家的互动控制
为避免假人与真实玩家争抢怪物,可添加“玩家检测”逻辑,当范围内有真实玩家时,假人自动避让:
#玩家检测与避让
[@PlayerAvoid]
FindPlayer3#3格内检测真实玩家
IfFindResult>0
#向远离玩家的方向移动
IfBotX>PlayerX
MoveToBotX+2BotY1
Else
MoveToBotX-2BotY1
EndIf
Delay1000
EndIf
Return
常见问题解答:HeroM21108假人脚本核心问题
1.假人加载后不显示,是什么原因?
先检查“BotConfig.txt”中假人等级是否高于地图最低进入等级,再确认引擎“假人设置”中“最大假人数量”是否大于0,最后查看服务端日志(Mir200\Log),若提示“权限不足”,补充AdminList.txt的假人权限配置。
2.假人自动打怪时频繁吃药,如何调整?
修改脚本中“BotHP”的触发阈值,比如战士从30%调整为25%,同时在“BotConfig.txt”中提高假人防御属性,减少伤害承受,降低吃药频率。
3.能否让假人掉落装备,提升玩家收益?
可以。在“BotConfig.txt”中添加假人掉落配置,格式为“假人编号掉落物品ID掉落概率”,示例“120015”(1号假人有5%概率掉落物品ID=2001的装备),再在引擎“假人设置”中勾选“允许假人掉落”即可。
HeroM21108引擎的假人脚本配置核心,在于精准匹配引擎指令与假人行为逻辑。按本文步骤完成添加、自动打怪及跑步设置后,假人会成为地图的“活力补充”。若需实现更复杂的假人行为,如组队、攻城等,可基于本文脚本框架扩展对应的触发标签与指令。

