一、核心环境配置与命名
开发假人模块的第一步是搭建基础数据环境。无论使用哪种引擎,都需要在服务端目录下配置假人名称库。在D:\MirServer\Mir200\Envir\路径下找到或新建DummyNameList.txt,每行填写一个名称,建议准备200个以上。如果是GEE或GOM引擎,还需准备英雄名称列表DummyHeroNameList.txt。这些名称是假人登录时的身份标识,确保名称不重复且符合游戏背景设定。
二、登录触发与脚本挂载
假人登录逻辑通常挂载在全局登录脚本中。打开D:\MirServer\Mir200\Envir\MapQuest_Def\QManage.txt,在[@Login]段加入检测代码。使用ISDUMMY命令判断登录者是否为假人,若是则执行配置加载。通过SETDUMMYCONFIGFILENAME指定该假人的AI配置文件路径,例如..\QuestDiary\假人配置\战士陪练.txt,紧接着执行LOADDUMMYCONFIGFILE将参数读入内存。这一步决定了假人是拿刀砍怪还是原地发呆。
三、机器人定时器开发
为了让假人自动上线,需利用引擎自带的机器人系统。进入D:\MirServer\Mir200\Envir\Robot_def\,编辑AutoRunRobot.txt设置触发频率,例如AutoRunNPCSEC30@批量登录,代表每30秒执行一次。接着在RobotManage.txt中编写@批量登录的具体逻辑,调用DUMMYLOGON命令。格式为DUMMYLOGON地图号XY数量,例如在比奇省(地图0)坐标330330处登录1个假人。配合CHECKDUMMYCOUNT检测当前在线假人数,防止超载。
四、行为逻辑与AI编写
这是开发中最关键的部分,即编写假人的“大脑”。在指定的配置文件(如战士陪练.txt)中,需设定攻击模式ChangeAttatckMode0(全体模式)。为了实现自动打怪,需开启计时器#OnTimer,设定循环间隔。在计时器内编写移动和攻击指令,使用MOV命令传送到怪物密集点,或使用SearchNearMon搜索附近怪物并攻击。高级逻辑可加入血量判断,当HP低于20%时执行DrinkSunWater喝药,或使用FlyRandom随机传送逃生。
五、资源回收与防卡死
假人运行一段时间后背包会满,必须开发自动回收逻辑。在QFunction-0.txt的@PickUpItem触发段中,加入对假人的判断。当假人捡起物品时,检测物品名称,如果是金币或药水则保留,如果是垃圾装备则直接调用Take命令销毁或执行NPCGive卖给商店。同时,需在脚本中加入地图跳转逻辑,当假人在某地图停留超过设定时间且无怪可打时,自动传送至下一练级点,形成完整的升级闭环。
开发假人模块的第一步是搭建基础数据环境。无论使用哪种引擎,都需要在服务端目录下配置假人名称库。在D:\MirServer\Mir200\Envir\路径下找到或新建DummyNameList.txt,每行填写一个名称,建议准备200个以上。如果是GEE或GOM引擎,还需准备英雄名称列表DummyHeroNameList.txt。这些名称是假人登录时的身份标识,确保名称不重复且符合游戏背景设定。
二、登录触发与脚本挂载
假人登录逻辑通常挂载在全局登录脚本中。打开D:\MirServer\Mir200\Envir\MapQuest_Def\QManage.txt,在[@Login]段加入检测代码。使用ISDUMMY命令判断登录者是否为假人,若是则执行配置加载。通过SETDUMMYCONFIGFILENAME指定该假人的AI配置文件路径,例如..\QuestDiary\假人配置\战士陪练.txt,紧接着执行LOADDUMMYCONFIGFILE将参数读入内存。这一步决定了假人是拿刀砍怪还是原地发呆。
三、机器人定时器开发
为了让假人自动上线,需利用引擎自带的机器人系统。进入D:\MirServer\Mir200\Envir\Robot_def\,编辑AutoRunRobot.txt设置触发频率,例如AutoRunNPCSEC30@批量登录,代表每30秒执行一次。接着在RobotManage.txt中编写@批量登录的具体逻辑,调用DUMMYLOGON命令。格式为DUMMYLOGON地图号XY数量,例如在比奇省(地图0)坐标330330处登录1个假人。配合CHECKDUMMYCOUNT检测当前在线假人数,防止超载。
四、行为逻辑与AI编写
这是开发中最关键的部分,即编写假人的“大脑”。在指定的配置文件(如战士陪练.txt)中,需设定攻击模式ChangeAttatckMode0(全体模式)。为了实现自动打怪,需开启计时器#OnTimer,设定循环间隔。在计时器内编写移动和攻击指令,使用MOV命令传送到怪物密集点,或使用SearchNearMon搜索附近怪物并攻击。高级逻辑可加入血量判断,当HP低于20%时执行DrinkSunWater喝药,或使用FlyRandom随机传送逃生。
五、资源回收与防卡死
假人运行一段时间后背包会满,必须开发自动回收逻辑。在QFunction-0.txt的@PickUpItem触发段中,加入对假人的判断。当假人捡起物品时,检测物品名称,如果是金币或药水则保留,如果是垃圾装备则直接调用Take命令销毁或执行NPCGive卖给商店。同时,需在脚本中加入地图跳转逻辑,当假人在某地图停留超过设定时间且无怪可打时,自动传送至下一练级点,形成完整的升级闭环。

