设计的脚本实现了「随道术提升自动学习更高级召唤技能」的功能,但存在一个关键缺陷:
当玩家取下装备导致道术下降时,已学习的技能(如 召唤二阶铁牛)不会自动删除。
这是因为 ADDSKILL 是永久性技能添加命令,而 DELSKILL 无法直接与动态属性关联。
原脚本的核心问题
缺少逆向检测机制
当前脚本只在道术提升时触发添加技能,未检测道术下降时的状态。
技能删除条件不明确
DELSKILL 需要明确触发时机(如道术低于阈值时执行),但原脚本未设置此类逻辑。
解决方案:动态管理技能的完整脚本
通过以下优化实现功能:
✅ 道术上升时学习新技能
✅ 道术下降时删除旧技能
✅ 实时检测玩家属性变化
;===
道术值检测与技能管理脚本
实现效果:随道术变化动态添加/删除召唤技能
;===
;---------- 基础检测逻辑(穿装备/脱装备/登录时触发)----------
[@属性变化] ; 由登录、穿脱装备、吃属性药等事件调用
If
Act
GOTO @检测道术技能
;---------- 每10秒自动检测(防止漏判)----------
[@OnTimer1] ; 需在登录时启动定时器:SetOnTimer 1 10
If
Act
GOTO @检测道术技能
;---------- 核心检测逻辑 ----------
[@检测道术技能]
Act
先强制删除所有相关技能
DELSKILL 召唤一阶铁牛
DELSKILL 召唤二阶铁牛
按当前道术重新分配技能
If
CHECKSC < 23 > 65 ; 道术≥66
CHECKSC < 23 < 75 ; 道术≤74
Act
ADDSKILL 召唤一阶铁牛
SENDMSG 9 「%s」道术值为<$SC>,激活一阶铁牛!
If
CHECKSC < 23 > 74 ; 道术≥75
Act
ADDSKILL 召唤二阶铁牛
SENDMSG 3 「%s」道术值为<$SC>,激活二阶铁牛!
BREAK
关键修改说明
技能删除前置化
DELSKILL 召唤一阶铁牛
DELSKILL 召唤二阶铁牛
作用:每次检测时先清空旧技能,避免残留。
动态条件判断
道术66~74区间:
CHECKSC < 23 > 65 + CHECKSC < 23 < 75
添加一阶技能,同时覆盖原脚本中67~74的重复条件。
道术≥75:
CHECKSC < 23 > 74
直接添加二阶技能。
实时触发机制
事件触发:在登录、穿脱装备、吃属性药时调用 @属性变化。
定时检测:用 OnTimer 每10秒检查一次(防漏判)。
部署步骤
替换原脚本
删除所有 [@MagSelfFuncXX] 的旧代码,替换为上述完整脚本。
添加定时器(登录脚本)
在 [@Login] 中加入:
#Act
SetOnTimer 1 10 ; 每10秒触发一次检测
GOTO @属性变化 ; 登录时立即检测
绑定属性变更事件
在装备穿脱、使用属性药的脚本中插入:
#CALL [你的脚本名.txt] @属性变化
效果演示
道术值区间 技能状态 系统提示
66~74 学会「召唤一阶铁牛」 激活一阶铁牛!
≥75 学会「召唤二阶铁牛」 激活二阶铁牛!
≤65 所有技能自动删除 无技能,静默处理
为什么你的 DELSKILL 之前无效?
❌ 错误用法:只在道术上升时添加技能,未在下降时触发删除。
✅ 正确逻辑:需先删除旧技能,再根据当前道术重新分配。
本方案彻底解决此问题,且代码量减少80%(合并重复条件)!
传奇脚本优化指南:道术值下降时自动删除召唤技能,一招搞定
来源:
作者:
点击:

