玩手机游戏就上民玩手游网 全球最专业手游媒体门户网站!

游戏更新 | 安卓游戏 | 苹果游戏 | 推荐游戏 | 软件更新 | 文章更新 | 热门文章 | 推荐文章

魔兽世界宏命令怎么做 7.1宏命令制作教程[图]

时间:2021-04-09 06:53:56    编辑:

魔兽世界宏命令怎么做?相信许多玩家都用过宏命令,但是宏命令是怎么制作的呢?近日有大神分享了7.1版本的宏命令制作教程,感兴趣的玩家快来看看吧!

魔兽世界宏命令怎么做 7.1宏命令制作教程[图]图片1

术语

判断表达式,判断式(Option Set):由若干判断项组成,封闭在方括号[]中的真值表达式。继承自安全模板,能在受保护环境下允许运作的唯一判断形式。

一,写宏的基本法则

宏最主要的应用是带有判断的施法,这也是下文主要应用的模型。一个典型的这种宏可以抽象成以下形式:

Code(c):

/cast [表达式1-1][表达式1-2]技能1;[表达式2]技能2;技能3

--宏的模型

[项1,项2,项3, ...]

--表达式的模型

--注:表达式中定义单位target=或@不是一种判断条件,但它重新指定了后续所有涉及目标的判断和最终技能施放的对象。比如指定了@mouseover后,后续的help/exists/dead之类的判断都会基于鼠标悬停的单位。

在这个模型下,讨论:

1. 逻辑及判断顺序(法则一,!极为重要)

涉及判断就有真值,但是不要被这个带有浓重编程和数学色彩的词吓倒。概括来说就两句话:

<1>方括号内各分项之间是AND的关系,用逗号间隔,只有各个分项都为真整个方括号(表达式)才为真。方括号内各项之间没有顺序要求。

<2>各个方括号之间是OR的关系,判断顺序是从左至右,遇到第一个方括号为真时即结束判断,而忽略其后的所有项目。

大部分宏出错/不能用/判断混乱的原因就是在此。写宏的时候必须把条件强的(或者说优先级高的)判断放到前面,弱的(泛用型的)判断放到后面。举个例子,昨天回答了问答区一个人的提问,他的宏

Code(c):

1:#showtooltip

2:/cast [nomod,spec:2]炼狱冲击;[nomod,target=mouseover,exists,harm,spec:2]炼狱冲击

无法对鼠标悬停目标放。究其原因就是,[nomod,spec:2]这一个表达式弱于后者[nomod,target=mouseover,exists,harm,spec:2],后者不仅需要无修饰键和第二专精,同时需要存在一个可攻击的鼠标悬停目标才会为真,导致了后者为真时前者一定为真。按照上文的<2>,从左至右的顺序将永远是前者表达式率先为真,因而无法对悬停目标施放炼狱冲击。修改的方法很简单,把两个判断调换位置即可:

玩家评论