传奇道士脚本求助 道术降低后召唤宝宝技能自动删除实现方法

来源: 作者: 点击:
本人捣鼓道士本号随机道术提升召唤更高级宝宝的脚本,目前前半部分功能正常,当人物道术达到对应要求时,能自动添加召唤技能并发送提示消息,但遇到一个关键问题:人物取下装备导致道术降低后,之前自动添加的召唤技能依然存在,无法自动删除。试过用DELSKILL 召唤二阶铁牛命令删除技能,却没有效果,推测是脚本设置有疏漏,跪求高手指导,核心需求就是实现“道术降低后,对应召唤技能自动删除”,答对加分。
先把自己目前写的脚本完整贴出来,方便高手排查问题,脚本如下:
[@MagSelfFunc71]
#If
CHECKSLAVECOUNT < 1
CHECKSC < 23 = 66
#Act
ADDSKILL 召唤一阶铁牛
SENDMSG 9 由于『%s』的道术提升,降服了一阶铁牛!
#ELSEACT
BREAK
#If
CHECKSLAVECOUNT < 1
CHECKSC < 23 = 67
#Act
ADDSKILL 召唤一阶铁牛
SENDMSG 9 由于『%s』的道术提升,降服了一阶铁牛!
#ELSEACT
BREAK
#If
CHECKSLAVECOUNT < 1
CHECKSC < 23 = 68
#Act
ADDSKILL 召唤一阶铁牛
SENDMSG 9 由于『%s』的道术提升,降服了一阶铁牛!
#ELSEACT
BREAK
#If
CHECKSLAVECOUNT < 1
CHECKSC < 23 = 69
#Act
ADDSKILL 召唤一阶铁牛
SENDMSG 9 由于『%s』的道术提升,降服了一阶铁牛!
#ELSEACT
BREAK
#If
CHECKSLAVECOUNT < 1
CHECKSC < 23 = 70
#Act
ADDSKILL 召唤一阶铁牛
SENDMSG 9 由于『%s』的道术提升,降服了一阶铁牛!
#ELSEACT
BREAK
#If
CHECKSLAVECOUNT < 1
CHECKSC < 23 = 71
#Act
ADDSKILL 召唤一阶铁牛
SENDMSG 9 由于『%s』的道术提升,降服了一阶铁牛!
#ELSEACT
BREAK
#If
CHECKSLAVECOUNT < 1
CHECKSC < 23 = 72
#Act
ADDSKILL 召唤一阶铁牛
SENDMSG 9 由于『%s』的道术提升,降服了一阶铁牛!
#ELSEACT
BREAK
#If
CHECKSLAVECOUNT < 1
CHECKSC < 23 = 73
#Act
ADDSKILL 召唤一阶铁牛
SENDMSG 9 由于『%s』的道术提升,降服了一阶铁牛!
#ELSEACT
BREAK
#If
CHECKSLAVECOUNT < 1
CHECKSC < 23 = 74
#Act
ADDSKILL 召唤一阶铁牛
SENDMSG 9 由于『%s』的道术提升,降服了一阶铁牛!
#ELSEACT
BREAK
[@MagSelfFunc30]
#If
CHECKSLAVECOUNT < 1
CHECKSC < 23 = 75
#Act
ADDSKILL 召唤二阶铁牛
SENDMSG 3 由于『%s』的道术提升,降服了二阶铁牛!
#ELSEACT
BREAK
目前的问题很明确:人物穿戴装备,道术达到66-74时,自动添加召唤一阶铁牛技能;道术达到75时,自动添加召唤二阶铁牛技能,召唤宝宝数量都限制在1个以内,这部分完全正常。但只要取下装备,道术低于对应数值,之前添加的召唤技能不会自动消失,依然能使用,尝试用DELSKILL 召唤二阶铁牛命令删除,却没有任何效果,不知道是命令用错了,还是脚本缺少对应的判断逻辑。
自己反复琢磨,猜测问题出在两个地方,要么是DELSKILL命令的使用方式不对,要么是脚本只写了“道术达标添加技能”,没有写“道术不达标删除技能”的判断,导致技能添加后无法自动清除,下面说说自己的尝试和疑惑,方便高手精准指导。
首先,关于DELSKILL命令的使用,我之前直接在脚本末尾添加了DELSKILL 召唤二阶铁牛,没有搭配任何判断条件,结果不管道术是否达标,都不会删除技能,不知道是不是这个命令需要搭配#If判断,还是命令格式有误,比如是否需要加空格、技能名称是否要和ADDSKILL里的完全一致,我确认过技能名称没有错,和ADDSKILL里的召唤一阶铁牛、召唤二阶铁牛完全对应,但就是无法删除。
其次,我怀疑脚本的逻辑不完整,目前只有“道术达标+无宝宝时添加技能”的判断,没有“道术不达标时删除技能”的反向判断,也就是说,脚本只做了“加法”,没有做“减法”。比如,当人物道术从75降到74以下时,召唤二阶铁牛技能应该自动删除;从66降到65以下时,召唤一阶铁牛技能自动删除,但现在缺少这个判断步骤,所以技能一直保留。
另外,还有一个疑问,CHECKSC < 23 = 66这样的写法是否正确?我原本想表达的是“道术等于66”,不知道这个命令格式有没有问题,会不会导致判断不准确,进而影响后续的技能删除逻辑。还有,召唤宝宝的数量限制CHECKSLAVECOUNT < 1,是否会影响技能删除?比如宝宝消失后,技能是否应该同步删除,还是只需要判断道术即可。
我也尝试过在每个#ELSEACT BREAK后面添加DELSKILL命令,比如在一阶铁牛的每个#ELSEACT BREAK之后,加上#Act DELSKILL 召唤一阶铁牛,但这样设置后,不仅技能删除不了,反而导致原本能正常添加的技能也无法添加了,估计是脚本逻辑冲突了。
还有一种尝试,就是单独写一个触发脚本,比如用[@MagSelfFunc]触发,判断道术低于对应数值时,执行DELSKILL命令,但不知道触发条件怎么设置,才能实现“只要道术降低,就自动触发删除技能”,比如人物取下装备的瞬间,道术变化,脚本就自动执行删除操作,不需要手动触发。
跪求各位高手帮忙排查,核心需求就是:人物道术达标时,自动添加对应召唤技能;人物取下装备、道术降低到对应数值以下时,自动删除之前添加的召唤技能,确保技能和道术匹配,不会出现道术不够还能召唤宝宝的情况。
补充说明:脚本里的[@MagSelfFunc71]和[@MagSelfFunc30]是我设置的触发节点,目前触发没有问题,能正常检测道术并添加技能,主要问题就是技能删除的部分。另外,不需要复杂的额外设置,尽量在原有脚本基础上修改,或者添加简单的判断逻辑,毕竟自己对脚本的了解有限,太复杂的操作可能搞不懂。
再强调一下,试过单独用DELSKILL命令无效,不知道是命令使用错误,还是缺少判断条件,或者是触发节点不对。希望高手能给出具体的修改方案,比如在原有脚本里添加哪些判断、修改哪些命令,最好能贴出修改后的完整脚本片段,这样我能直接复制使用,答对一定加分,万分感谢!
另外,也想请教一下,传奇道士脚本中,DELSKILL命令的正确使用格式是什么?是否需要搭配特定的#If判断,或者需要在特定的触发节点下使用?比如是否需要和ADDSKILL命令在同一个触发节点里,还是可以单独设置触发节点专门用于删除技能。
还有一个疑问,当人物同时满足多个道术条件时,比如道术达到75,既满足二阶铁牛的条件,也满足一阶铁牛的条件,会不会出现技能叠加的情况?目前我测试下来没有叠加,因为有CHECKSLAVECOUNT < 1的限制,但不知道这会不会影响技能删除,比如删除二阶铁牛后,一阶铁牛会不会自动出现,还是需要同时判断两个技能的删除逻辑。
总结一下我的核心困惑和需求:1、DELSKILL命令无法删除技能,是命令使用错误还是缺少条件;2、如何添加判断逻辑,实现道术降低后自动删除对应召唤技能;3、原有脚本的CHECKSC命令格式是否正确,是否影响判断;4、在原有脚本基础上,给出具体可操作的修改方案,尽量简单易懂,避免复杂设置。