最近更新
手機(jī)版
手機(jī)版

掃描查看手機(jī)站

當(dāng)前位置:973游戲網(wǎng) > 手游頻道 >  游戲雜談 > 魔獸世界7.1常用宏一覽 職業(yè)宏傻瓜教程
魔獸世界7.1常用宏一覽 職業(yè)宏傻瓜教程

更新時(shí)間:2016-11-17 14:16

作者:匿名

魔獸世界7.1宏命令怎么寫用做?宏命令寫用做設(shè)置教程大全魔獸世界宏命令教程大全。一起來看看如何寫一個(gè)適合自己的宏吧~


術(shù)語

判斷表達(dá)式,判斷式(Option Set):由若干判斷項(xiàng)組成,封閉在方括號(hào)[]中的真值表達(dá)式。繼承自安全模板,能在受保護(hù)環(huán)境下允許運(yùn)作的唯一判斷形式。

一,寫宏的基本法則

宏最主要的應(yīng)用是帶有判斷的施法,這也是下文主要應(yīng)用的模型。一個(gè)典型的這種宏可以抽象成以下形式:

Code(c):

/cast [表達(dá)式1-1][表達(dá)式1-2]技能1;[表達(dá)式2]技能2;技能3

--宏的模型

[項(xiàng)1,項(xiàng)2,項(xiàng)3, ...]

--表達(dá)式的模型

--注:表達(dá)式中定義單位target=或@不是一種判斷條件,但它重新指定了后續(xù)所有涉及目標(biāo)的判斷和最終技能施放的對(duì)象。比如指定了@mouseover后,后續(xù)的help/exists/dead之類的判斷都會(huì)基于鼠標(biāo)懸停的單位。

在這個(gè)模型下,討論:

1. 邏輯及判斷順序(法則一,!極為重要)

涉及判斷就有真值,但是不要被這個(gè)帶有濃重編程和數(shù)學(xué)色彩的詞嚇倒。概括來說就兩句話:

<1>方括號(hào)內(nèi)各分項(xiàng)之間是AND的關(guān)系,用逗號(hào)間隔,只有各個(gè)分項(xiàng)都為真整個(gè)方括號(hào)(表達(dá)式)才為真。方括號(hào)內(nèi)各項(xiàng)之間沒有順序要求。

<2>各個(gè)方括號(hào)之間是OR的關(guān)系,判斷順序是從左至右,遇到第一個(gè)方括號(hào)為真時(shí)即結(jié)束判斷,而忽略其后的所有項(xiàng)目。

大部分宏出錯(cuò)/不能用/判斷混亂的原因就是在此。寫宏的時(shí)候必須把條件強(qiáng)的(或者說優(yōu)先級(jí)高的)判斷放到前面,弱的(泛用型的)判斷放到后面。舉個(gè)例子,昨天回答了問答區(qū)一個(gè)人的提問,他的宏

Code(c):

1:#showtooltip

2:/cast [nomod,spec:2]煉獄沖擊;[nomod,target=mouseover,exists,harm,spec:2]煉獄沖擊

無法對(duì)鼠標(biāo)懸停目標(biāo)放。究其原因就是,[nomod,spec:2]這一個(gè)表達(dá)式弱于后者[nomod,target=mouseover,exists,harm,spec:2],后者不僅需要無修飾鍵和第二專精,同時(shí)需要存在一個(gè)可攻擊的鼠標(biāo)懸停目標(biāo)才會(huì)為真,導(dǎo)致了后者為真時(shí)前者一定為真。按照上文的<2>,從左至右的順序?qū)⒂肋h(yuǎn)是前者表達(dá)式率先為真,因而無法對(duì)懸停目標(biāo)施放煉獄沖擊。修改的方法很簡(jiǎn)單,把兩個(gè)判斷調(diào)換位置即可:

Code(c):

1:#showtooltip

2:/cast [nomod,target=mouseover,exists,harm,spec:2]煉獄沖擊;[nomod,spec:2]煉獄沖擊

3:--修改后的宏

當(dāng)然我在回答中還給出了優(yōu)化方案,后文會(huì)詳細(xì)介紹如何優(yōu)化。

2. 技能整合(法則二)

對(duì)于把多個(gè)技能整合進(jìn)一個(gè)/cast命令里,在不同的條件下自動(dòng)判斷施放不同的技能,只有一條格式法則:不同技能之間用分號(hào);間隔。具體可以參照本章開頭提出的宏模型。

要注意,一個(gè)/cast任何情況下至多只能施放一個(gè)技能,而且各個(gè)方括號(hào)之間仍舊遵循上文提出的<2>判斷順序法則。

3. 技能堆疊(法則三)

如果要做到一鍵同時(shí)放出兩個(gè)或更多的技能,必須有多行/cast命令,這就是技能堆疊。這種宏通常用于爆發(fā)技能,喝藥開飾品開技能需要同時(shí)完成。

其法則是:至多只能擁有一個(gè)產(chǎn)生/受到GCD影響的技能,幸運(yùn)的是爆發(fā)類技能和藥水等物品幾乎都設(shè)計(jì)成不占用GCD。

Code(c):

1:#showtooltip

2:/cast 奧術(shù)強(qiáng)化

3:/use 13

4:/use 14

這樣的宏是可行的,因?yàn)轱椘泛蚚奧術(shù)強(qiáng)化]本身并不產(chǎn)生GCD,甚至再加兩行

Code(c):

/cast 氣定神閑

/cast 奧術(shù)沖擊

也是合法的。但是,形如以下的宏是非法的:

Code(c):

1:#showtooltip

2:/cast 驅(qū)邪術(shù)

3:/cast 審判

4:/cast 十字軍打擊

因?yàn)槿叨籍a(chǎn)生GCD和/或被GCD影響,最終的效果是只相當(dāng)于第一行[驅(qū)邪]有用。不要妄圖這種方法能實(shí)現(xiàn)按優(yōu)先級(jí)施放技能。

4. 技能替代(法則四)

技能替代是一個(gè)十分有意思的機(jī)制,自CTM引進(jìn)。這種機(jī)制允許某[基礎(chǔ)技能]在特殊情況下被另一個(gè)[替代技能]替代,而即便在替代的情況下,通過宏命令施放[基礎(chǔ)技能]時(shí)會(huì)自動(dòng)定向到[替代技能],其最終的結(jié)果是正常施放[替代技能],宏的圖標(biāo)也會(huì)隨之變化。

這種機(jī)制有兩種情況:

1)單向的替代,/cast [替代技能]不會(huì)施放出基礎(chǔ)技能,但是/cast [基礎(chǔ)技能]是任何情況下通用的。

舉例:神牧的[圣言術(shù):罰]在黃輪和藍(lán)輪下轉(zhuǎn)換成[靜]和[佑],只要宏

Code(c):

1:#showtooltip

2:/cast 圣言術(shù):罰

就能自動(dòng)根據(jù)輪的顏色轉(zhuǎn)換技能,但因?yàn)檫@是[罰]被單向地替代,反過來如果宏里寫[靜]或[佑],在紅輪下就會(huì)放不出技能。

2)雙向的等價(jià),[基礎(chǔ)技能]和[替代技能]是完全等價(jià)的,就如同一個(gè)技能,任何情況下用宏施放任意一個(gè)技能的結(jié)果都是放出當(dāng)前激活的那一個(gè)。比如[腐蝕術(shù)]和[獻(xiàn)祭]兩者,SS玩家可以分別在不同天賦下試試。

這種機(jī)制對(duì)于寫宏非常有利,我們不需要為了技能被替換而另開一個(gè)宏。更深入的一點(diǎn),以下兩個(gè)技能需要重點(diǎn)提及:

Code(c):

1:#showtooltip

2:/cast 秘法炸彈

3:--這個(gè)技能對(duì)應(yīng)法師75級(jí)天賦中的[虛空風(fēng)暴],[寒冰炸彈]和[活動(dòng)炸彈]。[秘法炸彈]被單向替代。

Code(c):

1:#showtooltip

2:/cast 神圣爆發(fā)

3:--這個(gè)技能對(duì)應(yīng)牧師90級(jí)天賦,也是單向替代。

如果其他職業(yè)也有類似的天賦基礎(chǔ)技能,請(qǐng)歡迎補(bǔ)充。

二,寫宏的靈魂:邏輯和優(yōu)先級(jí)

筆者和自己圈子里的很多人說過,寫宏其實(shí)和編程沒多大關(guān)系,需要的是一點(diǎn)數(shù)學(xué)的邏輯思維。尤其是那些技能整合宏,對(duì)在各種判斷條件下到底哪一個(gè)技能才是優(yōu)先的必須心里有譜。實(shí)際上這是上文中法則一之<2>的推演,本質(zhì)上仍舊是按照越優(yōu)先越靠前的方式排列整個(gè)技能和判斷序列。正因如此,上文法則一才是宏最最重要的法則,而優(yōu)先級(jí)正是寫宏的靈魂。

Code(c):

1:#showtooltip

2:/cast [help,dead][mod:shift,help][mod:shift,@player]Soulstone;[mod]Soul Link;Unending Resolve

3:/targetlasttarget [help,dead]

4:--比如這個(gè)術(shù)士宏,它的邏輯等價(jià)于:

5:--如果[目標(biāo)死亡且可協(xié)助]或[按住shift并且目標(biāo)可協(xié)助]或[其他按住shift的情況下對(duì)自己]施放[靈魂石]

6:--否則,如果[有按下其他任何修飾鍵]則施放靈魂鏈接

7:--否則任何其他情況下放盾墻

8:--此外,如果[目標(biāo)死亡且可協(xié)助]還會(huì)順帶切換回之前的目標(biāo),目的是戰(zhàn)復(fù)后目標(biāo)切回怪身上

有人可能會(huì)問,[help,dead][mod:shift,help][mod:shift,@player]這一串看不懂,為什么先來個(gè)shift修飾后面又來一個(gè),這里就涉及到優(yōu)先級(jí)的問題了。

首先[help,dead]指定了[目標(biāo)死亡且可協(xié)助]的情況,它是優(yōu)先級(jí)最高的,只要滿足這兩個(gè)條件,其他任何條件不管滿足不滿足都會(huì)戰(zhàn)復(fù)目標(biāo)。

其次,[mod:shift,help]這一判斷代表[按住shift并且目標(biāo)可協(xié)助],但是它還有個(gè)隱藏條件。因?yàn)橐袛嗟竭@一層,首先必須前者[help,dead]為假,也就是當(dāng)[目標(biāo)不可協(xié)助或者目標(biāo)不死]的情況。所以其實(shí)這個(gè)判斷應(yīng)該是[(目標(biāo)不可協(xié)助或者目標(biāo)不死)并且按住shift并且目標(biāo)可協(xié)助],由于不可協(xié)助和可協(xié)助互斥,所以實(shí)際判斷的真值應(yīng)該是[目標(biāo)不死并且按住shift并且目標(biāo)可協(xié)助],滿足這個(gè)條件,對(duì)目標(biāo)放靈魂石。

再次,[mod:shift,@player],這里只用了一個(gè)判斷即shift修飾,上文說過@player不是判斷條件。但因?yàn)榍耙粋€(gè)判斷已經(jīng)有一種按下shift的情況被取走了,那么這里的判斷表示[其他按住shift的情況下對(duì)自己]施放靈魂石。

然后,[mod]是個(gè)廣義的修飾鍵判斷,當(dāng)alt/shift/ctrl中任何一個(gè)或多個(gè)被按下是都為true。當(dāng)然shift在前面的判斷中被取走,那么這里表示的是[按下alt/ctrl中任何一個(gè)或兩個(gè)],他等同于[有按下其他任何修飾鍵]則施放靈魂鏈接。

最后,無盡決心沒有任何判斷,它是恒真的。也就是在其他任何條件下都會(huì)施放無盡決心。

上面這個(gè)例子有些復(fù)雜,下面會(huì)通過一個(gè)相對(duì)簡(jiǎn)單的實(shí)例來闡述如何運(yùn)用這種模式寫宏。

法師法術(shù)反制及焦點(diǎn)反制/懸停解詛咒整合宏

要求是:焦點(diǎn)可攻擊按住任何修飾鍵都是焦點(diǎn)反制,不按修飾鍵且敵對(duì)目標(biāo)是對(duì)目標(biāo)反制,鼠標(biāo)懸停到友善目標(biāo)是解詛咒,目標(biāo)是友善目標(biāo)是解詛咒,默認(rèn)狀況下是對(duì)目標(biāo)的反制。

首先就是厘清優(yōu)先級(jí)。

*筆者個(gè)人的習(xí)慣是修飾鍵優(yōu)先級(jí)比懸停高,也就是按了修飾鍵應(yīng)該嘗試對(duì)焦點(diǎn)放而不是對(duì)懸停解詛咒;而同時(shí)懸停的優(yōu)先級(jí)應(yīng)該比目標(biāo)的優(yōu)先級(jí)高。這個(gè)優(yōu)先級(jí)可以根據(jù)自身需要調(diào)整。

那么整理之后的優(yōu)先級(jí)就是:

第一優(yōu)先級(jí):焦點(diǎn)反制敵對(duì)目標(biāo),判斷式[mod,@focus,exists,harm]

第二優(yōu)先級(jí):懸停解可協(xié)助目標(biāo)詛咒,判斷式[@mouseover,exists,help]

第三優(yōu)先級(jí):對(duì)友善目標(biāo)解詛咒,判斷式[help]

第四優(yōu)先級(jí):敵對(duì)目標(biāo)反制,判斷式[harm]

第五優(yōu)先級(jí):反制,無判斷式(恒真)

*要注意,harm和help有關(guān)系,但并不是help=noharm或者h(yuǎn)arm=nohelp。harm代表目標(biāo)可攻擊,help代表目標(biāo)可協(xié)助(能給他加血上buff等),此外還有一種既不能攻擊也不能協(xié)助的狀態(tài),稱為"被動(dòng)(Passive)"。

現(xiàn)在可以直接寫出宏了,那就是:

Code(c):

1:#showtooltip

2:/cast [mod,@focus,exists,harm]法術(shù)反制;[@mouseover,exists,help][help]解除詛咒;[harm]法術(shù)反制;法術(shù)反制

3:--第一行的#showtooltip不是命令行,它的作用是能在鼠標(biāo)提示上顯示技能的有關(guān)信息

這個(gè)宏運(yùn)作起來是符合要求的,但是可以繼續(xù)優(yōu)化。從邏輯上而言,第四與第五優(yōu)先級(jí)可以合并,而且exists沒必要與harm和help連用。因此最終的宏是:

Code(c):

1:#showtooltip

2:/cast [mod,@focus,harm]法術(shù)反制;[@mouseover,help][help]解除詛咒;法術(shù)反制

相關(guān)資訊

CopyRight?2007-2021 www.businessfreeagent.com All Right Reserved 晉ICP備2023022329號(hào)-1

溫馨提示:抵制不良游戲 拒絕盜版游戲 注意自我保護(hù) 謹(jǐn)防受騙上當(dāng) 適度游戲益腦 沉迷游戲傷身 合理安排時(shí)間 享受健康生活
游戲作品版權(quán)歸原作者享有,如無意之中侵犯了您的版權(quán),請(qǐng)您來信告知( 聯(lián)系郵箱:lqqsgduw132@163.com),本網(wǎng)站將應(yīng)您的要求刪除。