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

