传奇攻沙脚本存放位置与首次攻沙时间及元宝领取脚本修改指南

来源: 作者: 点击:
在传奇服务端中,攻沙(攻城)相关脚本、首次攻沙时间设定以及攻沙后元宝发放逻辑,分别位于不同配置文件中。以下说明适用于Hero、GOM等主流引擎,直指文件路径与修改方法。

攻沙主脚本存放位置

攻沙核心脚本通常存放在Mir200EnvirGuards目录下,文件名为SabukWall.txt。该文件定义了沙巴克城墙守卫的对话、报名、开战提示及胜利处理流程。若需修改攻沙开始时的公告、报名条件或胜利后跳转,应编辑此文件。

部分版本可能将攻沙逻辑拆分为多个文件,如:
SabukGuard.txt:沙巴克守卫NPC;
SabukKing.txt:沙巴克国王功能;
但主流程仍以SabukWall.txt为准。

修改开区后第一次攻沙时间

首次攻沙时间由Mir200!RunGate!Setup.txt(或Mir200!Server!Setup.txt)中的参数控制。关键字段如下:

SabukOpenDay=6
SabukOpenHour=19
SabukOpenMin=50

SabukOpenDay:每周攻沙日,0=周日,1=周一……6=周六;
SabukOpenHour:攻沙开始小时(24小时制);
SabukOpenMin:攻沙开始分钟。

首次攻沙时间逻辑:服务端启动后,会自动计算下一个符合上述设定的时间点作为首次攻沙。例如设为SabukOpenDay=6(周六)、SabukOpenHour=20,则开服后第一个周六晚8点开启首场攻沙。

若需强制指定某一天为首次攻沙(无视周几),部分引擎支持在Mir200MapQuest_defQManage.txt中添加:

[@Main]
ACT
SET [SabukNextTime] 202405102000 ; 格式:YYYYMMDDHHMM

但标准做法仍以!Setup.txt中的周期设定为准。

攻沙胜利后领取元宝脚本位置

攻沙成功后发放元宝的脚本通常位于Mir200EnvirQFunction-0.txt中的[@SabukVictory]标签。该标签在沙巴克易主时自动触发。

示例脚本:

[@SabukVictory]
; 给予行会所有在线成员元宝
ACT
GIVEGOLD 500000 ; 部分引擎用GIVEGAMEGOLD
SENDMSG 7 恭喜【】夺得沙巴克!全体成员获得50万元宝!

若需玩家手动领取(如通过国王NPC),则在SabukKing.txt中添加:

[@main]
\
 \
 『』\

[@GetSabukReward]
IF
EQUAL
ACT
GIVEGAMEGOLD 500000
SENDMSG 7 领取成功,获得50万元宝!
DEL HUMAN SabukRewardGot ; 防重复领取可加标记
BREAK
ELSEACT
SENDMSG 7 只有本行会成员可领取奖励。

注意:GIVEGAMEGOLD用于发放元宝(绑定货币),GIVEGOLD可能指金币,具体取决于引擎定义。可通过@ITEMINFO命令确认货币类型代码。

文件路径总结
功能 文件路径
攻沙主流程脚本 Mir200EnvirGuardsSabukWall.txt

首次攻沙时间设定 Mir200!RunGate!Setup.txt

攻沙胜利自动发元宝 Mir200EnvirQFunction-0.txt [@SabukVictory]

国王手动领取元宝 Mir200EnvirMarket_defSabukKing.txt

修改后需重启服务端使配置生效。检查攻沙时间是否正确,可在开服后查看Log目录下的Sabuk.log或系统公告。