传奇怪物攻城的开启时间、怪物种类、刷新数量等设置,均需在服务端特定文件中调整,核心操作集中在Envir目录下的攻城配置文件,按以下步骤可精准修改。
一、基础定位:找到服务端攻城调整核心文件
怪物攻城相关设置文件多存于服务端MirServer\Mir200\Envir目录,不同引擎(HERO、GOM、LEG)文件名称略有差异,但核心路径一致,常见文件及作用如下:
文件名称
存放路径
主要调整内容
CastleSiege.txt
Mir200\Envir
攻城开启时间、周期、参与条件
MonsterSiege.txt
Mir200\Envir\Siege
攻城怪物 ID、刷新数量、刷新位置
CastleReward.txt
Mir200\Envir\Siege
攻城胜利奖励(物品、元宝、权限)
SiegeQuest.txt
Mir200\Envir\QuestDiary
攻城触发脚本(如怪物刷新指令、公告)
MapInfo.txt
Mir200\Envir
攻城地图权限(如是否允许攻城期间进入)
关键提示:若找不到Siege子目录,需确认服务端是否包含攻城模块(部分精简版需手动创建Siege文件夹并添加对应文件)。
二、核心调整步骤:按需求修改关键配置
(一)调整怪物攻城时间与周期(核心:CastleSiege.txt)
1. 找到文件:
进入MirServer\Mir200\Envir,用 Notepad++ 打开CastleSiege.txt(无则新建,需与引擎匹配格式)。
2. 常见配置格式与修改示例:
# 攻城周期设置(Week=0代表每天,1=周一,2=周二...7=周日)
Cycle=Week;Week=3,6; # 每周三、周六开启
# 攻城具体时间(Hour=24小时制,Minute=分钟)
StartTime=Hour=20;Minute=0; # 20:00开始
# 攻城时长(单位:分钟)
Duration=120; # 持续2小时
# 参与条件(NeedCastle=1代表仅沙巴克攻城,0代表全服触发)
NeedCastle=1;
# 攻城开启公告(SendMSG=0代表全服公告)
Notice=SendMSG=0 20:00将开启怪物攻城,击败BOSS可获珍稀道具!;
3. 修改技巧:
若想每天开启,将Cycle=Week;Week=3,6;改为Cycle=Day;;
调整时间需用半角符号(如Hour=19;Minute=30;,避免全角 “;”);
公告内容可自定义,用|分隔多条公告(如Notice=...;|SendMSG=0 攻城倒计时10分钟!;)。
(二)设置攻城怪物(核心:MonsterSiege.txt)
1. 找到文件:
进入MirServer\Mir200\Envir\Siege,打开MonsterSiege.txt(无则新建,需按引擎要求格式编写)。
2. 配置怪物参数(需先查怪物 ID):
第一步:用 DBC2000 打开服务端MirServer\DB\MonsterDB.dbf,找到目标怪物的ID(如 “沃玛教主” ID=1001,“祖玛教主” ID=1002);
第二步:按以下格式编写配置(每行对应一波怪物):
# 格式:怪物ID|刷新数量|刷新地图ID|刷新X坐标|刷新Y坐标|刷新间隔(秒)|是否主动攻击(1=是,0=否)
1001|5|3|150|150|300|1; # 刷新5只沃玛教主(ID=1001)到地图3(沙巴克)150,150位置,每5分钟补1波,主动攻击
1002|3|3|180|180|600|1; # 刷新3只祖玛教主到同地图180,180位置,每10分钟补1波
1003|20|3|120|120|120|1; # 刷新20只沃玛卫士(ID=1003),每2分钟补1波
3. 关键注意事项:
地图 ID 需匹配MapInfo.txt(如沙巴克地图 ID 多为 3,可在MapInfo.txt中搜索 “沙巴克” 确认);
坐标需在地图有效范围内(可通过游戏内@查看坐标命令获取安全区域坐标);
数量不宜过多(单地图建议不超过 50 只),避免服务器卡顿。
(三)调整攻城奖励(核心:CastleReward.txt)
1. 找到文件:
进入MirServer\Mir200\Envir\Siege,打开CastleReward.txt。
2. 配置奖励类型(分个人与公会奖励):
# 公会奖励(攻城胜利公会全体成员可领)
GuildReward=ItemID=1004|Count=1|Bind=1; # 奖励1件屠龙(ID=1004),绑定(Bind=1)
GuildReward=Gold=1000000; # 奖励100万金币
# 个人奖励(最后击杀攻城BOSS的玩家)
PersonalReward=ItemID=1005|Count=1; # 奖励1件护身戒指(ID=1005)
PersonalReward=Exp=5000000; # 奖励500万经验
# 奖励发放方式(1=自动发放,0=需GM手动发放)
AutoGive=1;
3. 操作技巧:
物品 ID 需从ItemDB.dbf中查询(避免填错导致奖励无法发放);
绑定奖励用Bind=1,非绑定用Bind=0;
可添加元宝奖励(如YuanBao=100;,需引擎支持元宝功能)。
三、进阶技巧:自定义攻城触发与特殊效果
(一)设置攻城触发条件(修改SiegeQuest.txt)
若需满足特定条件才触发攻城(如全服玩家等级达到 35 级),可在Mir200\Envir\QuestDiary\SiegeQuest.txt中添加脚本:
(@SiegeCheck)
#IF
CHECKALLHUMANLEVELEX>35 # 全服玩家平均等级超过35级
#ACT
STARTSIEGE 3 # 启动地图3(沙巴克)的攻城
SENDMSG 0 全服等级达标,怪物攻城即将开启!
#ELSE
SENDMSG 0 全服平均等级未达标,攻城暂不开启!
使用方法:在CastleSiege.txt中添加TriggerQuest=@SiegeCheck;,让攻城启动前先执行条件判断。
(二)解决怪物刷新冲突(调整MapInfo.txt)
若攻城地图同时有其他活动,需禁止非攻城怪物刷新:
打开MirServer\Mir200\Envir\MapInfo.txt,找到攻城地图(如沙巴克,ID=3),添加:
3 沙巴克 0 0 1 0; # 格式:地图ID|地图名|是否允许普通怪物刷新|...|攻城期间禁用普通刷新(1=禁用)
这样攻城期间,地图 3 仅刷新MonsterSiege.txt中设置的攻城怪物。
(三)添加攻城进度提示(修改CastleSiege.txt)
在CastleSiege.txt中添加倒计时公告:
Countdown=300,180,60; # 攻城前5分钟、3分钟、1分钟各发1次公告
CountdownNotice=SendMSG=0 攻城即将在{Time}秒后开启,请做好准备!; # {Time}自动替换为倒计时秒数
四、验证与维护:确保调整生效
(一)测试调整效果
重启服务端:修改所有配置文件后,关闭Mir200.exe、LoginSrv.exe等程序,重新启动服务端;
手动触发测试:用 GM 账号登录游戏,输入命令@启动攻城 3(3 为地图 ID),检查怪物是否按设置刷新、时间是否正确;
奖励验证:击杀攻城 BOSS 后,查看背包是否收到个人奖励,公会成员是否能领取公会奖励。
(二)备份与恢复
备份配置文件:修改前复制CastleSiege.txt、MonsterSiege.txt到其他文件夹,若调整出错可直接替换恢复;
记录关键参数:将怪物 ID、地图 ID、奖励物品 ID 记录在文档中,方便后续修改。
(三)常见问题解决
怪物不刷新:检查MonsterSiege.txt中怪物 ID 是否正确,地图 ID 是否与MapInfo.txt匹配,或是否有其他脚本禁止刷新;
时间不生效:确认CastleSiege.txt中时间格式(如Hour=20;Minute=0;),避免用 12 小时制(如Hour=8;需改为Hour=20;);
奖励不发放:检查CastleReward.txt中物品 ID 是否存在,AutoGive是否设为 1,或引擎是否支持对应奖励类型(如部分引擎不支持元宝自动发放)。
五、实操注意事项
引擎兼容性:不同引擎配置格式有差异(如 GOM 引擎MonsterSiege.txt需加[SiegeMonster]头部),需参考服务端Doc目录下的引擎说明文档;
字符格式:所有配置文件需用半角符号(如; =),避免全角符号导致脚本解析错误;
性能控制:攻城怪物数量需匹配服务器配置(4 核 8G 服务器建议单地图不超过 80 只),避免卡顿或崩溃。
传奇怪物攻城服务端调整全攻略 位置与操作技巧详解
来源:
作者:
点击:

