一、攻沙核心脚本存放位置(分引擎说明)
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)是否完整,无缺失代码行。
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)是否完整,无缺失代码行。

