画蛇添足 单句宏里的多条件判断
玄甲苍云吧
全部回复
仅看楼主
level 11
赏风奏乐 楼主
[冷]周末哎了。。
2017年12月09日 13点12分 1
level 11
赏风奏乐 楼主
今天看到的一段宏
/cast 盾压
/cast [rage>30&tnobuff:流血&bufftime:寒甲>3] 盾飞
/cast [rage>30&tbufftime:流血<7&bufftime:寒甲>3] 盾飞
/cast 盾刀
/cast [rage>99] 盾挡
中间的两句
/cast [rage>30&tnobuff:流血&bufftime:寒甲>3] 盾飞
/cast [rage>30&tbufftime:流血<7&bufftime:寒甲>3] 盾飞
其实是可以合起来的变为一句:
/cast [rage>30&bufftime:寒甲>3&tnobuff:流血|tbufftime:流血<7] 盾飞
他原来是这样写的
cast [rage>30 &tnobuff:流血|tbufftime:流血<7&bufftime:寒甲>3] 盾飞
因为效果达不到,有时出现没buff寒甲也盾飞的情况,所以才分两句写的
[咦]宏里的多条件与或运算 条件位置顺序不同结果千差万别
cast [rage>30 &tnobuff:流血|tbufftime:流血<7&bufftime:寒甲>3] 盾飞
相当于
cast [rage>30 &tnobuff:流血] 盾飞
cast [rage>30 &tbufftime:流血<7&bufftime:寒甲>3] 盾飞
这两句的效果,第一句解析可以看到仅满足rage>30 &tnobuff:流血没寒甲也能盾飞
重开贴子想重新写个多条件判断的分析,[乖]
2017年12月09日 13点12分 2
level 11
赏风奏乐 楼主
例1: /cast [A&B|C] 技能
A&B|C 等价于A&B 、 A&C的叠加
/cast [rage>29 &tbufftime:流血<5|tnobuff:流血] 盾飞
等价于:
/cast [rage>29& tbufftime:流血<5] 盾飞
/cast [rage>29&tnobuff:流血] 盾飞
两句话的效果
例2: /cast [A|B&C] 技能
A|B&C 等价于 A 、 B&C的叠加
/cast [rage>29 |tbufftime:流血<5&tnobuff:流血] 盾飞
等价于:
/cast [rage>29] 盾飞
/cast [tbufftime:流血<5&tnobuff:流血] 盾飞
两句话的效果
2017年12月09日 13点12分 3
level 11
赏风奏乐 楼主
例3: /cast [A&B&C|D] 技能
A&B&C|D 等价于 A&B&C、 A&B&D的叠加
/cast [rage>29&buff:寒甲&tbufftime:流血<5|tnobuff:流血] 盾飞
等价于:
/cast [rage>29&buff:寒甲& tbufftime:流血<5] 盾飞
/cast [rage>29&buff:寒甲&tnobuff:流血] 盾飞
两句话的效果
例4: /cast [A&B|C&D] 技能
A&B|C&D 等价于A&B 、 A&C&D的叠加
/cast [rage>29 &tbufftime:流血<5|tnobuff:流血&buff:寒甲] 盾飞
等价于:
/cast [rage>29 & tbufftime:流血<5] 盾飞
/cast [rage>29 & tnobuff:流血&buff:寒甲] 盾飞
两句话的效果
再多写个
/cast [rage>14&tbufftime:流血<2|bufftime:盾挡<6&rage>29] 盾飞
相当于:
/cast [rage>14&tbufftime:流血<2] 盾飞(救流血)
/cast [rage>14& bufftime:盾挡<6&rage>29] 盾飞
rage>29 肯定>15,即:
/cast [rage>14&tbufftime:流血<2] 盾飞(救流血)
/cast [rage>29& bufftime:盾挡<6] 盾飞(盾挡buff下刷新高效流血)
这两句话的效果
A&B|C&D结构特别特别要小心
例5: /cast [A&B|C|D] 技能
A&B|C|D 等价于A&B 、 A&C 、 A&D的叠加
/cast [rage>29 &tbufftime:流血<5|tnobuff:流血|buff:盾挡] 盾飞
等价于:
/cast [rage>29 & tbufftime:流血<5] 盾飞
/cast [rage>29 & tnobuff:流血] 盾飞
/cast [rage>29 &buff:盾挡] 盾飞
三句话的效果
2017年12月09日 13点12分 4
level 11
赏风奏乐 楼主
五条件的也是像上面的例子对照着来
2017年12月09日 13点12分 5
level 11
赏风奏乐 楼主
再多的条件与或判断也是能解析的,写下判断过程
多条件判断句的结构判断:
左边单一条件和右边多条件判断的结果进行与或运算
表述为:左边单一条件的真假 与或运算符号 右边的多条件判断语句的结果的真假
A&B|C&D 的判断为
A的真假 & (B|C&D)的真假
这个是&运算需要两边都是真:
1、 A为假时A&B|C&D都不成立;
2、 A为真时,再看右边多条件判断的真假
而右边多条件判断 (B|C&D)写成
B的真假 | (C&D)的真假
是或预算,只要两边B为真 或者 C&D为真
综合来看 需要A为真且B为真 或者 A为真且C&D为真时候,A&B|C&D成立
即A&B|C&D 等价于(A&B)| (A&C&D) 。
宏语句
/cast [A&B|C&D] 技能
一句相当于
/cast [A&B] 技能
/cast [A&C&D] 技能
两句的效果
2017年12月09日 13点12分 6
level 11
赏风奏乐 楼主
我习惯用括号来划分,括号从右往左添加
再通过交换【 X&(Y|Z) =(X&Y)|(X&Z) ,X&(Y&Z)= X&Y&Z,X|(Y|Z)=X|Y|Z】从内到外来解析
四条件
/cast [A&B|C&D] 技能 :
A&(B|(C&D))
= (A&B)|(A&(C&D))
= (A&B)|(A&C&D)
结果为 A&B 、 A&C&D 的条件叠加
五条件
/cast [A|B&C|D&E] 技能
A|(B&(C|(D&E)))
= A|((B&C)|( B&(D&E)))
= A|((B&C)|( B&D&E))
= A| (B&C)|( B&D&E)
结果为 A 、B&C、 (B&D&E) 的条件叠加
宏语句
/cast [A|B&C|D&E] 技能
一句相当于
/cast [A] 技能
/cast [B&C] 技能
/cast [B&D&E] 技能
三句的效果
2017年12月09日 13点12分 9
level 11
赏风奏乐 楼主
我在百里的宏里见过6条件判断的,下面解析
例6:
/cast [bufftime:从容<15|tbuff:流血&nobuff:从容|rage<56&tbuff:流血<3&bufftime:弃容<6] 盾回
表述为 : /cast [A|B&C|D&E&F] 技能
A为rage<56
B为tbuff:流血
C为nobuff:从容
D为rage<56
E为tbuff:流血<3
F 为bufftime:弃容<6
A|(B&(C|(D&(E&F))))
= A|(B&(C|(D&E&F)))
= A|( (B&C)|(B& (D&E&F) ))
= A|( (B&C)|(B&D&E&F ))
= A| (B&C)|(B&D&E&F )
即A|B&C|D&E&F 等价于 A、B&C、B&D&E&F的叠加
结果为
/cast [bufftime:从容<15] 盾回
/cast [tbuff:流血&nobuff:从容] 盾回
/cast [tbuff:流血&rage<56&&tbuff:流血<3&bufftime:弃容<6] 盾回
三句的效果
2017年12月09日 13点12分 10
level 7
楼主单刷流血t的宏应该怎么写,有必要打闪刀吗
2017年12月09日 13点12分 11
我一直打闪刀,有些人快速叠从容或者看寒甲或者看流血层数这些条件打闪刀
2017年12月09日 13点12分
level 11
赏风奏乐 楼主
改了很多次了,复杂的多条件判断宏虽然节省字节,但要是条件顺序与或位置写错很容易错乱
你可以对照上面的表和例子自己解析出各个宏语句, 看看各个宏语句放技能的情况是不是都
正确的

也可以对照表逆向压缩精简自己的宏语句,多变一
2017年12月09日 13点12分 13
level 14
看完下来我就一个表情,两眼四顾心茫然[不高兴]
2017年12月10日 07点12分 15
level 10
DD,,,我就是楼主说的那个[泪]
2017年12月10日 07点12分 16
level 6
马一个
2017年12月11日 03点12分 17
level 6
我了个...**我盾飞哪去了
2017年12月11日 23点12分 19
1