传奇服务端假人模块开发指南:从脚本配置到AI逻辑实现

来源: 作者: 点击:
一、 核心环境配置与命名

开发假人模块的第一步是搭建基础数据环境。无论使用哪种引擎,都需要在服务端目录下配置假人名称库。在 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 设置触发频率,例如 AutoRun NPC SEC 30 @批量登录,代表每30秒执行一次。接着在 RobotManage.txt 中编写 @批量登录 的具体逻辑,调用 DUMMYLOGON 命令。格式为 DUMMYLOGON 地图号 X Y 数量,例如在比奇省(地图0)坐标330,330处登录1个假人。配合 CHECKDUMMYCOUNT 检测当前在线假人数,防止超载。

四、 行为逻辑与AI编写

这是开发中最关键的部分,即编写假人的“大脑”。在指定的配置文件(如战士陪练.txt)中,需设定攻击模式 ChangeAttatckMode 0(全体模式)。为了实现自动打怪,需开启计时器 #OnTimer,设定循环间隔。在计时器内编写移动和攻击指令,使用 MOV 命令传送到怪物密集点,或使用 SearchNearMon 搜索附近怪物并攻击。高级逻辑可加入血量判断,当HP低于20%时执行 DrinkSunWater 喝药,或使用 FlyRandom 随机传送逃生。

五、 资源回收与防卡死

假人运行一段时间后背包会满,必须开发自动回收逻辑。在QFunction-0.txt的 @PickUpItem 触发段中,加入对假人的判断。当假人捡起物品时,检测物品名称,如果是金币或药水则保留,如果是垃圾装备则直接调用 Take 命令销毁或执行 NPCGive 卖给商店。同时,需在脚本中加入地图跳转逻辑,当假人在某地图停留超过设定时间且无怪可打时,自动传送至下一练级点,形成完整的升级闭环。