BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / wow / #85617同步于 2009/9/19
该镜像源已超过 30 天没有更新,可能在源站已被删除。
WOW机器人发帖

给非猎人看的猎人宏第二弹:3.1.3版本抽筋宏原理

cloudheArt
2009/9/19镜像同步1 回复
第一弹在这:http://forum.byr.edu.cn/wForum/disparticle.php?boardName=WOW&ID=60712&pos=6 可惜的是第一个打架赛车宏在新版已经失效了。。似乎抱怨的人比较少,但我却觉得这是一个极大的nerf,再也无法瞬发不降快乐值收宠了 今天蛋疼的看了一上午抽筋宏原理: 完美整合宏:http://bbs.ngacn.cc/read.php?tid=2626540 原理:http://bbs.ngacn.cc/read.php?tid=2658712 其实原理那贴已经把抽筋宏讲清楚了,但是对于我这个菜鸟猎人,第一遍看的一头雾水,回过头去查了下其他贴才慢慢摸清楚原因,又一次因猎人宏的巧妙虎躯一震,试着把来龙去脉写一下给非猎人看(我知道帖子太长应该没人看。。) 本来这宏分为四个版本,是有无橙弓和有无瞄准雕文的组合(2*2个版本)。 小说明一下,有无橙弓,决定奥术射击是否加入循环;有无瞄准雕文,决定瞄准射击cd时间是8秒还是10秒。 这里只把我用的低端无橙弓有瞄准宏放一下: 宏A: /施放 [mod]准备就绪;!自动射击 /施放 沉默射击 /施放 杀戮命令 /castsequence reset=8/alt 瞄准射击,自动射击,自动射击,自动射击,自动射击,自动射击,自动射击,自动射击,自动射击,自动射击,自动射击,自动射击 /castsequence reset=10/alt 奇美拉射击,自动射击,自动射击,自动射击,自动射击,自动射击,自动射击,自动射击,自动射击,自动射击,自动射击,自动射击 /click MultiBarBottomRightButton12 宏B: /施放 [mod]准备就绪;!自动射击 /castsequence reset=6/alt 奥术射击,自动射击,自动射击,自动射击,自动射击,自动射击,自动射击,自动射击,自动射击,自动射击,自动射击,自动射击 /施放 稳固射击 /脚本 UIErrorsFrame:Clear() ================================== 这个宏使用时必须把宏B放在技能栏指定出,点宏A就行了。 关于宏的使用结论帝们请看最后的结论 作为一个菜鸟,一下就会注意到这个宏的特殊之处在于,它由两个宏组成,被click MultiBarBottomRightButton12语句联系在一起。我本能的觉得,我草太牛逼了,就这样用一个宏去点击另一个宏来解决抽筋宏问题啊。 如果你也有这种想法,不好意思你也很菜。 ============================ 先放一放这个问题,首先我觉得我必须先把抽筋宏中心思想明确一下,抽筋宏到底要实现什么样的功能? 无橙弓有瞄准雕文时猎人需要用三个不同cd时间的技能来循环:奇美拉射击10s,瞄准射击8s,奥术射击6s。cd中插入稳固。 所以宏必须实现自动判断技能是否cd的功能 但是,宏并没有提供这样的接口,所以变相的,如果宏能实现自动计时功能,也相当于解决了问题 =================================== 抽筋宏里与计时有关的语句就是下面这条: /castsequence reset=6/alt 奥术射击,自动射击,自动射击,自动射击,自动射击,自动射击,自动射击,自动射击,自动射击,自动射击,自动射击,自动射击 我第一次看到句时再次体现出菜鸟本色,先入为主的以为,不停地按这个宏,6秒后序列重置就行。 但是你可以试试把这条语句单独做成一个宏,然后抽筋按,你会发现reset值无论是,6,7,8,100,奥术射击都只会在执行完所有次数的自动射击后才放出,reset值根本无效。 这是因为,castsequence 中reset的正确理解是: 这条语句没有被执行,reset计时器才会工作。一旦执行了这条语句,reset倒计时就会被重置。 所以当你抽筋按这样一个宏/castsequence reset=x a,b,c,reset根本不起任何作用,宏只会顺序执行abc序列。除非你停手,这时reset才起作用,x秒后施法序列会从a计起。 ====================================== 现在可以告诉你了click MultiBarBottomRightButton12,唯一的作用是,一个宏下不下太多内容,仅仅是把另一个宏接在这个宏上。两个宏看上去很玄,其实只相当于一个宏罢了。 但是变成两个宏并不是故弄玄虚的。宏之所以长,是因为castsequence里那长长的一串自动射击。 前面已经说了,正常情况下reset是无效的,但是如果是这样: /*/cast !自动射击中!作用仅仅是打一发自动射击,没有感叹号的话第一次执行时打开自动射击,第二次执行时关闭,所以这是无关紧要的*/ /cast !自动射击 /castsequence reset=8/alt 瞄准射击,自动射击,自动射击,自动射击,自动射击,自动射击,自动射击,自动射击,自动射击,自动射击,自动射击,自动射击 你会发现,这时候reset已经有效果了!castsequence后面一长串自动射击本不会执行完,而是在reset时间到得时候自动重置,就仿佛这条语句没有执行一样。 问题就出在自动射击上,由于自动射击无cd无gcd,在执行了第一条自动射击后,castsequence中的自动射击被服务器视为无效,因此这条语句没有执行。 所以抽筋宏的核心机制是:利用自动射击的特殊性,在宏被反复执行的情况下,不去执行castsequence语句,使得reset计时器可以正常工作计时 那一长串自动射击就是为了防止抽筋过多把自动射击执行完,循环序列回到还未冷却的技能上,造成宏卡死而不去执行下面的语句。整条语句的意思仅仅是,n秒后再次执行第一个指令。 ============================= 最后说说准备就绪有关的小问题。 准备就绪这个技能师重置所有技能cd。这个宏内整合了进去。我在没有理解抽筋宏原理的时候,都是手动预备,并没用到宏内的预备。因为总感到用了宏内预备这个宏也会被卡住,无法正常工作。 预备后宏要正常工作,castsequence也必须重置才行,不然reset计时器仍然在计时,技能会卡住。 所以在用组合键预备的同时,必须用组合键来使reset计时器重置。 宏内的准备必须按组合键+宏执行,而“/castsequence reset=8/alt”reset条件中有按住alt就reset整个计时条。 我习惯的组合键是ctrl,并不是alt,即使使用ctrl+宏来预备,也无法使reset计时器重置,宏当然被卡住。 关于预备的另一个小点: 在预备时,自动射击的特性又成了我们不需要的,因为我们想要去执行castsequence重置reset,但由于自动射击却重置。 所以加上条件使得 在使用ctrl的时候不去执行第一个自动射击,预备后,宏才能正常工作 开始猎人区一直没能将预备正确的整合进宏,直到有人发现在"/cast !自动射击"这条中加入条件[nomod]. ====================== 终于写完了。。。写到中间都有点不想写了,因为我知道反正也没人能看完>.< ========================= 补充几点结论给结论帝吧: 1.这个宏就是一个自动计时器,只需改变几个技能reset时间,就可以调整技能使用时间,得到自己想要的循环。比如:有瞄准,就把瞄准reset改成8,否则改成10。或者改成自己计算的值 2.发现卡技能了,可以按一下reset条件中的组合键+宏,让宏重置 3.预备后,必须重置这个宏,用宏+组合键重置
订阅后,新回复会通过你的通知中心匿名送达。
1 条回复
flycat机器人#1 · 2009/9/21
写的真长,捎带着贴一个野德宏 /console Sound_EnableSFX 0 /startattack /施放 重殴 /castsequence reset=4 裂伤(熊),重殴,重殴,重殴 /castsequence reset=6 精灵之火(野性),重殴,重殴,重殴,重殴 /castsequence reset=6 割伤,重殴,重殴,重殴,重殴 /施放 横扫(熊) /console Sound_EnableSFX 1 /脚本 UIErrorsFrame:Clear() 利用重殴类似于自动射击的特性,能够做到计时功能 重殴与自动不同的是重殴一旦释放不能取消,所以第一行并不需要像自动一样加感叹号! 【 在 cloudheArt (fly me to the moon) 的大作中提到: 】 : 第一弹在这:http://forum.byr.edu.cn/wForum/disparticle.php?boardName=WOW&ID=60712&pos=6 : 可惜的是第一个打架赛车宏在新版已经失效了。。似乎抱怨的人比较少,但我却觉得这是一个极大的nerf,再也无法瞬发不降快乐值收宠了 : 今天蛋疼的看了一上午抽筋宏原理: : ...................