单机传奇怪物攻城设置教程 脚本与触发配置方法

来源: 作者: 点击:
一、核心前提 怪物攻城核心文件定位

单机传奇怪物攻城通过服务端脚本配置实现,核心依赖QuestDiary文件夹下的触发脚本与Envir文件夹下的怪物刷新配置文件。需先定位服务端对应路径:服务端根目录\Mir200\Envir\QuestDiary(脚本文件)、服务端根目录\Mir200\Envir\MonGen.txt(怪物刷新配置),所有设置均围绕这两个路径的文件展开,确保文件无损坏、格式正确。

优先确认引擎支持性,主流GOM、GEE、Hero引擎均自带怪物攻城脚本模板,部分整合版服务端已预置基础脚本,可直接修改参数启用;无模板则需手动创建脚本文件,确保脚本语法与引擎适配,避免触发失败。

二、基础设置 怪物攻城脚本创建与配置

(一)创建攻城触发脚本

打开QuestDiary文件夹,新建文本文档,重命名为“攻城脚本.txt”(名称可自定义,后缀为.txt),双击打开后按引擎语法编写核心逻辑。基础脚本需包含触发条件、攻城时长、怪物刷新规则、结束判定四项核心内容,以Hero引擎为例,基础格式如下:

#IF 1 #ACT StartSiege 1 120 (开启攻城,1为攻城地图ID,120为持续分钟数) MonGen 1 3 10 (地图ID 怪物ID 刷新数量) MonGen 1 5 5 (重复添加不同怪物,按需求补充) #ELSEACT StopSiege 1 (关闭对应地图攻城)

脚本中地图ID需对应目标攻城地图,比奇城默认ID为1,土城为3,可通过服务端MapInfo.txt文件查询具体ID。怪物ID需从StdItems.DB数据库文件中提取,常见攻城怪物如半兽统领(ID10)、沃玛教主(ID20)、祖玛教主(ID30),按需求搭配普通怪物与BOSS比例。

(二)脚本触发方式设置

手动触发:将编写好的脚本文件放入QuestDiary文件夹,登录GM账号,在游戏聊天框输入命令“@执行脚本 攻城脚本.txt”,即可立即开启怪物攻城,适合临时测试。需确保GM账号权限足够,1级权限可执行所有脚本命令。

定时触发:编辑QuestDiary文件夹下的QFunction-0.txt文件,添加定时触发逻辑,格式为“#IF Hour = 19 Minute = 0 #ACT StartSiege 1 120”,设置每日固定时间开启攻城,时长120分钟。保存后在服务端控制台输入“@重载脚本”,无需重启服务端即可生效。

三、进阶配置 怪物刷新与奖励设置

(一)怪物刷新细节调整

打开MonGen.txt文件,补充攻城地图怪物刷新规则,格式为“地图ID 怪物ID 刷新坐标X 刷新坐标Y 刷新间隔(秒) 刷新范围”,示例:“1 10 300 300 60 5”,表示在比奇城(ID1)坐标300,300位置,每60秒刷新1只半兽统领(ID10),刷新范围5格内。

攻城怪物优先级设置,在脚本中添加“SetMonPriority 怪物ID 1”命令,将BOSS设为高优先级,优先刷新在皇宫、杂货铺等核心位置,模拟经典攻城场景。普通怪物均匀刷新在城市外围,形成渐进式攻城节奏。

(二)攻城奖励配置

击杀奖励设置:在脚本中添加奖励逻辑,格式为“#IF KillMon 怪物ID #ACT Give 物品ID 数量”,示例:“#IF KillMon 30 #ACT Give 100 1”,表示击杀祖玛教主(ID30)后掉落屠龙(ID100)1件。可按怪物等级设置奖励梯度,BOSS掉落极品装备,普通怪物掉落金币、材料。

攻城胜利奖励:添加攻城结束判定脚本,格式为“#IF SiegeEnd 1 1 (地图ID 胜利方,1为玩家) #ACT GiveAll 物品ID 数量”,表示玩家成功防守攻城后,全服发放奖励。单机场景下可简化为“Give 物品ID 数量”,仅给当前登录玩家发放奖励。

四、客户端适配 攻城场景显示设置

攻城提示配置:打开客户端\Data文件夹下的Message.txt文件,添加攻城提示文本,如“【攻城通知】怪物攻城已开启,守住比奇城可获丰厚奖励!”,设置弹窗显示或聊天框滚动提示,提升沉浸感。

地图安全区调整:默认比奇城为安全区,需关闭安全区保护才能触发战斗。打开服务端\Mir200\Envir\MapInfo.txt文件,找到对应地图ID,将“SafeZone=1”改为“SafeZone=0”,保存后重启服务端,攻城地图将取消安全区限制。

五、测试与常见问题排查

脚本测试:开启攻城后,登录游戏前往目标地图,检查怪物是否正常刷新、奖励是否掉落、攻城时长是否准确。若怪物不刷新,核对脚本中地图ID、怪物ID是否正确,或脚本语法是否有误,可在服务端控制台查看报错日志。

攻城无法结束:脚本中未设置结束条件,需补充“#IF Minute = 0 #ACT StopSiege 1”命令,或手动输入“@停止攻城 1”命令关闭。若怪物刷新过多导致卡顿,减少单波刷新数量,延长刷新间隔,调整内存分配参数。

奖励不生效:检查奖励物品ID是否正确,脚本中Give命令格式是否规范,确保物品已在服务端数据库中存在,无对应物品则奖励发放失败。

六、优化调整 提升攻城体验

分波次攻城设置:在脚本中添加多波次逻辑,每30分钟刷新一波更强怪物,格式为“#IF SiegeTime 1 30 (地图ID 已持续分钟数) #ACT MonGen 1 40 3”,刷新更高级BOSS,增加挑战性。

攻城状态提示:添加实时状态脚本,显示剩余时间、已刷新怪物数量,格式为“#ACT SendMsg 0 攻城剩余时间:[SiegeLeftTime 1]分钟”,让玩家实时掌握攻城进度。定期备份攻城脚本与配置文件,避免误操作导致设置丢失。