传奇脚本两大问题解决 火符穿墙/神水普修设置方法

来源: 作者: 点击:
一、道士及英雄灵魂火符可穿墙设置步骤

当前火符无法穿墙,核心是技能配置文件中“穿墙权限”参数未开启,需通过修改技能配置和英雄技能配置文件实现,具体操作如下:

步骤1:定位技能核心配置文件

打开传奇服务端根目录,依次进入“MirServer\Mud2\DB”文件夹,找到两个关键文件:一是控制主角技能的“Skill.ini”,二是控制英雄技能的“HeroSkill.ini”(部分引擎命名为HeroSkillDB.ini,按实际目录文件为准)。

步骤2:修改主角灵魂火符穿墙参数

用记事本或脚本编辑器打开“Skill.ini”,按快捷键Ctrl+F搜索“灵魂火符”(或技能对应的英文名称/ID,常见ID为12或13,可通过技能列表确认)。找到对应技能段落,重点查看“CanPassWall”参数:

原不穿墙配置通常为“CanPassWall=0”(0代表禁止穿墙),将其修改为“CanPassWall=1”(1代表允许穿墙)。

补充说明:部分引擎需额外添加“PassWallRange=1”参数(控制穿墙范围,1为默认有效范围),若修改后仍无法穿墙,可在该技能段落末尾添加此参数。

; 灵魂火符技能配置示例(修改后)
[Skill12]
Name=灵魂火符
Type=1
Level=1
CanPassWall=1
PassWallRange=1
Damage=100
Range=6
Speed=1000

步骤3:同步修改英雄灵魂火符设置

打开“HeroSkill.ini”,同样搜索“灵魂火符”或对应技能ID,重复步骤2的操作:找到“CanPassWall”参数,将“0”改为“1”,必要时添加“PassWallRange=1”参数。

注意:英雄技能配置需与主角配置保持一致,避免出现主角火符可穿墙、英雄不可穿墙的情况。

步骤4:保存配置并测试验证

保存修改后的“Skill.ini”和“HeroSkill.ini”文件,重启传奇服务端(仅保存文件不重启无效)。进入游戏后,控制道士主角和英雄释放灵魂火符,测试能否穿越墙壁、障碍物攻击目标,确认设置生效。

二、神水全身普通修理与特修数据修改方法

当前已实现神水全身特修,需修改修理脚本中的数据关联,将“特修逻辑”替换为“普修逻辑”,核心是调整修理消耗、成功率、耐久恢复规则,具体步骤如下:

步骤1:定位神水修理核心脚本文件

进入服务端“QuestDiary”文件夹,查找与“修理”“神水”相关的脚本文件,常见命名为“Repair.txt”“ShenShuiRepair.txt”或“全身修理.txt”(不同引擎命名略有差异,可通过搜索“神水”“全身特修”关键词定位)。

步骤2:查找神水修理核心代码段

打开目标脚本文件,搜索“神水全身特修”“ShenShuiRepair”等关键词,找到对应代码块。原特修代码通常包含以下特征:

1. 消耗物品为“特修神水”(对应物品ID,需记录当前特修神水ID,如2001);

2. 修理成功率为100%(参数如“Success=100”);

3. 耐久恢复为全额恢复(如“RecoverDur=100”,代表恢复100%耐久);

4. 关联“特修”标记(如“RepairType=2”,2代表特修,1代表普修)。

; 原神水全身特修代码示例(需修改)
[@神水全身修理]
#if
CHECKITEM 特修神水 1 ; 消耗1个特修神水(ID:2001)
#act
MOV RepairType=2 ; 标记为特修
MOV Success=100 ; 特修成功率100%
MOV RecoverDur=100 ; 全额恢复耐久
CALL @全身修理执行
SENDMSG 6 恭喜,神水全身特修成功!
break

步骤3:修改为全身普通修理数据

针对原特修代码,按以下要点修改(核心是替换“特修属性”为“普修属性”):

1. 替换消耗物品:将“CHECKITEM 特修神水 1”改为“CHECKITEM 普通神水 1”(需确认普通神水对应物品ID,如2002,替换为实际ID);

2. 调整修理类型:将“MOV RepairType=2”改为“MOV RepairType=1”(1代表普通修理);

3. 设置普修成功率:普通修理成功率默认低于100%,可设为“MOV Success=85”(85%成功率,可按需求调整50-95区间);

4. 调整耐久恢复规则:普通修理不全额恢复耐久,可设为“MOV RecoverDur=70”(恢复70%耐久,按需求调整50-80区间);

5. 修改提示信息:将“神水全身特修成功”改为“神水全身普通修理成功”。

; 修改后神水全身普通修理代码示例
[@神水全身修理]
#if
CHECKITEM 普通神水 1 ; 消耗1个普通神水(ID:2002)
#act
MOV RepairType=1 ; 标记为普通修理
MOV Success=85 ; 普修成功率85%
MOV RecoverDur=70 ; 恢复70%耐久
CALL @全身修理执行
SENDMSG 6 恭喜,神水全身普通修理成功!
break

步骤4:处理修理执行逻辑关联(关键)

查找脚本中“@全身修理执行”标签对应的代码段,确认其中是否有“RepairType”判断逻辑。若存在“若RepairType=2则执行特修逻辑”的代码,需补充“RepairType=1则执行普修逻辑”的分支,确保普通修理能正常扣除耐久、恢复装备状态。

示例补充代码:

[@全身修理执行]
#if
Equal RepairType=1 ; 普通修理逻辑
#act
FOR EACH ITEM IN BAG ; 遍历背包所有装备
REPAIR ITEM <$ITEMID> <$Success> <$RecoverDur> ; 按普修参数修理
NEXT
#if
Equal RepairType=2 ; 保留原特修逻辑(可选,避免影响其他功能)
#act
FOR EACH ITEM IN BAG
REPAIR ITEM <$ITEMID> 100 100 ; 特修全额恢复
NEXT
break

步骤5:保存测试,确认功能正常

保存所有修改后的脚本文件,重启服务端。进入游戏后,携带普通神水找到对应修理NPC(或触发修理功能),执行全身修理操作:检查是否消耗普通神水、装备耐久是否按设定比例恢复、成功率是否符合预期,确认神水全身普通修理功能正常。