第四章·综合实例:引言
主稿:莫问夕殇
在写各职业的宏过程中我们需要注意很多实际问题,这些问题并非理解好宏参数的意义就能完全杜绝的,其中一部分来源于职业参数的特殊性,另一部分来自于剑网三底层(例如延迟判定),所以要想写出犀利宏,是需要大量的测试与修正的。
实例1:在没有千机变的时候释放千机变,并且变形连弩
为了达到上面的目的,我们第一时间想到的语句是
/skill [nopuppet]千机变
/skill [puppet]连弩
但是在实测的过程中我们发现,如果单纯这么写,在按宏比较快的时候会出现连续释放2次千机变的情况,非常不利于输出,还有可能导致45秒内根本放不出连弩的尴尬情况。
究其原因,是因为千机变释放成功的瞬间,“puppet”参数依然判定的是false,要过一段时间才会判定成true,所以就会导致第二次千机变的释放,所以在原有的基础上添加一定语句的实际修正是必须的。
至于如何修正,方式有很多,可以用nowtime对千机变的释放进行时间上的限制,可以用lastota或者lastcast对千机变的释放进行技能次序上的限制,还可以用打断的伪技能(/skill 打断)来限制第二次千机变的成功释放,具体如何操作请看前面的参数教程。
实例2:明教的通俗满日输出循环,优先满日或满月状态释放净世破魔击,其他时候优先级为烈日斩、赤日轮。
为了达到上面的目的,我们第一时间想到的语句是
/skill 净世破魔击,烈日斩,赤日轮
调试过程1:木桩实测的过程中我们发现,如果单纯这么写,在按宏比较快并且自身有2段以上加速的时候,可能会出现1烈日斩+4赤日轮才打净世破魔击的情况,很多时候,明明已经80+的日灵,还要打两个赤日轮才打净世破魔击。究其原因,是因为职业的特性,MJ从100日灵转化成满日状态本身就需要一段时间,而净世破魔击的真正要求为满日或满月状态,并非日月能量等于100,所以会造成100日灵但并未满日无法释放净世破魔击的情况。
修正思路1:对烈日斩和赤日轮进行日月能量的限制
修正结果1:
/skill 净世破魔击
/skill [moon<100,sun<100]烈日斩,赤日轮
调试过程2:在实测的过程中,我们留意到,如果7层日月灵魂,并且自己在目标身后日灵大于75的情况下,赤日轮的优先级应该高于烈日斩,但是宏的判定依然是打烈日斩,这或多或少影响输出,所以还需要进一步的修正。
修正思路2:添加此类特殊赤日轮的释放语句,并且调整优先级高于烈日斩
修正结果2:
/skill 净世破魔击
/skill [moon<100,sun<100,sun>75,tarback,buff:日月灵魂=7]赤日轮
/skill [moon<100,sun<100]烈日斩,赤日轮
调试过程3:同样基于第二条的情况,我们发现,不仅仅只有75日灵以上的情况下,一个赤日轮才能满日,如果自身拥有7层日月灵魂并且自己在目标身后并且有生灭予夺的BUFF,那么在51日灵以上,就该优先赤日轮了。同样的道理,还有乐渡buff(日灵月魂回复速度上升20%),还有第三段的赤日轮(奇穴额外10日灵)。
修正思路3:对sun>75进行进一步的修正
修正结果3:
/skill 净世破魔击
/skill [moon<100,sun<100,(sun>75;sun>51,buff:生灭予夺;sun>65,sunhit=3;sun>71,buff:乐渡),tarback,buff:日月灵魂=7]赤日轮
/skill [moon<100,sun<100]烈日斩,赤日轮
调试过程4:在实测的过程中,我们留意到,如果在面对【傀儡·天】的正常阶段我么不应该打净世破魔击月以避免冲进净土里面,在面对【傀儡·恶鬼】的正常阶段我们应该要以月系技能为主。
修正思路4:对【/skill 净世破魔击】添加限制,添加针对【傀儡·恶鬼】正常阶段的月系输出手法,优先级高于日系
修正结果4:
/skill [fullsun]净世破魔击
/skill [fullmoon,tbuff:天道]生死劫
/skill [fullmoon,tnobuff:天道]净世破魔击
/skill [moon<100,sun<100,tbuff:恶鬼道]银月斩,幽月轮
/skill [moon<100,sun<100,(sun>75;sun>51,buff:生灭予夺;sun>65,sunhit=3;sun>71,buff:乐渡),tarback,buff:日月灵魂=7]赤日轮
/skill [moon<100,sun<100]烈日斩,赤日轮
调试过程5:在实测的过程中,我们留意到,如果在扶摇跳的过程中依然按宏,可能会出现满月冲刺到BOSS身边去,影响自己滞空躲技能的情况,很容易造成自身死亡(九鼎天怒式、皇之怒、狼之怒、藏离经失)。
修正思路5:对【/skill [fullmoon,tnobuff:天道]净世破魔击】添加限制,使其不能在自身跳跃的过程中释放
修正结果5:
/skill [fullsun]净世破魔击
/skill [fullmoon,tbuff:天道]生死劫
/skill [fullmoon,tnobuff:天道,!state:jump]净世破魔击
/skill [moon<100,sun<100,tbuff:恶鬼道]银月斩,幽月轮
/skill [moon<100,sun<100,(sun>75;sun>51,buff:生灭予夺;sun>65,sunhit=3;sun>71,buff:乐渡),tarback,buff:日月灵魂=7]赤日轮
/skill [moon<100,sun<100]烈日斩,赤日轮
调试过程6:在实测的过程中,我们发现,有很多时候我们需要远离BOSS,所以,在无法释放其他技能的时候远距离释放银月斩是不错的选择。
……
调试过程N:
……
经过数十次甚至数百次的宏调整,我们才能获得适用性比较高的宏。
写一个新宏并不难,但是调试该宏去适用于几乎所有的BOSS战斗,保证几乎完美的DPS,是很难做到的,但是这就是各位宏作者的共同追求和奋斗目标!