当前位置:首页>攻略>魔兽世界宏命令怎么做 7.1宏命令制作教程[图]

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

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

魔兽世界宏命令怎么做 7.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>,从左至右的顺序将永远是前者表达式率先为真,因而无法对悬停目标施放炼狱冲击。修改的方法很简单,把两个判断调换位置即可:

Code(c):

1:#showtooltip

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

3:--修改后的宏

当然我在回答中还给出了优化方案,后文会详细介绍如何优化。

2. 技能整合(法则二)

对于把多个技能整合进一个/cast命令里,在不同的条件下自动判断施放不同的技能,只有一条格式法则:不同技能之间用分号;间隔。具体可以参照本章开头提出的宏模型。

要注意,一个/cast任何情况下至多只能施放一个技能,而且各个方括号之间仍旧遵循上文提出的<2>判断顺序法则。

3. 技能堆叠(法则三)

如果要做到一键同时放出两个或

声明:领域圈所有文章,如无特殊说明或标注,均来自于互联网或为领域圈用户原创发布。任何个人或组织,在未征得原作者同意时,禁止复制、盗用、采集、发布领域圈内容到任何网站、书籍等各类媒体平台。如若领域圈内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA赏
共{{data.count}}人
人已赏
攻略

《鬼吹灯3D》手游快速挣钱技巧 钞票获取途径[多图]

2023-3-6 16:01:36

攻略

吞食天地2隐藏物品地详解 隐藏物品全位置[多图]

2023-3-6 16:01:38

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
有新私信 私信列表
搜索