如何製作魔獸的宏
『壹』 魔獸世界跟NPC互動的宏怎麼做
1、首先需要做一個選中目標的宏。按Esc鍵,打開主菜單,選擇「宏命令設置」。
『貳』 魔獸世界裡面的宏該怎麼寫
判斷表達式,判斷式(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. 技能堆疊(法則三)
如果要做到一鍵同時放出兩個或更多的技能,必須有多行/cast命令,這就是技能堆疊。這種宏通常用於爆發技能,喝葯開飾品開技能需要同時完成。
其法則是:至多隻能擁有一個產生/受到GCD影響的技能,幸運的是爆發類技能和葯水等物品幾乎都設計成不佔用GCD。
Code(c):
1:#showtooltip
2:/cast 奧術強化
3:/use 13
4:/use 14
這樣的宏是可行的,因為飾品和[奧術強化]本身並不產生GCD,甚至再加兩行
Code(c):
/cast 氣定神閑
/cast 奧術沖擊
也是合法的。但是,形如以下的宏是非法的:
Code(c):
1:#showtooltip
2:/cast 驅邪術
3:/cast 審判
4:/cast 十字軍打擊
因為三者都產生GCD和/或被GCD影響,最終的效果是只相當於第一行[驅邪]有用。不要妄圖這種方法能實現按優先順序施放技能。
4. 技能替代(法則四)
技能替代是一個十分有意思的機制,自CTM引進。這種機制允許某[基礎技能]在特殊情況下被另一個[替代技能]替代,而即便在替代的情況下,通過宏命令施放[基礎技能]時會自動定向到[替代技能],其最終的結果是正常施放[替代技能],宏的圖標也會隨之變化。
這種機制有兩種情況:
1)單向的替代,/cast [替代技能]不會施放出基礎技能,但是/cast [基礎技能]是任何情況下通用的。
舉例:神牧的[聖言術:罰]在黃輪和藍輪下轉換成[靜]和[佑],只要宏
Code(c):
1:#showtooltip
2:/cast 聖言術:罰
就能自動根據輪的顏色轉換技能,但因為這是[罰]被單向地替代,反過來如果宏里寫[靜]或[佑],在紅輪下就會放不出技能。
2)雙向的等價,[基礎技能]和[替代技能]是完全等價的,就如同一個技能,任何情況下用宏施放任意一個技能的結果都是放出當前激活的那一個。比如[腐蝕術]和[獻祭]兩者,SS玩家可以分別在不同天賦下試試。
這種機制對於寫宏非常有利,我們不需要為了技能被替換而另開一個宏。更深入的一點,以下兩個技能需要重點提及:
Code(c):
1:#showtooltip
2:/cast 秘法炸彈
3:--這個技能對應法師75級天賦中的[虛空風暴],[寒冰炸彈]和[活動炸彈]。[秘法炸彈]被單向替代。
Code(c):
1:#showtooltip
2:/cast 神聖爆發
3:--這個技能對應牧師90級天賦,也是單向替代。
如果其他職業也有類似的天賦基礎技能,請歡迎補充。
二,寫宏的靈魂:邏輯和優先順序
筆者和自己圈子裡的很多人說過,寫宏其實和編程沒多大關系,需要的是一點數學的邏輯思維。尤其是那些技能整合宏,對在各種判斷條件下到底哪一個技能才是優先的必須心裡有譜。
實際上這是上文中法則一之<2>的推演,本質上仍舊是按照越優先越靠前的方式排列整個技能和判斷序列。正因如此,上文法則一才是宏最最重要的法則,而優先順序正是寫宏的靈魂。
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:--比如這個術士宏,它的邏輯等價於:
5:--如果[目標死亡且可協助]或[按住shift並且目標可協助]或[其他按住shift的情況下對自己]施放[靈魂石]
6:--否則,如果[有按下其他任何修飾鍵]則施放靈魂鏈接
7:--否則任何其他情況下放盾牆
8:--此外,如果[目標死亡且可協助]還會順帶切換回之前的目標,目的是戰復後目標切回怪身上
有人可能會問,[help,dead][mod:shift,help][mod:shift,@player]這一串看不懂,為什麼先來個shift修飾後面又來一個,這里就涉及到優先順序的問題了。
首先[help,dead]指定了[目標死亡且可協助]的情況,它是優先順序最高的,只要滿足這兩個條件,其他任何條件不管滿足不滿足都會戰復目標。
其次,[mod:shift,help]這一判斷代表[按住shift並且目標可協助],但是它還有個隱藏條件。因為要判斷到這一層,首先必須前者[help,dead]為假,也就是當[目標不可協助或者目標不死]的情況。
所以其實這個判斷應該是[(目標不可協助或者目標不死)並且按住shift並且目標可協助],由於不可協助和可協助互斥,所以實際判斷的真值應該是[目標不死並且按住shift並且目標可協助],滿足這個條件,對目標放靈魂石。
再次,[mod:shift,@player],這里只用了一個判斷即shift修飾,上文說過@player不是判斷條件。但因為前一個判斷已經有一種按下shift的情況被取走了,那麼這里的判斷表示[其他按住shift的情況下對自己]施放靈魂石。
然後,[mod]是個廣義的修飾鍵判斷,當alt/shift/ctrl中任何一個或多個被按下是都為true。當然shift在前面的判斷中被取走,那麼這里表示的是[按下alt/ctrl中任何一個或兩個],他等同於[有按下其他任何修飾鍵]則施放靈魂鏈接。
最後,無盡決心沒有任何判斷,它是恆真的。也就是在其他任何條件下都會施放無盡決心。
上面這個例子有些復雜,下面會通過一個相對簡單的實例來闡述如何運用這種模式寫宏。
法師法術反制及焦點反制/懸停解詛咒整合宏
要求是:焦點可攻擊按住任何修飾鍵都是焦點反制,不按修飾鍵且敵對目標是對目標反制,滑鼠懸停到友善目標是解詛咒,目標是友善目標是解詛咒,默認狀況下是對目標的反制。
首先就是釐清優先順序。
那麼整理之後的優先順序就是:
第一優先順序:焦點反制敵對目標,判斷式[mod,@focus,exists,harm]
第二優先順序:懸停解可協助目標詛咒,判斷式[@mouseover,exists,help]
第三優先順序:對友善目標解詛咒,判斷式[help]
第四優先順序:敵對目標反制,判斷式[harm]
第五優先順序:反制,無判斷式(恆真)
*要注意,harm和help有關系,但並不是help=noharm或者harm=nohelp。harm代表目標可攻擊,help代表目標可協助(能給他加血上buff等),此外還有一種既不能攻擊也不能協助的狀態,稱為"被動(Passive)"。
現在可以直接寫出宏了,那就是:
Code(c):
1:#showtooltip
2:/cast [mod,@focus,exists,harm]法術反制;[@mouseover,exists,help][help]解除詛咒;[harm]法術反制;法術反制
3:--第一行的#showtooltip不是命令行,它的作用是能在滑鼠提示上顯示技能的有關信息
這個宏運作起來是符合要求的,但是可以繼續優化。從邏輯上而言,第四與第五優先順序可以合並,而且exists沒必要與harm和help連用。因此最終的宏是:
Code(c):
1:#showtooltip
2:/cast [mod,@focus,harm]法術反制;[@mouseover,help][help]解除詛咒;法術反制
(2)如何製作魔獸的宏擴展閱讀:
常用宏模板:
1.治療/傷害技能混合宏,附帶指向施法,或者用於解buff和攻擊性技能組合:
Code(c):
1:#showtooltip
2:/cast [@mouseover,help]治療技能;[harm]攻擊技能;治療技能
2. 治療指向宏,無指向對目標:
Code(c):
1:#showtooltip
2:/cast [@mouseover,help][]治療技能
3. 經典的修飾鍵整合宏:
Code(c):
1:#showtooltip
2:/cast [mod]技能1;技能2
或者更多的技能:
Code(c):
1:#showtooltip
2:/cast [mod:shift]技能1;[mod:ctrl]技能2;[mod]技能3;技能4
4. 翻頁宏:
Code(c):
1:#showtooltip
2:/cast 技能
3:/changeactionbar n
這個宏最近已經被玩壞了,n可取1-6。
5. 花式宏,雙修飾鍵/三修飾鍵判斷:
Code(c):
1:#showtooltip
2:/cast [mod:alt,mod:ctrl,mod:shift]技能
按照需要自己整合,就是這個套路。
6. 花式用法:
拆分1+alt和alt+1(按鍵順序)。
*1+alt指的是先按住1然後不放去按alt,保持alt松開1(此時放技能),最後松開alt。
這個用法需要關閉界面設置中的點擊施法選項。
按鍵綁定中綁定alt+1,在這個動作按鈕上放技能1
建立一個宏
Code(c):
1:#showtooltip
2:/cast [mod]技能2;技能3
把這個宏放到鍵1上。
其結果就是alt+1放出技能1,1+alt放出技能2,直接按1是技能3。
『叄』 魔獸世界法師宏怎麼做
在魔獸世界游戲界面,最左邊就是切換聊天模式里邊或界面里邊有個設置宏,點開用先選個圖標然後輸個名字。
然後在下邊的方框里邊輸入宏命令,宏命令可以在網上找,自已也可以做,比如想輸喊話宏就打 /y XXX(輸你想說的話),然後把圖標拖入技能條里就行了/施放 XX技能,輸技能名稱里可以直接打開技能欄按住SHIFT左健點技能就直接錄到宏命令了。
法師的宏比較多,這里以冰法常用的「防破羊」宏舉例。
設置宏的方法/步驟:
1、登陸《魔獸世界》,在游戲界面按Esc鍵,調出主菜單,選擇宏命令設置。
『肆』 魔獸里給怪上標記的宏怎麼做
魔獸里給怪上標記的宏做法步驟如下:
1、需要首先做的就是通過自己的登錄方式登錄游戲,用戰網登錄也可以,通過插件登陸也可以,插件的選擇有很多,比如大腳,魔盒之類的,這里採用的是戰網登錄的方式。
2、進入游戲中之後,按ESC鍵,會有一個菜單,看到中間有一個選項叫做宏命令設置,點擊進入。
3、進入之後,來到這樣一個界面,上面有兩個選項,點擊自己角色的專用宏。
4、點擊界面下方的新建,然後右側會彈出一個界面,輸入想要編輯的宏的名稱,然後給宏設計一個圖標,並點擊保存。接下來需要做的就是輸入指令,完成自己的宏。
5、圖中的戰斗怒吼,壓制,巨人打擊等等是戰士的輸出技能,而先後順序就是釋放技能的先後順序,通常在段首用/cast來標注。完成之後保存,將做的宏的圖標拖拽到技能欄上即可。
6、可以看到將剛剛編制的宏就放置在了C鍵上,就成功的做好了怪上標記的宏。