会写宏或者看宏的小伙伴可能会觉得楼主第一句【龙牙】语句判定是不是有问题?如果你会写或者打算自己写宏你,那么请仔仔细细阅读本层,你不会失望的!!!非常重要,这会让你在有限字符内利用率最高!!!
剑三中的,“&”和“|”。
按照正常的情况,是与(&)的优先级高于或(|)的。经过多方面研究和测试发现,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年前就已经跟客服说过了,然而到现在似乎还没有修复,不过不修复好像也是一件坏事。
欢迎来到《剑网三》百战攻略!在这款热门游戏中,百战是一种重要的战斗模式,让玩家们能够在激烈的战斗中展现自己的实力和技能。如果您正在寻找百战的攻略和技巧,那么您来对地方了。本文将详细介绍百战的特点、游戏规则以及如何在战斗中取得胜利。让我们一起开始这段刀光剑影的冒险之旅吧!