传奇GOM引擎假人脚本系统定制开发详解

来源: 作者: 点击:
GOM引擎假人系统通过EnvirRobotManage.txt统一管理。文件首行为总开关,0表示关闭,1表示启用。每行定义一个假人配置,格式为:地图号 X Y 刷新时间(秒) 假人名称 装备列表。例如:3 330 330 60 假人战士 武器:屠龙,衣服:战神盔甲。

假人装备需在Item目录下存在对应物品名。武器、衣服、项链等字段必须与StdItems.txt中的Name字段完全一致。若使用自定义装备,需先在物品数据库注册,否则假人生成时无装备显示。

刷新逻辑由M2服务端自动处理。假人被击杀后,按设定时间重新在指定坐标生成。坐标不可设在障碍物或安全区,否则导致卡死。推荐使用MapQuest_def地图脚本预检测点位是否可站立。

假人行为模式通过RobotAI.txt控制。文件内按假人名称分段,如[假人战士],支持命令包括:MoveTo(移动到坐标)、AttackPlayer(攻击玩家)、Say(说话)、UseItem(使用背包物品)。例如:AttackPlayer 1 表示主动攻击范围内玩家。

假人背包物品通过RobotBag.txt配置。格式为:假人名称 物品名 数量。例如:假人道士 治疗药水 50。物品用于AI脚本中的UseItem调用,如回血或释放技能道具。

多类型假人需独立命名避免冲突。名称支持中文,但文件编码必须为ANSI。若出现乱码,用记事本另存为ANSI格式重新保存RobotManage.txt。

假人属性继承自HeroDB中同名角色数据。首次生成时若无记录,系统按默认模板创建。可通过GM命令!MakeRobot 假人名称 手动触发生成,用于调试位置和装备。

假人不参与攻城、沙巴克等系统事件。若需特殊行为,需在QFunction-0.txt中添加[@RobotDie]或[@RobotLogin]事件响应,配合变量判断执行额外逻辑。

性能控制关键在刷新数量与频率。单地图假人总数建议不超过20个,刷新间隔不低于30秒。高密度假人会导致M2线程阻塞,引发延迟。

测试阶段开启M2日志监控。查看LogRobotLog.txt可追踪假人生成、死亡、行为执行记录。异常行为如原地转圈,通常因坐标不可达或AI指令循环导致,需调整MoveTo目标点。