剑网3 苦逼程序猿------天策宏的优化过程

时间:2016-11-01 14:49 作者:Await丶U 手机订阅 神评论

【卡灭宏】优化(来源:http://tieba.baidu.com/p/4626290852)  

原宏:  

/cast[tnobuff:破血|tbufftime:破血<2]战八方  

/cast[tnobuff:流血]破风  

/cast龙牙  

/cast龙吟  

/cast[nobuff:风虎&tbuff:致伤=2]灭  

/cast战八方  

/cast穿云  

------------------------------------------------------------------------------  

升级后:  

/cast[tnobuff:流血]破风  

/cast[buff:紫龙寂地|nobuff:风虎|tbuff:致伤=2]龙牙  

/cast龙吟  

/cast战八方  

/cast龙牙  

/cast穿云  

注:非大CW取消“buff:紫龙寂地”,/cast[nobuff:风虎|tbuff:致伤=2]龙牙  

------------------------------------------------------------------------------  

对应奇穴:

木桩DPS提高:5%~10%  

优化部分:  

1、取消【灭】,针对【龙胆】奇穴进行优化,加快循环步骤,同时降低对加速的要求,但是建议不超过3(含)。  

2、由于【战八方】的伤害很接近【龙牙】,所以提高施放的优先级,取消冗余语句“[tnobuff:破血|tbufftime:破血<2]战八方”;让【战八方】尽可能多的享受到【致残】效果。  

3、奇穴【龙血】改为虎贲,降低对【流血】的依赖,降低转火DPS损失;让【战八方】尽可能多的享受到【致残】效果。(非必要!)

【卡灭宏·升级】优化  

原宏:  

/cast[tnobuff:流血]破风  

/cast[buff:紫龙寂地|nobuff:风虎|tbuff:致伤=2]龙牙  

/cast龙吟  

/cast战八方  

/cast龙牙  

/cast穿云  

------------------------------------------------------------------------------  

优化后:  

/cast[tnobuff:流血]破风  

/cast[buff:紫龙寂地|tbuff:致伤=2]龙牙  

/cast[tbuff:破血<3|bufftime:风虎>2]战八方  

/cast龙牙  

/cast龙吟  

/cast战八方  

/cast穿云  

解决问题:【龙胆】【虎贲】同时触发时,可能会跳过第二行【龙牙】,导致吞“致残”。


【优化】  

原宏:  

/cast[tnobuff:流血]破风  

/cast[buff:紫龙寂地|tbuff:致伤=2]龙牙  

/cast[tbuff:破血<3|bufftime:风虎>2]战八方  

/cast龙牙  

/cast龙吟  

/cast战八方  

/cast穿云  

------------------------------------------------------------------------  

优化后:  

【大CW版】  

/cast[tnobuff:流血]破风  

/cast[tbufftime:破血>2&buff:紫龙寂地|tbuff:致伤=2|nobuff:风虎]龙牙  

/cast[distance<8]战八方  

/cast龙牙  

/cast龙吟  

/cast穿云  

注:128“字节”限制,所以这里的【战八方】只能从1~7.9尺施放,不过影响不大。  

【无大CW版】  

/cast[tnobuff:流血]破风  

/cast[tbufftime:破血>2&tbuff:致伤=2|bufftime:风虎<2]龙牙  

/cast[distance<=8]战八方  

/cast龙牙  

/cast龙吟  

/cast穿云  

优化:1、解决了需要暂时转火或者停手,【破血】buff可能会断掉,所以在转回目标第一时间判断buff时间是否足够;2、加入战八方距离判定,默认6尺,点出秘籍后8尺,根据实际情况修改。  

会写宏或者看宏的小伙伴可能会觉得楼主第一句【龙牙】语句判定是不是有问题?如果你会写或者打算自己写宏你,那么请仔仔细细阅读本层,你不会失望的!!!非常重要,这会让你在有限字符内利用率最高!!!  

剑三中的,“&”和“|”。  

按照正常的情况,是与(&)的优先级高于或(|)的。经过多方面研究和测试发现,J3自带宏的优先级是一样的,或者说是【从右到左】的!!!  

比如:  

[条件a&条件b|条件c],正常情况下,是:【条件a】与【条件b】成立,或者【条件c】单独成立则满足;而剑三翻译出来则是:【条件a】&【条件b】,或者【条件a】与【条件c】成立则满足条件!!!J3使用第一个与和后面所有的或分别组合的!  

说得直白一点,“/cast[tbufftime:破血>2&tbuff:致伤=2|bufftime:风虎<2]龙牙”语句中的条件翻译出来就是:【tbufftime:破血>2&tbuff:致伤=2】或【tbufftime:破血>2&bufftime:风虎<2]】  

而如果直接“[tbufftime:破血>2&tbuff:致伤=2|tbufftime:破血>2&bufftime:风虎<2]!”,那么会被翻译成【tbufftime:破血>2&tbuff:致伤=2】或【tbufftime:破血>2&tbufftime:破血>2&bufftime:风虎<2】;对,没有写错,后者有两个“tbufftime:破血>2”,虽然没影响。第二种写法很明显浪费了14个“字节”。  

要测试很简单,直接在宏里单独以下语句:  

/cast[tbuff:破血&tbuff:致伤=2|nobuff:风虎]穿云  

按照正常普通逻辑,只要满足【nobuff:风虎】就会打【穿云】;而实际测试你会发现打不出,必须给目标挂上【破血】,才能打出穿云。  

效果其实跟:  

/cast[tbuff:破血&tbuff:致伤=2|tbuff:破血&nobuff:风虎]穿云”  

是等价的(仅限于J3)。  

实际的例子:  

这是帖子里一个大大提到的一个宏的一部分:  

/cast[distance<8&tnobuff:破血|distance<8&tbuff:破血<3|distance<8&tbufftime:破血<2]战八方  

我的天!这一句差不多占半个宏了,然而其实这么些冗余了!  

在剑三!在剑三!在剑三!其实可以写成:  

/cast[distance<8&tnobuff:破血|tbuff:破血<3|tbufftime:破血<2]战八方  

其实就这个优先级问题,楼主在差不多2年前就已经跟客服说过了,然而到现在似乎还没有修复,不过不修复好像也是一件坏事。

如果觉得自己逻辑推理能力优的话,可以试试测试剑三宏中的以下语句:  

高级版写法:a&b|c&d  

其实翻译过来就是a&(b|(c&d))  

地狱级写法:a&b|c&d|e|f  

翻译过来就是....咳咳  

a&(b|(c&(d|e|f)))  

大白话就是:最大的前提就是a满足,不然都瞎扯淡,然后d、e、f其中一个满足,且c满足;或者b单独满足。  

画成图就是这样的:

一般用这种写法的,不是大神(逻辑紧密,想得周全,智商180以上),就别用了,越复杂的条件bug越多,一出问题基本没法改,更别说优化了,而且这一句下来就是一个宏。

【优化】  

原宏:  

/cast[tnobuff:流血]破风  

/cast[tbufftime:破血>2&tbuff:致伤=2|bufftime:风虎<2]龙牙  

/cast[distance<=8]战八方  

/cast龙牙  

/cast龙吟  

/cast穿云  

-----------------------------------------------------------------------------------  

优化后:  

/cast[tnobuff:流血]破风  

/cast[tnobuff:破血|tbufftime:破血<2|tbuff:致伤<2&tbuff:破血<3|tbuff:致残]战八方  

/cast龙牙  

/cast龙吟  

/cast战八方  

/cast穿云  

优化:在3层【破血】后,提高【龙牙】优先级;提高【战八方】施放环境,只在保证【破血】情况下尽可能多享受【致残】效果(最好使用【虎贲】和【龙胆】奇穴)。  


相关阅读:天策宏

剑网三

热点推荐

更多»
  • 剑网三名剑大会是《剑网三》游戏中最受玩家关注的活动之一。作为一款以武侠为背景的在线游戏,《剑网三》不仅有着丰富的剧情和人物设定,其玩法也是十分多样化的。而作为游戏中最受玩家欢迎的活动之一,剑网三名剑大会汇聚了众多顶尖剑客,在比武中展现自己的剑道造诣。本文将为大家详细介绍剑网三名剑大会的相关内容,包括比赛规则、奖励等重要信息。