一、前期准备:文件定位与基础配置
1. 核心文件路径及作用
怪物攻城脚本核心文件存放于MirServer\Mir200\Envir目录,主要涉及三个关键文件:QFunction-0.txt(全局功能触发脚本)、Market_Def文件夹下的活动NPC脚本、MonGen.txt(怪物刷新配置文件)。其中QFunction-0.txt负责攻城事件触发,NPC脚本控制活动报名与规则说明,MonGen.txt辅助配置怪物刷新基础参数。
操作前备份上述文件,复制原始文件并重命名标注“备份”,避免修改错误导致整体功能瘫痪。使用Notepad++打开文件,开启语法高亮功能,便于识别脚本命令格式,保存时固定选择ANSI编码,杜绝乱码导致命令失效。
2. 引擎与版本适配确认
先确认当前传奇引擎版本(GOM、HERO、BLUE等),不同引擎怪物攻城命令格式存在差异,本文以主流GOM引擎为例,其他引擎可对应调整命令。核对服务器端与客户端版本一致,确保攻城怪物名称、地图编号与客户端资源文件匹配,避免怪物不显示或无法刷新问题。
开启引擎活动权限,打开M2引擎,在“活动设置”界面勾选“允许怪物攻城活动”,保存设置后重启引擎,确保后续脚本配置能正常加载。
二、脚本添加核心步骤(GOM引擎为例)
1. 触发脚本编写(QFunction-0.txt)
打开QFunction-0.txt,在文件末尾添加攻城触发脚本,核心逻辑为设定活动时间、触发条件、怪物刷新规则与集结点。示例脚本如下:
[@MobMissionStart] //攻城活动触发入口
#IF
TIME 19:00 21:00 //设定攻城时间为19:00-21:00
#ACT
SENDMSG 6 全服公告:怪物攻城活动开启!大批怪物正向土城集结! //系统提示
MISSION 3 330 330 //设置怪物集结点(地图3为土城,坐标330,330)
PARAM1 360 //怪物刷新X坐标
PARAM2 340 //怪物刷新Y坐标
PARAM3 20 //单次刷新怪物数量
PARAM4 8 //怪物刷新范围(半径8格)
MOBPLACE 半兽勇士 //刷新怪物名称
MOBPLACE 沃玛卫士
DELAY 30000 //延迟30秒再次刷新
GOTO @MobMissionStart //循环刷新
2. 怪物层级与刷新节奏配置
按攻城阶段划分怪物层级,初期刷新低阶怪物(半兽勇士、僵尸),中期加入中阶怪物(沃玛卫士、黑野猪),后期刷新高阶BOSS(沃玛教主、祖玛教主),提升活动层次感。修改脚本添加阶段逻辑:
#IF
TIME 19:00 19:30 //第一阶段
#ACT
MOBPLACE 半兽勇士 20 //刷新20只半兽勇士
MOBPLACE 僵尸 15
#IF
TIME 19:30 20:30 //第二阶段
#ACT
MOBPLACE 沃玛卫士 18
MOBPLACE 黑野猪 12
#IF
TIME 20:30 21:00 //第三阶段(BOSS阶段)
#ACT
MOBPLACE 沃玛教主 1 //刷新1只沃玛教主
MOBPLACE 祖玛教主 1
SENDMSG 6 警告:终极BOSS已登场,击败可获丰厚奖励!
3. NPC脚本关联(活动报名与说明)
在Market_Def文件夹新建“攻城活动使者.txt”,编写NPC交互脚本,实现活动报名、规则查询功能,示例如下:
[main]
<怪物攻城活动说明/SCOLOR=253>
<活动时间:每日19:00-21:00,击败怪物可获极品装备/SCOLOR=223>
<立即前往土城参与/@GoToTuCheng>
[@GoToTuCheng]
#ACT
MAPMOVE 3 320 320 //传送玩家至土城安全区域
4. 奖励机制添加
在QFunction-0.txt中补充怪物击杀奖励脚本,激励玩家参与,示例如下:
[@MobMissionReward] //奖励触发
#IF
CHECKKILLMONNAME 沃玛教主 //判断是否击杀沃玛教主
#ACT
SENDMSG 6 恭喜你击杀攻城BOSS,获得高级奖励!
GIVE 屠龙 1 //奖励屠龙武器1把
GIVE 元宝 1000
BROADCAST 全服恭喜【<$USERNAME>】击杀攻城BOSS沃玛教主,斩获神器! //全服广播
三、关键命令解析与参数调整
1. 核心命令作用说明
MISSION 地图编号 X坐标 Y坐标:设定怪物集结点,所有刷新的怪物会自动向该坐标移动,地图编号可在Maps目录下的MapInfo.txt中查询。PARAM1-PARAM4分别对应刷新X坐标、Y坐标、数量、范围,参数值需结合地图大小调整,避免怪物刷新过密或过散。
MOBPLACE 怪物名称:指定刷新的怪物,可连续添加多条该命令刷新多种怪物,怪物名称需与MonGen.txt中的名称完全一致。DELAY 时间(毫秒):控制怪物刷新间隔,30000毫秒即30秒,可根据活动强度调整。
SENDMSG 6 内容:向所有玩家发送系统提示,6为提示颜色编号;BROADCAST 内容:全服广播,增强活动氛围。
2. 参数优化调整
刷新数量与范围:土城等大地图可将PARAM3设为20-30,PARAM4设为8-10;小地图则对应缩减至10-15和5-6,避免怪物拥堵或分布过散。刷新间隔:低中阶怪物设为20-30秒,BOSS设为5-10分钟,防止BOSS刷新过于频繁。
集结点设置:选择地图中心区域(如土城安全区附近),确保玩家能快速参与战斗,同时避开地形死角,避免怪物卡在无法攻击的位置。
四、脚本调试与常见问题解决
1. 脚本调试步骤
保存所有脚本文件后,重启M2引擎与服务器,手动触发攻城脚本(可临时修改TIME命令为当前时间),进入游戏观察怪物是否正常刷新、集结点是否生效、奖励是否发放。调试时开启引擎日志,通过日志排查命令错误。
测试过程中逐步调整参数,如怪物刷新数量、间隔、奖励等级,确保活动难度与玩家实力匹配,避免过难或过易导致参与度低。
2. 常见问题及解决办法
怪物无法刷新:检查MISSION命令的地图编号是否正确,怪物名称与MonGen.txt是否一致,引擎活动权限是否开启,重启引擎后重试。怪物不向集结点移动:核对MISSION命令的坐标是否在地图有效范围内,调整坐标至开阔区域。
脚本无响应:检查命令格式是否正确,是否遗漏#IF、#ACT标识,符号是否闭合,保存文件编码是否为ANSI。奖励无法发放:确认CHECKKILLMONNAME命令的怪物名称拼写正确,奖励道具名称与数据库一致。
怪物掉落物品异常:确保BOSS周围有足够空间,避免因空间不足导致极品道具无法掉落,可在脚本中设置BOSS击杀后自动清理周围物品空间。
五、其他引擎适配与注意事项
1. 跨引擎脚本调整
HERO引擎:替换核心命令为MonGen,示例:#ACT MonGen 3 360 340 沃玛卫士 20 8,参数依次为地图编号、X坐标、Y坐标、怪物名称、数量、范围。BLUE引擎:使用MobGenEx命令,格式与GOM引擎相近,可参考引擎说明书调整参数顺序。
2. 日常维护要点
定期备份攻城脚本与配置文件,版本更新后重新核对脚本命令,适配引擎新机制。根据玩家反馈调整活动难度、奖励内容与时间,保持活动吸引力。定期清理引擎日志,排查脚本运行隐患,确保每次攻城活动稳定开展。
避免同时开启多个活动脚本,防止命令冲突导致攻城功能异常,若需叠加活动,需在脚本中添加互斥逻辑。

