我用AI写的,没有测试,不知道好不好用。
#showtooltip
/castsequence TargetingFocus, !TargetLastEnemy
/focus [target=focus, exists] [target=focus, help, nodead] [target=focus, harm, nodead]
这个宏的工作原理如下:#showtooltip: 显示当前宏将要执行操作的提示信息。
/castsequence TargetingFocus, !TargetLastEnemy: 这个命令序列会尝试执行TargetingFocus,如果失败了(例如,由于某些条件未满足),则会执行!TargetLastEnemy。这里TargetingFocus不是一个实际的技能或命令,而是一个自定义的命令序列名称,用于下面的条件判断。
/focus: 这个命令后面跟随的条件会根据情况切换焦点和当前目标。
[target=focus, exists]: 如果当前有焦点目标,这个条件会被满足,焦点目标将变为当前目标。
[target=focus, help, nodead]: 如果焦点目标是友方且未死亡,这个条件会被忽略,因为我们需要切换的是敌对目标。
[target=focus, harm, nodead]: 如果焦点目标是敌对且未死亡,这个条件会被满足,焦点目标将变为当前目标。
如果以上条件都不满足,!TargetLastEnemy将被执行,这将尝试切换到上一个敌对目标。
请注意,这个宏的关键在于/focus命令的条件判断。如果当前有焦点目标,它将切换到当前目标;如果没有焦点目标,它将尝试选择上一个敌对目标。这个宏确保了目标全程不丢失,并且实现了当前目标与焦点目标之间的切换。另外,由于TargetingFocus不是一个实际的命令,这个宏实际上依赖于/focus命令的条件判断来执行切换。如果你想要确保这个宏只执行目标切换而不尝试执行其他操作,你可以将宏简化为:
#showtooltip
/focus [target=focus, exists]
这个简化版本的宏会在有焦点目标时切换到焦点目标,如果没有焦点目标则不做任何操作。如果你需要确保在没有焦点目标时切换到上一个目标,可以添加/targetlasttarget命令:
#showtooltip
/focus [target=focus, exists]
/targetlasttarget [noexists, target=focus]
这样,如果没有焦点目标,宏将切换到上一个目标。 |