当前位置 : 145z游戏站 | 热血传奇 | 技术教程 | 

传奇服务端假人模块开发指南:从脚本配置到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设置触发频率,例如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卖给商店。同时,需在脚本中加入地图跳转逻辑,当假人在某地图停留超过设定时间且无怪可打时,自动传送至下一练级点,形成完整的升级闭环。
[顶部]