一、核心前提怪物攻城核心文件定位
单机传奇怪物攻城通过服务端脚本配置实现,核心依赖QuestDiary文件夹下的触发脚本与Envir文件夹下的怪物刷新配置文件。需先定位服务端对应路径:服务端根目录\Mir200\Envir\QuestDiary(脚本文件)、服务端根目录\Mir200\Envir\MonGen.txt(怪物刷新配置),所有设置均围绕这两个路径的文件展开,确保文件无损坏、格式正确。
优先确认引擎支持性,主流GOM、GEE、Hero引擎均自带怪物攻城脚本模板,部分整合版服务端已预置基础脚本,可直接修改参数启用;无模板则需手动创建脚本文件,确保脚本语法与引擎适配,避免触发失败。
二、基础设置怪物攻城脚本创建与配置
(一)创建攻城触发脚本
打开QuestDiary文件夹,新建文本文档,重命名为“攻城脚本.txt”(名称可自定义,后缀为.txt),双击打开后按引擎语法编写核心逻辑。基础脚本需包含触发条件、攻城时长、怪物刷新规则、结束判定四项核心内容,以Hero引擎为例,基础格式如下:
#IF1#ACTStartSiege1120(开启攻城,1为攻城地图ID,120为持续分钟数)MonGen1310(地图ID怪物ID刷新数量)MonGen155(重复添加不同怪物,按需求补充)#ELSEACTStopSiege1(关闭对应地图攻城)
脚本中地图ID需对应目标攻城地图,比奇城默认ID为1,土城为3,可通过服务端MapInfo.txt文件查询具体ID。怪物ID需从StdItems.DB数据库文件中提取,常见攻城怪物如半兽统领(ID10)、沃玛教主(ID20)、祖玛教主(ID30),按需求搭配普通怪物与BOSS比例。
(二)脚本触发方式设置
手动触发:将编写好的脚本文件放入QuestDiary文件夹,登录GM账号,在游戏聊天框输入命令“@执行脚本攻城脚本.txt”,即可立即开启怪物攻城,适合临时测试。需确保GM账号权限足够,1级权限可执行所有脚本命令。
定时触发:编辑QuestDiary文件夹下的QFunction-0.txt文件,添加定时触发逻辑,格式为“#IFHour=19Minute=0#ACTStartSiege1120”,设置每日固定时间开启攻城,时长120分钟。保存后在服务端控制台输入“@重载脚本”,无需重启服务端即可生效。
三、进阶配置怪物刷新与奖励设置
(一)怪物刷新细节调整
打开MonGen.txt文件,补充攻城地图怪物刷新规则,格式为“地图ID怪物ID刷新坐标X刷新坐标Y刷新间隔(秒)刷新范围”,示例:“110300300605”,表示在比奇城(ID1)坐标300300位置,每60秒刷新1只半兽统领(ID10),刷新范围5格内。
攻城怪物优先级设置,在脚本中添加“SetMonPriority怪物ID1”命令,将BOSS设为高优先级,优先刷新在皇宫、杂货铺等核心位置,模拟经典攻城场景。普通怪物均匀刷新在城市外围,形成渐进式攻城节奏。
(二)攻城奖励配置
击杀奖励设置:在脚本中添加奖励逻辑,格式为“#IFKillMon怪物ID#ACTGive物品ID数量”,示例:“#IFKillMon30#ACTGive1001”,表示击杀祖玛教主(ID30)后掉落屠龙(ID100)1件。可按怪物等级设置奖励梯度,BOSS掉落极品装备,普通怪物掉落金币、材料。
攻城胜利奖励:添加攻城结束判定脚本,格式为“#IFSiegeEnd11(地图ID胜利方,1为玩家)#ACTGiveAll物品ID数量”,表示玩家成功防守攻城后,全服发放奖励。单机场景下可简化为“Give物品ID数量”,仅给当前登录玩家发放奖励。
四、客户端适配攻城场景显示设置
攻城提示配置:打开客户端\Data文件夹下的Message.txt文件,添加攻城提示文本,如“【攻城通知】怪物攻城已开启,守住比奇城可获丰厚奖励!”,设置弹窗显示或聊天框滚动提示,提升沉浸感。
地图安全区调整:默认比奇城为安全区,需关闭安全区保护才能触发战斗。打开服务端\Mir200\Envir\MapInfo.txt文件,找到对应地图ID,将“SafeZone=1”改为“SafeZone=0”,保存后重启服务端,攻城地图将取消安全区限制。
五、测试与常见问题排查
脚本测试:开启攻城后,登录游戏前往目标地图,检查怪物是否正常刷新、奖励是否掉落、攻城时长是否准确。若怪物不刷新,核对脚本中地图ID、怪物ID是否正确,或脚本语法是否有误,可在服务端控制台查看报错日志。
攻城无法结束:脚本中未设置结束条件,需补充“#IFMinute=0#ACTStopSiege1”命令,或手动输入“@停止攻城1”命令关闭。若怪物刷新过多导致卡顿,减少单波刷新数量,延长刷新间隔,调整内存分配参数。
奖励不生效:检查奖励物品ID是否正确,脚本中Give命令格式是否规范,确保物品已在服务端数据库中存在,无对应物品则奖励发放失败。
六、优化调整提升攻城体验
分波次攻城设置:在脚本中添加多波次逻辑,每30分钟刷新一波更强怪物,格式为“#IFSiegeTime130(地图ID已持续分钟数)#ACTMonGen1403”,刷新更高级BOSS,增加挑战性。
攻城状态提示:添加实时状态脚本,显示剩余时间、已刷新怪物数量,格式为“#ACTSendMsg0攻城剩余时间:[SiegeLeftTime1]分钟”,让玩家实时掌握攻城进度。定期备份攻城脚本与配置文件,避免误操作导致设置丢失。
单机传奇怪物攻城通过服务端脚本配置实现,核心依赖QuestDiary文件夹下的触发脚本与Envir文件夹下的怪物刷新配置文件。需先定位服务端对应路径:服务端根目录\Mir200\Envir\QuestDiary(脚本文件)、服务端根目录\Mir200\Envir\MonGen.txt(怪物刷新配置),所有设置均围绕这两个路径的文件展开,确保文件无损坏、格式正确。
优先确认引擎支持性,主流GOM、GEE、Hero引擎均自带怪物攻城脚本模板,部分整合版服务端已预置基础脚本,可直接修改参数启用;无模板则需手动创建脚本文件,确保脚本语法与引擎适配,避免触发失败。
二、基础设置怪物攻城脚本创建与配置
(一)创建攻城触发脚本
打开QuestDiary文件夹,新建文本文档,重命名为“攻城脚本.txt”(名称可自定义,后缀为.txt),双击打开后按引擎语法编写核心逻辑。基础脚本需包含触发条件、攻城时长、怪物刷新规则、结束判定四项核心内容,以Hero引擎为例,基础格式如下:
#IF1#ACTStartSiege1120(开启攻城,1为攻城地图ID,120为持续分钟数)MonGen1310(地图ID怪物ID刷新数量)MonGen155(重复添加不同怪物,按需求补充)#ELSEACTStopSiege1(关闭对应地图攻城)
脚本中地图ID需对应目标攻城地图,比奇城默认ID为1,土城为3,可通过服务端MapInfo.txt文件查询具体ID。怪物ID需从StdItems.DB数据库文件中提取,常见攻城怪物如半兽统领(ID10)、沃玛教主(ID20)、祖玛教主(ID30),按需求搭配普通怪物与BOSS比例。
(二)脚本触发方式设置
手动触发:将编写好的脚本文件放入QuestDiary文件夹,登录GM账号,在游戏聊天框输入命令“@执行脚本攻城脚本.txt”,即可立即开启怪物攻城,适合临时测试。需确保GM账号权限足够,1级权限可执行所有脚本命令。
定时触发:编辑QuestDiary文件夹下的QFunction-0.txt文件,添加定时触发逻辑,格式为“#IFHour=19Minute=0#ACTStartSiege1120”,设置每日固定时间开启攻城,时长120分钟。保存后在服务端控制台输入“@重载脚本”,无需重启服务端即可生效。
三、进阶配置怪物刷新与奖励设置
(一)怪物刷新细节调整
打开MonGen.txt文件,补充攻城地图怪物刷新规则,格式为“地图ID怪物ID刷新坐标X刷新坐标Y刷新间隔(秒)刷新范围”,示例:“110300300605”,表示在比奇城(ID1)坐标300300位置,每60秒刷新1只半兽统领(ID10),刷新范围5格内。
攻城怪物优先级设置,在脚本中添加“SetMonPriority怪物ID1”命令,将BOSS设为高优先级,优先刷新在皇宫、杂货铺等核心位置,模拟经典攻城场景。普通怪物均匀刷新在城市外围,形成渐进式攻城节奏。
(二)攻城奖励配置
击杀奖励设置:在脚本中添加奖励逻辑,格式为“#IFKillMon怪物ID#ACTGive物品ID数量”,示例:“#IFKillMon30#ACTGive1001”,表示击杀祖玛教主(ID30)后掉落屠龙(ID100)1件。可按怪物等级设置奖励梯度,BOSS掉落极品装备,普通怪物掉落金币、材料。
攻城胜利奖励:添加攻城结束判定脚本,格式为“#IFSiegeEnd11(地图ID胜利方,1为玩家)#ACTGiveAll物品ID数量”,表示玩家成功防守攻城后,全服发放奖励。单机场景下可简化为“Give物品ID数量”,仅给当前登录玩家发放奖励。
四、客户端适配攻城场景显示设置
攻城提示配置:打开客户端\Data文件夹下的Message.txt文件,添加攻城提示文本,如“【攻城通知】怪物攻城已开启,守住比奇城可获丰厚奖励!”,设置弹窗显示或聊天框滚动提示,提升沉浸感。
地图安全区调整:默认比奇城为安全区,需关闭安全区保护才能触发战斗。打开服务端\Mir200\Envir\MapInfo.txt文件,找到对应地图ID,将“SafeZone=1”改为“SafeZone=0”,保存后重启服务端,攻城地图将取消安全区限制。
五、测试与常见问题排查
脚本测试:开启攻城后,登录游戏前往目标地图,检查怪物是否正常刷新、奖励是否掉落、攻城时长是否准确。若怪物不刷新,核对脚本中地图ID、怪物ID是否正确,或脚本语法是否有误,可在服务端控制台查看报错日志。
攻城无法结束:脚本中未设置结束条件,需补充“#IFMinute=0#ACTStopSiege1”命令,或手动输入“@停止攻城1”命令关闭。若怪物刷新过多导致卡顿,减少单波刷新数量,延长刷新间隔,调整内存分配参数。
奖励不生效:检查奖励物品ID是否正确,脚本中Give命令格式是否规范,确保物品已在服务端数据库中存在,无对应物品则奖励发放失败。
六、优化调整提升攻城体验
分波次攻城设置:在脚本中添加多波次逻辑,每30分钟刷新一波更强怪物,格式为“#IFSiegeTime130(地图ID已持续分钟数)#ACTMonGen1403”,刷新更高级BOSS,增加挑战性。
攻城状态提示:添加实时状态脚本,显示剩余时间、已刷新怪物数量,格式为“#ACTSendMsg0攻城剩余时间:[SiegeLeftTime1]分钟”,让玩家实时掌握攻城进度。定期备份攻城脚本与配置文件,避免误操作导致设置丢失。

