0
JX3PVE
首页
宏库
工具
职业
副本
捏脸
广场
江湖
更多
登录
|
注册
剑网3PVE官方站(JX3PVE.COM)
›
首页
›
发布文章
发布文章
标 题:
B
I
U
HTML文件名:
.html
分页标题:
频道栏目
选择分类
焦点头条
文章来源
来源地址
发布时间
自动获取
帖子 tid
日志 id
获取楼主所有帖子
获取
跳转URL
原作者
关闭
上传图片
相册图片
网络图片
请输入图片地址
宽(可选)
高(可选)
提交
创建
取消
插入大图
|
设为封面
插入大图
|
设为封面
插入大图
|
设为封面
点击图片添加到编辑器内容中
选择相册:
选择相册
默认相册
点击图片添加到编辑器内容中
关闭
上传附件
文件名
文件大小
点击文件名将附件添加到文章中
因为最近有朋友又来问这个判定顺序的问题,以及看到一些宏写的稍有瑕疵,所以来发这个贴,首先上结论<br /> [attach]35292[/attach]<br /> 文字版结论(防抽图):<br /> <strong><font size="5"><font color="#000000">官方宏的条件判定为</font><font color="#ff0000">由右向左</font><font color="#000000">依次判定</font></font></strong><br /> <font size="1">即:</font><br /> <font size="1">A|B&C&D=A|(B&C&D)</font><br /> A&B|C&D=A&(B|(C&D))<br /> A&B&C|D=A&B&(C|D)<br /> A&B|C|D=A&(B|C|D)<br /> ....<br /> 很多人在写宏,尤其是一条很长的多条件的宏的时候会有一个误区,就是官方宏的条件判定是&优先(也有人认为是|优先的,听说过没见过),但实际上官方宏的判定机制里不论&还是|都不存在优先级,而是简单粗暴的从右向左判定,即A@B@C@D=<font size="1">A</font><font size="1">@(</font><font size="1">B</font><font size="1">@(C@D)),@可为任意的&或|。</font><br /> <font size="1">验证如下</font><br /> <font size="1">建立一个宏,条件为A&B|C&D</font><br /> <font size="1">共计4种假设</font><br /> <font size="1">1.假设&优先,则其等价于</font><font color="#000"><font face="微软雅黑, &quot;"><font size="1">(A&B)|(C&D)</font></font></font><br /> <font color="#000"><font face="微软雅黑, &quot;"><font size="1">2.假设|优先,则其等价于A&(B|C)&D</font></font></font><br /> <font color="#000"><font face="微软雅黑, &quot;"><font size="1">3.从右向左判定,则其等价于</font></font></font><font size="1">A&(B|(C&D))</font><br /> <font size="1">4.</font><font color="#000"><font size="1"><font face="微软雅黑, &quot;"><font size="1">从左向右判定,则其等价于((</font></font></font></font><font size="1">A&B)|C)&D</font><br /> 首先,令A、B不满足,C、D满足,则有结果<br /> 1.<font color="#000"><font face="微软雅黑"><font size="1">可以释放</font></font></font><br /> <font color="#000"><font style="background-color:wheat"><font face="微软雅黑"><font size="1">2.不能释放</font></font></font></font><br /> <font color="#000"><font style="background-color:wheat"><font face="微软雅黑"><font size="1">3.不能释放</font></font></font></font><br /> <font color="#000"><font face="微软雅黑"><font size="1">4.可以释放</font></font></font><br /> <font color="#000"><font face="微软雅黑"><font size="1">实测结果为不能释放,排除1、4,宏如图</font></font></font><br /> [attach]35293[/attach]<br /> (文字版防抽图)<br /> <font style="background-color:wheat">/cast [buff:撼如雷&buff:清新静气|nobuff:袖气&nobuff:般若诀] 任意技能</font><br /> 接下来对比2和3<br /> 2.<font color="#000"><font face="微软雅黑"><font size="1">A&(B|C)&D=(A&B&D)|(A&C&D)</font></font></font><br /> <font color="#000"><font face="微软雅黑"><font size="1">3.</font></font></font><font size="1">A&(B|(C&D))=(A&B)|(A&C&D)</font><br /> <font size="1">将条件修改为A、B满足,C、D不满足,则有结果</font><br /> <font size="1">2.不能释放</font><br /> <font style="background-color:wheat"><font size="1">3.可以释放</font></font><br /> <font color="#000"><font face="微软雅黑"><font size="1">实测结果为可以释放,排除2,结论为条件由右向左依次判定,宏如图</font></font></font><br /> [attach]35291[/attach]<br /> <font color="#000"><font face="微软雅黑"><font size="1">(文字版防抽图)</font></font></font><br /> <font style="background-color:wheat">/cast [nobuff:撼如雷&nobuff:清新静气|buff:袖气&buff:般若诀] 任意技能</font><br /> ※测试前把身上的清新袖气般若雷都点掉<br /> 最后在放一次结论<br /> <font face="微软雅黑"><strong><font size="5"><font color="#000000">官方宏的条件判定为</font><font color="#ff0000">由右向左</font><font color="#000000">依次判定</font></font></strong></font><br /> <br /> <br /> <br /> <br /> (以下是题外话,一种特例情况,类似的情况可能会出现在苍云宏、古老的焚影多段宏或者古老的莫问多段宏里)<br /> /cast [rage>20&bufftime:血怒<7|rage>40&bufftime:坚定<6.6] 盾飞<br /> 由前面的测试过程我们知道,在A&B|C&D的场合下,&优先和从右向左是两种完全不同的结论,但这条宏却实现了&优先的结果,这是因为:<br /> 将宏详细拆分,其结果为:<font size="1">A&B|C&D=</font><font size="1">A&(B|(C&D))=</font><font size="1">(A&B)|(A&C&D)</font><br /> <font size="1">套到该宏中,即其结果为:</font><br /> /cast [rage>20&bufftime:血怒<7] 盾飞<br /> /cast [rage>20&rage>40&bufftime:坚定<6.6] 盾飞<br /> 此时,条件C[rage>40]覆盖了条件A[rage>20],即条件A在这里变成了无作用条件,于是化简后为<br /> /cast [rage>20&bufftime:血怒<7] 盾飞<br /> /cast [rage>40&bufftime:坚定<6.6] 盾飞<br /> 实现了<font color="#000"><font face="微软雅黑"><font size="1">(A&B)|(C&D)的效果</font></font></font><br /> <font color="#000"><font face="微软雅黑"><font size="1">类似的,这种以高级条件覆盖低级条件实现&优先的方法(因为从右向左很难用一条语句判定完</font></font></font><font color="#000"><font face="微软雅黑"><font size="1">(A&B)|(C&D)</font></font></font><font color="#000"><font face="微软雅黑"><font size="1">)可以应用于能量值(rage、energy、qidian、life、mana)上,还可以用于buff持续时间上(bufftime),这些需要大家自己去进行开发。</font></font></font><br />
摘要
因为最近有朋友又来问这个判定顺序的问题,以及看到一些宏写的稍有瑕疵,所以来发这个贴,首先上结论 文字版结论(防抽图): 官方宏的条件判定为由右向左依次判定 即: A|BCD=A|(BCD) AB|CD=A(B|(CD)) ABC|D=AB(C| ...
聚合标签
原创
热点
组图
爆料
头条
幻灯
滚动
推荐
添加相关文章
选择
提交
显示分页导航
您当前使用的浏览器版本过低,网站部分功能可能失效,请更换合适的浏览器。
了解更多
返回顶部