[打印本页]
《超级宏官方教程》第四章·第10节:丐帮实例—— 主稿:松狮
作者: 无色幽明    时间: 2014-03-26 17:41

标题: 《超级宏官方教程》第四章·第10节:丐帮实例—— 主稿:松狮

丐帮实例主稿:松狮




各位童鞋在看此篇文章时我相信已经看了前面的初级教程,那么在这一章不会再仔细说明各种语法的具体意思。
丐帮输出,我理解为是小循环组合成大循环为一个部分,并且这个循环特征比其他门派更为明显,那么何为小循环,何为大循环? 我们先以一个酒中仙为大循环来分析,在满盈流的基础上,酒中仙装上秘籍后是30秒CD,28秒持续时间,6点加速的情况下是2.19秒读条。可以说是无缝连接的一个爆发技能,可是要做到无缝连接却不容易,因为我们要做好小循环。



思考小循环的同时我们来看一下丐帮比较常用的主循环,这里引用松狮宏奇穴为复礼的输出手法。
/skill [tbufftime:亢龙有悔<6,nobuff:龙跃于渊,mana>0.38] 龙跃于渊
/skill [mana>0.38] 龙跃于渊
/skill [mana>0.3,buff:龙跃于渊] 龙战于野
/skill [buff:龙跃于渊,cd:龙战于野] 亢龙有悔
/skill 斜打狗背,亢龙有悔
首先第一句
/skill [tbufftime:亢龙有悔<6,nobuff:龙跃于渊,mana>0.38] 龙跃于渊
意思是在目标身上亢龙有悔的DOT小于6秒,并且在自身没有龙跃于渊BUFF,蓝大于38%的情况下放龙跃于渊。有童鞋就会问,下面有一条
/skill [mana>0.38] 龙跃于渊
呀,为何还要多写一条并加上这么多条件呢?因为丐帮亢龙有悔DOT占总输出比例的30%左右,这条属于补救措施,防止突发情况下立即补DOT,保持DPS的稳定。
而在龙跃于渊之后,我们会打一个龙战于野,如何才能龙战于野在龙跃于渊之后打而不是之前打?这里就将龙战于野的释放条件里面多加一个限制,那就是在身上有龙跃于渊的BUFF下才能放龙战于野,因此龙战于野的语句便是
/skill [mana>0.3,buff:龙跃于渊] 龙战于野
这样才能保证龙战于野是在龙跃于渊之后释放而不会在之前释放。什么?为什么要先放龙跃于渊不是龙战于野?因为释放龙跃于渊后自身龙跃于渊BUFF存在7秒,龙战于野后必须立即释放亢龙有悔才有30秒的20%破防加成。
接下来我们看下一条亢龙有悔的宏表达方式
/skill [buff:龙跃于渊,cd:龙战于野] 亢龙有悔
在自身有龙跃于渊BUFF下,并且龙战于野在CD的情况下才释放,其实很多宏并没有添加龙战于野在CD时才能释放亢龙有悔,这样会导致龙跃后可能因为龙战刚好因为延迟卡到零点几秒CD的情况下打不出龙战而直接打亢龙的问题,当然也不排除有些宏需要装龙跃-CD设定的两个龙跃打一个龙战的问题。

最后这条是最最重要的,也是利用宏卡无名6381的关键之处
/skill 斜打狗背,亢龙有悔
看这条时我们需要知道丐帮宏利用技能卡复礼/含弘的机制,在放技能的同时激活亢龙有悔(我也不知道这样描述正确还是不正确- -)在复礼/含弘条件下会激活3层的6381状态,增加亢龙有悔龙头伤害。因此必须加一个条件限制在含弘/复礼范围内可打出的亢龙有悔技能,也可以不加条件。这样才会卡出6381的BUFF,如果条件没有在含弘或者复礼的范围内,那么将无法卡6381BUFF,而斜打狗背则是在上述情况意外的情况用斜打狗背,属于回蓝技能。也有很多宏是在这个回蓝技能上加了许多条件,个人觉得是没有必要的,在其他技能已经加上条件的情况下就剩余回蓝技能是没有加条件的,这是个互相排斥的。就假如我设定
/skill [mana>0.5] 龙跃于渊
/skill [buff:龙跃于渊] 亢龙有悔
/skill [mana<0.5] 斜打狗背
设定的是50%以上先打龙跃于渊,再亢龙有悔,那么这时已经空蓝(<50%)此时应该打斜打狗背,不管加不加条件,当大于50后则会打龙跃于渊(龙跃于渊语句在斜打上面,默认优先级高于斜打),所以说前面所有技能都加了条件的情况下,回蓝技能再加上条件是多余几乎没用的,但是有个前提条件,自己要把握好僵直时间,否则会CD没好的情况下,蓝已经超过设定量导致不打技能。
那么这套技能就被称谓小循环,通俗点便是一个11层亢龙有悔便是一个小循环。算好小循环一次是多久的时间,去组合成一个大循环。
大循环已经固定的情况下,我们便要去控制小循环的时间,最好是大循环是小循环的整数倍,这样一个大循环内才能打更多的小循环并且不会因为小循过长导致酒中仙CD好了缺没法释放。默认酒中仙不会在小循环之间释放,这样会影响蓝耗,导致前面没打完循环作废重新打一个小循环出来。

举个简单的例子:
小循环为拔狗+横打+拔狗+横打+拔狗+龙跃+龙战+亢龙,这套循环下来是1.5+1.5+0.5+1.4+1.2+2=8.2秒的释放时间。算上延迟各种因素,我们算成9秒。酒中仙持续27秒,刚好可以打完3套后0秒释放酒中仙不照成浪费。
如果小循环为拔狗+斜打+拔狗+斜打+龙跃+拔狗+斜打+龙战+亢龙呢。那么这套循环需要0.5+1.5+0.5+1.5+1.4+0.5+1.5+1.2+2=11.2秒。算上各种因素我们算成12秒,这样27秒的酒中仙内我们只能打出2个小循环并且会剩余3秒的酒中仙,如果我们在这3秒这再次进入下一个循环,那么下一个小循环内后面9秒的技能是完全吃不到酒中仙的。如果有些复礼宏是靠酒中仙补无疆那么也会照成无疆完了后9秒内都没有无疆状态。
所以设计宏的时候最好考虑下小循环时间,尽最大可能去卡大循环。



【lastcasted】语法也是在丐帮宏中常用的,常用于酒中仙后:
/skill [nocd:酒中仙,tmbufftime:亢龙有悔>15,lastcasted:亢龙有悔]酒中仙
这里的【lastcasted:XXX】意思是在XXX技能释放之后,那么原句的意思便是,在亢龙有悔释放完后释放酒中仙技能,可以防止在小循环内,此时酒中仙CD好了,打断小循环直接释放酒中仙导致满蓝释放新一轮循环。
酒中仙是可以多个设置几个判定项,也就是说也许上一条判定不满足你的要求,你可以在下一条接着写酒中仙的语句,比如:
/skill [mana<0.1,lastcasted:亢龙有悔]酒中仙
这两条条件并不冲突,在实际宏中我们可以一起写出来。
这里我先提一下蛟龙套这个技能。很多人第一次写蛟龙套会写成:
/skill 蛟龙翻江,双龙取水,龙游天地,龙腾五岳
实际使用中我们可能会出现这可能尼玛无脑蛟龙,后面的技能全部不打。这里我们的解决方案很简单,参考红豆宏中的
/skill 龙腾五岳,龙游天地,双龙取水,蛟龙翻江
技能名字顺序颠倒一下,则可以正常释放蛟龙套。是不是很厉害啊!- -。



关于自动识别奇穴并使用该奇穴下的循环
首先我们看下下面这个语句
/if [sklv:含弘=1]
…..
/elseif [sklv:复礼=1]
…..
/end
我们可以看到用到了IF语句以及SLSEIF语句,语句想表明的意思便是:如含弘奇穴是亮的,那么将使用以下循环,那么如果奇穴是复礼,我们将调用的是复礼语句下的宏命令,宏结尾加END。需要注意的是两个奇穴判断为同一奇穴,也就是他亮我不亮,我亮他不亮。

这样我们就可以写出宏自动识别奇穴来判断用什么循环的超级宏。很简单。


作者: 啸啸    时间: 2014-06-03 18:20
长见识~\(≧▽≦)/~啦啦啦
作者: iamkey99    时间: 2014-07-14 00:30
松狮大大,请问为什么我写的宏,酒中仙没运功完成就中断去打BOSS了啊
作者: dfzhluvq    时间: 2015-05-12 01:20
HOHO~~~~~~











交友:我是个小女生,21岁,独生子女,还没谈过恋爱,长相较好,反正带出去不会给你丢脸,身高165cm,体重50kg,现在是一家公司的文员。希望找个比我大几岁的男生,不需要你有非常好的条件,但一定要有上进心,会体贴女生,不花心。因为我是第一次恋爱,所以希望找的就是那种能结婚的。如果你是我说的那个他,那就加我微信吧:pndrwx