当前位置 : 145z游戏站 | 热血传奇 | 技术教程 | 

传奇攻沙脚本存放位置及时间、元宝脚本修改指南

热度:
一、攻沙核心脚本存放位置(分引擎说明)

1.HERO/3K引擎(主流引擎,路径统一)

核心脚本文件集中在服务器Envir目录,按功能分两类存放,无需修改客户端文件,仅操作服务器端即可。

(1)攻沙规则脚本:路径为D:\Mirserver\Mir200\Envir\MapQuest_def\QManage.txt,包含攻沙开启、结束触发、复活点设置、积分统计等核心逻辑,大部分攻沙相关命令均在此文件编写。

(2)沙巴克NPC脚本:路径为D:\Mirserver\Mir200\Envir\NPCs\,沙巴克管理员、攻城申请NPC等脚本单独存储,文件名多为“沙巴克管理员.txt”“攻城申请使者.txt”,负责攻沙报名、状态查询等交互功能。

(3)地图专属脚本:若攻沙有特殊地图规则(如特定区域加分),脚本存放于D:\Mirserver\Mir200\Envir\MapQuest\,按沙巴克地图编号命名文件夹(沙巴克地图默认编号35),内放专属触发脚本。

2.GOM/GEE引擎(专属路径,需区分配置文件)

此类引擎攻沙脚本分脚本文件与配置文件两部分,需配合修改才能生效。

(1)核心脚本文件:路径为D:\Mirserver\Mir200\Envir\MapQuest_def\QManage.txt,功能与HERO引擎一致,包含攻沙触发、奖励发放等逻辑。

(2)攻沙配置文件:额外需修改D:\Mirserver\Mir200\Envir\SandAttack.ini,该文件为攻沙基础配置,记录攻城时间、参与条件、复活点坐标等基础参数,部分规则需在此文件预设后,再在QManage.txt中添加触发命令。

(3)NPC脚本:与HERO引擎路径一致,存放于Envir\NPCs\目录,可直接修改沙巴克NPC对话及功能逻辑。

二、开区后第一次攻沙时间修改方法(分引擎实操)

1.HERO/3K引擎(两种修改方式,按需选择)

方式一:通过QManage.txt脚本修改(推荐,精准控制时间)。

打开QManage.txt,找到[@ServerStart]触发段(服务器启动触发),添加以下代码设置首次攻沙时间(以开区3天后20点开启为例):

(@ServerStart)

#ACT

SetSandAttackTime7220:00//72为开区后小时数,20:00为攻沙开启时间

SetSandAttackDuration60//攻沙持续时长(分钟),默认60分钟

SendBroadCast0开区3天后20:00开启首次沙巴克攻城战!//全服通知

方式二:通过引擎控制台临时修改(无需重启服务器)。

打开引擎控制台,输入命令:SetSandAttackTime7220:00,按下回车执行,命令生效后会提示设置成功,适合已开区需调整首次攻沙时间的场景。

2.GOM/GEE引擎(配置文件+脚本双重设置)

第一步:修改SandAttack.ini配置文件。

打开该文件,找到“FirstAttackTime”参数,设置为开区后小时数,例如“FirstAttackTime=72”(开区3天后);找到“AttackHour”“AttackMinute”参数,设置具体时间,例如“AttackHour=20”“AttackMinute=00”,保存文件。

第二步:补充脚本触发(确保时间生效)。

打开QManage.txt,在[@ServerStart]段添加代码:

LoadSandAttackConfig//加载沙巴克配置文件

SendBroadCast0首次沙巴克攻城将于开区3天后20:00开启!

提示:修改后需重启服务器,配置文件才能生效,临时调整可通过引擎控制台输入命令“FirstSandAttackTime72”快速设置。

3.通用注意事项

首次攻沙时间建议设置在开区3-7天,预留玩家发育时间;时间格式需严格按“小时:分钟”填写,小时数采用24小时制,避免格式错误导致攻沙无法开启。设置后可通过沙巴克NPC查询攻城时间,确认是否修改成功。

三、攻沙元宝领取脚本位置及修改

1.元宝领取脚本核心存放位置

(1)基础领取脚本:与沙巴克NPC脚本绑定,存放于D:\Mirserver\Mir200\Envir\NPCs\“沙巴克管理员.txt”文件中,攻沙胜利后领取元宝、奖励的逻辑均在此编写。

(2)批量发放脚本:若需全服自动发放元宝(无需手动领取),脚本存放于QManage.txt,通过攻沙结束触发命令实现,对应[@SandAttackEnd]触发段。

(3)奖励配置文件:部分引擎元宝奖励金额存于D:\Mirserver\Mir200\Envir\Reward.ini,需在此文件设置元宝数量后,再在脚本中调用。

2.元宝领取脚本修改实操(以HERO引擎为例)

示例1:手动领取元宝(沙巴克管理员NPC脚本)。

打开“沙巴克管理员.txt”,找到[@领取攻沙奖励]段,修改代码如下:

[@领取攻沙奖励]

#IF

CheckSandWinner//检测是否为攻沙胜利方成员

#ACT

GiveGold1000//发放1000元宝,修改数字调整金额

SendMsg5恭喜领取攻沙胜利元宝奖励!

#ELSESAY

你非攻沙胜利方成员,无法领取奖励!

示例2:自动发放元宝(QManage.txt脚本)。

打开QManage.txt,找到[@SandAttackEnd]段,添加代码:

(@SandAttackEnd)

#IF

CheckGuildSandWinner//检测胜利行会

#ACT

GiveGuildGold1000//为胜利行会每位成员发放1000元宝

SendBroadCast0恭喜【<$GuildName>】行会夺得沙巴克,成员已自动领取元宝奖励!

3.分引擎适配说明

GOM/GEE引擎发放元宝命令为“AddGold”,需替换HERO引擎的“GiveGold”;部分引擎需在引擎配置文件中开启“元宝奖励开关”,设置“AllowSandGold=1”,否则元宝发放失败。修改元宝数量时,需确保服务器元宝上限足够,避免发放异常。

四、脚本修改与部署注意事项

1.备份原文件:修改所有脚本及配置文件前,复制备份文件,避免代码错误导致攻沙功能失效,备份文件命名为“文件名_备份”,存于同目录。

2.格式规范:脚本命令需大写,符号为英文半角,中文符号会导致脚本失效;参数填写需准确,地图编号、时间格式、元宝数量需与服务器配置一致。

3.重启生效:修改配置文件(如SandAttack.ini)后,必须重启服务器;仅修改QManage.txt部分脚本,可通过引擎控制台“重载脚本”功能生效,无需重启。

4.测试验证:修改后创建测试角色,加入行会模拟攻沙流程,测试时间触发、元宝领取功能是否正常,排查命令错误或参数偏差问题。

五、常见问题排查

1.攻沙时间不生效:核对时间参数格式,检查是否遗漏“LoadSandAttackConfig”加载命令;GOM引擎确认SandAttack.ini文件参数是否保存,重启服务器重试。

2.元宝无法领取:检查发放命令是否适配当前引擎,确认元宝发放开关已开启;手动领取需核对NPC脚本中“CheckSandWinner”条件是否正确,避免权限判断错误。

3.攻沙脚本无响应:检查脚本存放路径是否正确,确保文件未被误删;QManage.txt中触发段(如@ServerStart)是否完整,无缺失代码行。
[顶部]