怪物攻城脚本的核心由三部分组成:集中点命令、刷新范围参数、怪物生成指令。不同引擎的指令名称和参数格式存在差异,写脚本前先确认服务端使用的引擎类型。
**MISSION与MOBPLACE是攻城脚本的基础命令对。** MISSION的作用是设定怪物集中位置,参数依次为地图编号、坐标X、坐标Y。执行后所有通过MOBPLACE生成的怪物都会自动向这个坐标靠拢,模拟攻城推进的效果。PARAM1到PARAM4分别控制刷新点的X坐标、Y坐标、数量、范围半径。一个完整的GEE引擎攻城脚本段如下:
MISSION 3 330 330
PARAM1 360
PARAM2 340
PARAM3 10
PARAM4 5
MOBPLACE 半兽勇士
这段脚本的意思是:在盟重省(地图编号3)坐标330,330设置集中点,然后在坐标360,340附近半径5格范围内刷新10只半兽勇士,这些怪物生成后会自动向330,330方向移动。PARAM4设为0表示固定坐标点刷新,不向四周扩散。
**GOM引擎的刷新命令与GEE不同。** GOM使用SpawnMonster命令,语法为“SpawnMonster 地图编号 坐标X 坐标Y 怪物名称 数量”,不需要MISSION和PARAM系列配合,但怪物不会自动向某个目标集中,刷新后就在原地活动。如果需要GOM实现集中移动效果,需要配合MonsterPath或SetMonTargetXY命令设定路径点,操作比GEE复杂。命令写错引擎类型会导致脚本完全不执行,这是最常见的失败原因。
**定时触发的配置方式。** 自动攻城需要在Robot_def文件夹下的AutoRunRobot.txt中添加时间指令。格式为“#AutoRunNPCRUNONDAY 19:00 @MonsterSiegeStart”,表示每周六晚七点触发@MonsterSiegeStart标签。标签对应的脚本段可以写在RobotManage.txt或QuestDiary下的自定义txt文件中。脚本开头用SendMsg命令发全服公告,然后执行MISSION和MOBPLACE刷新第一波怪物。GEE引擎支持在MISSION命令中写多个坐标点实现巡逻路径,格式为“MISSION 地图 x1;x2;x3 y1;y2;y3”,怪物会沿这些点依次移动。
**手动触发适合测试和GM操作。** 在UserCmd.txt中添加自定义命令,例如“开始攻城 10”,然后在QFunction-0.txt中写[@UserCmd10]触发段,脚本内判断ISADMIN权限后执行刷新。也可以用NPC方式,玩家点击NPC选择怪物种类和数量,扣除金币或元宝后刷新对应怪物。手动触发的好处是可以随时调整参数测试效果,不用等定时器。
**单机架设需要额外注意安全区问题。** 比奇城和盟重省默认是安全区,怪物刷出来也无法攻击玩家。需要在M2控制台的地图参数设置中取消目标地图的“安全区”勾选,重启M2后生效。如果怪物刷出来站着不动,检查M2是否加载了怪物AI,控制台输入@加载怪物AI或直接重启服务端。
**脚本保存编码必须为ANSI。** 用记事本另存时选择ANSI编码,UTF-8会导致中文字符乱码和脚本加载失败。修改完成后在M2控制台执行“重读怪物刷新”或“重新加载脚本”让配置生效,部分引擎需要重启才能完全应用地图安全区修改。
传奇添加怪物攻城脚本配置与触发实操
来源:
作者:
点击:

