2007年4月9日 星期一

WoW 2.0巨集指南

轉貼來源:
WoW 2.0巨集指南(Neuro's Macro Guide for WoW 2.0) 艾澤拉斯國家地理學會論壇

網址:
http://bbs.ngacn.com/read.php?tid=772487&fpage=1

翻譯作者:lostcup

部份用語為【大陸用語】可能須修改成為【台灣用語】

在WoW 2.0中,巨集和插件將會有翻天覆地的改變。最近,Slouken(Blizzard UI開發者)宣佈了一個令人激動的巨集的新特性,一系列條件選項將可以被應用於以下斜杠命令:/cast,/use,/target,/focus, /assist,/stopmacro,/cancelaura,/userandom,/castrandom,以及/castsequence。這個帖子的目的就在於講解如何應用它們。

注:雖然多數例子都使用了"/cast",但事實上這些條件選項對前面提到的所有斜杠命令都有效。

在2.0中,目前所用的大多數巨集都將被廢棄,因為在戰鬥中,任何用到CastSpellByName()或者TargetUnit()的巨集都將不再有作用。更進一步的,多數“傻瓜邏輯”的巨集也不會再有效。但是,你現在可以通過新的巨集條件選項來實現許多流行巨集的功能。

現在,使用“/cast”(“/施放”)非常簡明,命令格式就是“/cast <法術名稱>”(施放最高等級的法術)或者“/cast <法術名陳>(Rank <#>)”。比如說:

/施放 強效治療術
/施放 奧術智慧(等級 3)


在新的系統中,你依然可以使用原來的這些格式,不過你現在可以加入條件選項來使得“/cast”更加靈活。“/cast”的新格式是:“/cast [<第一組條件選項>] <第一個法術名稱>; [<第二組條件選項>] <第二個法術名稱>; [<第三組條件選項>] <第三個法術名稱>;...”。

現在讓巨集運作起來的方式就像這樣:第一組條件選項被檢測,如果它們成立,則第一個法術被施放,如果它們不成立,則第二組條件選項被檢測,如果這個成立了,下一個法術被施放,如此下去。但是,你必須牢記,只有一個法術會被施放。當一組條件選項被檢測到成立時,相應的法術就會被施放,巨集也就此結束。

當前可用的條件選項有:

help - 檢測目標是否為友善
harm - 檢測目標是否為敵對
combat - 檢測你是否在戰鬥中
stance或stance:# - 檢測你是否在姿態中,或是否在某個特定的姿態中(詳見下)
stealth - 檢測你是否潛行
modifier或modifier:shift|ctrl|alt - 檢測命令被執行時是否某個特定的鍵被按下
equipped: - 檢測某個物品是否被裝備。可以是任何有效的裝備槽,物品分類,或者物品子類
target = - 特殊條件選項,它把當前目標改變為任何有效的單位(詳見下)
actionbar: - 檢測當前動作條是否為列出的那個

新的條件選項:

pet: - 檢測寵物是否存在。可以接受寵物類型(梟,熊,小鬼)或者名字(Fluffy,我家壞壞)作為條件。不帶條件則檢測是否有任何寵物存在。
mounted,swimming,flying - 檢測是否在坐騎上,游泳,或者飛行中
indoors,outdoors - 檢測是在室內還是室外
button:<#> - 檢測某個特定的按鈕被用來觸發法術,默認為1(詳見下)
exists 和 dead - 檢測是否目標已經死亡,或是否真的存在

新的巨集命令
---------------------------
/castsequence - 按順序施放一組事先設定好的法術(詳見下)
# show <法術> - 顯示所列出法術的巨集返回值

對於條件選項的一些額外技巧:
你可以在任何條件選項前加上“no”來得到反效果,比如,“nocombat”則在脫離戰鬥的情況下成立。
用逗號“,”來分隔條件選項作用和“and”一樣,當條件選項同時成立時執行。
用斜杠“/”來分隔條件選項作用和“or”一樣,當其中一個條件選項成立時執行。
在巨集編輯器裏按“?”圖示將強制巨集以當前法術的圖示顯示。

舉例和姿態

這裏有一些舉例說明:

/施放 強效治療術
非常簡單,向你的目標施放強效治療術。

/施放 [help] 強效治療術
加入一個條件選項,當目標為友善時施放強效治療術。

/施放 [help] 強效治療術; 懲擊
加入第二個法術,由於它沒有任何條件選項,所以在第一組條件選項不成立時,則施放。

/施放 [help, combat] 快速治療; [help, nocombat] 強效治療術; 懲擊
這個巨集將在你(不是目標)處於戰鬥中時為友方目標施放快速治療,如果你不在戰鬥中且目標為友方目標,則施放強效治療術,如果這些條件都不成立(比如目標為敵對),則施放懲擊。

/施放 [help] 強效治療術; [harm, combat] 懲擊; [harm, nocombat] 精神鞭笞
這個巨集將對友方目標施放強效治療術,或在戰鬥中對敵對目標施放懲擊,或當你不處於戰鬥中時,對敵對目標施放精神鞭笞。

/施放 [stealth] 伏擊; 背刺
這個巨集在玩家處於潛行時施放伏擊,否則的話就背刺。

/施放 [nostealth] 背刺; 伏擊
這個巨集和上面那個作用完全相同,只不過用了相反的條件選項。

/施放 [actionbar:1] 強效治療術; [actionbar:2] 懲擊
如果當前動作條為1號時施放強效治療術,如果是2號則施放懲擊,如果為其他動作條則不做任何事情。

/施放 [harm] 變形術
/stopmacro [noharm]
/p 正在把%t變羊!別去碰它!
這個巨集將在目標為敵對目標時施放變形術,若目標不是敵對,則停止這個巨集(例如變形術沒有施放出來),當目標被變羊後則通知隊友。注意,因為“/stopmacro”命令的存在,如果目標沒有被變羊,隊友將不會看到喊話(從而減少了不必要的垃圾資訊)。

/施放 [pet] 召喚寵物; 復活寵物
這個巨集將在你沒有帶著寵物時召喚一個出來,否則的話將嘗試復活你的寵物。

/施放 [pet:owl] 俯衝; [pet:cat] 衝鋒; [pet] 低吼
這個巨集將在你帶著梟類寵物的時候施放俯衝,帶著貓類寵物時施放衝鋒,如果是其他寵物則施放低吼。

/施放 [pet:虛空行者] 犧牲; [pet:媚魔] 魅惑
如果你帶著虛空行者則施放犧牲,帶著媚魔則施放魅惑。

/使用 [nomounted, outdoors] 黑色戰駒韁繩
如果你在室外且沒有騎著坐騎時召喚坐騎。

/施放 [target=pet, dead] 復活寵物; [nopet] 召喚寵物; 治療寵物
若你的寵物死亡了則復活它,如果沒有召喚出來則召喚寵物,或者治療你的寵物。

----------------
姿態
----------------

姿態以同樣的原理工作,當姿態編號沒有給出時,則在玩家處於任一姿態都成立(注意,戰士永遠都處於某個姿態中)。如果給了編號,則檢測該姿態是否被啟動。

每個職業的特定姿態都有不同的編號,這是一個列表:

戰士:1. 戰鬥 2. 防禦 3. 狂暴
牧師:1. 暗影形態
德魯伊:1. 熊 2. 水棲 3. 貓 4. 旅行 5. 梟獸/樹
盜賊:1. 潛行

聖騎士的光環在巨集條件選項系統中將不再被作為姿態處理。

請記住,如果你跳過了某個姿態(例如作為戰士卻沒有做防禦姿態的任務),你的姿態編號將會遞減,比如狂暴姿態的編號會變成2號。

一些姿態巨集的例子:

/施放 [nostance] 熊形態
如果沒有在一個形態下,則變形到熊形態。

/施放 [stance:1] 壓制; [stance:2] 破甲; [stance:3] 旋風斬
在戰鬥姿態下施放壓制,防禦姿態下施放破甲,狂暴姿態下施放旋風斬。

/施放 [stance:1] 低吼; [stance:3] 爪擊
在熊形態施放低吼,在貓形態施放爪擊。

/施放 [nostance:3] 獵豹形態
如果不在獵豹形態,則變形獵豹,但如果已經處於獵豹形態,也不會把你變回來。

Equipped條件選項

[equipped]條件選項也以同樣的方式工作,但是更富有技巧。參數可以是一個物品槽(見下),一個物品分類,或一個物品子類。物品分類及子類,請參考這裏:http://www.wowwiki.com/ItemType
此網頁不屬於NGA網站,NGA不保證其安全性
繼續訪問 取消 不再提示我[ http://www.wowwiki.com/ItemType ]

物品槽列表:

Two-Hand 雙手
Bag 包
Shirt 襯衫
Chest 胸部
Back 背部
Feet 腳
Finger 手指
Hands 手
Head 頭部
Held In Off-hand 副手物品
Legs 腿部
Neck 頸部
Ranged 遠程
Off Hand 副手
Shoulder 肩部
Tabard 徽章
Thrown (ranged slot items like thrown daggers) 投擲(遠端槽物品例如投擲匕首)
Trinket 飾品
Waist 腰部
One-Hand 單手
Main Hand 主手
Wrist 手腕

一些equipped例子:

/施放 [equipped:雙手劍] 致死打擊; 英勇打擊
當你裝備著雙手劍時施放致死打擊。

/施放 [equipped:雙手劍/雙手錘/雙手斧/長柄武器] 致死打擊
這裏使用了分隔符號“/”來設置一個“或”條件,這個巨集將在你裝備以上類型武器時施放致死打擊。

/施放 [equipped:盾牌] 盾牌猛擊
在你裝備了盾牌的時候施放盾牌猛擊。

/施放 [equipped:盾牌, equipped:匕首] 盾牌猛擊
僅在你同時裝備了盾牌和匕首時才施放盾牌猛擊

/施放 [noequipped:盾牌, equipped:副手] 暴怒
在你沒有裝備盾牌且副手裝備了武器的情況下施放暴怒,也就是說,在你雙持的時候才被啟動。

Button和Target目標選項

條件選項[button:]運作起來類似於修改按鍵。一般來說,當你左鍵點擊一個按鈕,它就執行(巨集)裏面所有的動作,然而,如果你設置了button條件選項,你可以改變巨集在特定按鍵上的表現。

默認按鍵是1,滑鼠左鍵。注意,如果你通過按鍵綁定來觸發一個巨集,它會認為是通過滑鼠左鍵點擊觸發。被編號的按鍵有:

1 或 左鍵
2 或 右鍵
3 或 中鍵
4 或 按鍵4
5 或 按鍵5
...以及其他一切在“安全聲明頭檔”中定義的按鍵。我不太確定這是什麼意思,僅僅只是引用Slouken的表述。

/施放 [button:2, target=player] 快速治療; [help] 快速治療
這個巨集將向友方目標施放快速治療,或者如果你右鍵點擊它,則向自己施放快速治療

這裏[target=unit]是一個特殊的條件選項,它並不檢測條件是否成立,而是改變施法的目標以其他條件選項的目標。“unit”可以是任何有效的 unit類型,例如“player”,“target”,“targettarget”,“party1”,“party1target”,等等。想瞭解更多的unit類型,可以去這裏:http://www.wowwiki.com/UnitId
此網頁不屬於NGA網站,NGA不保證其安全性
繼續訪問 取消 不再提示我[ http://www.wowwiki.com/UnitId ]

請注意,任何一個施法都有默認的target,那就是“target”,例如:

/施放 [help] 強效治療術

就和下麵的巨集等同:

/施放 [target=target, help] 強效治療術

除非你加入一個[target=unit]條件選項,默認則就是你的當前目標。

一些[target=unit]的例子:

/施放 [target=player] 快速治療
總是向自己施放快速治療,並且不會改變你的實際目標

/施放 [help] 快速治療; [target=targettarget] 快速治療
如果目標是友善的,則向他施放快速治療,否則向目標的目標施放快速治療。

/施放 [help, combat] 快速治療; [help, nocombat] 強效治療術; [target=targettarget, help, combat] 快速治療; [target=player] 強效治療術
這個巨集可以 1) 如果你處於戰鬥中且目標友善時施放快速治療,2) 如果你目標友善且沒有在戰鬥中則施放強效治療術,3) 如果你處於戰鬥中且你目標的目標為友善,則向他施放快速治療,4) 如果前面的條件都不成立,則向自己施放強效治療術。

如果你使用none作為unit,則它會像你沒有選中目標一樣工作,例如:

/施放 [target=none] 驅散魔法

這將施放驅散魔法且等待你點中一個目標,無論你當前是否選中了一個目標。

新的巨集命令:/castsequence
----------------------

在WoW 2.0中出現了一個新的命令,/castsequence。它允許你在一次次點擊某個巨集時,將其中定義的一系列法術逐個施放,格式如下:

/castsequence [<條件選項>] reset=<#>/target/combat <法術1>, <法術2>, <法術3>

“啥?你在說啥?”

它設定了一個法術列表,當你第一次點擊這個巨集時,它施放列表中的第一個法術,第二次點擊的時候,施放第二個法術,以此類推。 當它施放完最後一個時,又回到起始點開始迴圈。

“我還是不太明白耶。”

OK,假設你是一個法師,有時候你需要冰霜新星後立刻閃現開,你沒法同時做到這些事情,現在你可以設定一個序列去做!

/castsequence 冰霜新星, 閃現

就這麼簡單,第一次你按這個巨集,你施放冰霜新星,再按一次,閃現。

“那如果冰霜新星在冷卻中怎麼辦?它會直接施放閃現麼?還是不施放冰霜新星,等第二次按這個巨集的時候,再施放閃現?”

都不是。如果法術無法施放(冷卻,超出距離,法力不足等等情況下),序列就不會走到下一個法術,下一次你再點這個巨集的時候,它會再度嘗試施放冰霜新星。(抵抗,躲閃,招架等並不會算作無法施放,這些情況下法術/技能確實施放了,只不過沒有命中。)

“如果我沒有處於戰鬥中怎麼辦?我不想在非戰鬥情況下浪費一個冰霜新星。”

你可以把之前所有的巨集條件選項應用於此(可惜的是,只能應用於整個序列,而不能為每個法術單獨設定)。

“呃,其實剛才我只是隨便說說,OK,那如果我在冰霜新星後不想閃現了怎麼辦?下一次我想施放冰霜新星時,它會不會還是停滯在施放閃現的設定上?”

這完全沒問題,我們會用到重置這個設定。因為冰霜新星一般的冷卻時間為24秒,我們可以設定序列在24秒內不被使用就重置它。

/castsequence reset=24 冰霜新星, 閃現

當你第一次點擊這個巨集時,它會施放冰霜新星,如果你決定不閃現了,等過了24秒後,它會重置到冰霜新星的狀態,因為冰霜新星的冷卻時間為24秒,那時候它就可以被重新使用了,真棒!

“好吧,這真的很厲害,不過我實際上是個術士啊。”

當然,作為一個術士,我相信你會一直重複上三種DoT,現在你可以為它們設置一個序列以節省按鈕空間啦。

/castsequence 腐蝕, 獻祭, 痛苦詛咒

就這麼簡單,你可以連續點擊三次這個巨集來上這三種DoT。

“但如果在我施放完這些前目標就死了呢?我又卡在這個序列裏了,我可不想設什麼計時器!”

那也沒關係,我們可以用其他的條件選項。如果你設定“reset=target”,那序列將在你改變目標時就重置到起始位置。你也可以設置“reset= combat”,每當你脫離戰鬥,這個序列就會被重置了。如果你使用“/”控制符(你還記得吧,之前提到過),你也可以將這些重置條件選項組合起來!

/castsequence reset=combat/target 腐蝕, 獻祭, 痛苦詛咒

就這全了,這下子每當你改變目標(比如原來的目標快死了,你選中的新的目標)或脫離了戰鬥(可能目標在你施放完所有DoT前就死了),它將會把整個序列重置,讓你可以從頭開始。

“OK,真棒,我想我現在弄明白了!給我點時間設置新的巨集....搞定!”

好極了,我很高興能幫上忙。

“那...來決鬥一盤吧?”

呃,不了,我從不和術士決鬥。

“切,膽小鬼。”

舉例說明

一些巨集的例子:

通用巨集:
---------------
/use [target=self] 厚虛空布繃帶
無論當前目標是什麼,這個巨集只會對自己使用厚虛空布繃帶。

戰士巨集
---------------
攔截/衝鋒:攔截或者衝鋒,或者切換到相應的姿態。
/施放 [nocombat, stance:1] 衝鋒; [combat, nostance:3] 狂暴姿態; [nocombat, nostance:1] 戰鬥姿態; [combat, stance:3] 攔截

一般姿態巨集:把<* Stance Ability>替換為任何你想要的技能
/施放 [stance:1] ; [stance:2] ; [stance:3]

壓制:一個很簡單的壓制巨集
/施放 [stance:1] 壓制; 戰鬥姿態


法師巨集
---------------
炎爆/火球:如果沒有處於戰鬥則施放炎爆術(作為起手),否則就施放火球術
/施放 [nocombat] 炎爆術; 火球術

鎖定變羊:總是將你鎖定的目標變形
/施放 [target=focus] 變形術

Priest Macros
---------------
Greater Heal on current boss target, or on current target.
/cast [target=targettarget, help] Greater Heal; [help] Greater Heal

牧師巨集
---------------
向當前目標的目標施放強效治療術,否則向當前目標施放
/施放 [target=targettarget, help] 強效治療術; [help] 強效治療術

Hunter Macros
---------------
Feed/Mend Pet based on combat status.
/cast [combat] Mend Pet; [nocombat] Feed Pet
/use [nocombat]

獵人巨集
---------------
根據是否在戰鬥中餵養或治療寵物
/施放 [combat] 治療寵物; [nocombat] 餵養寵物
/使用 [nocombat] <食物>

2 則留言:

匿名 提到...

整理的不錯喔!!

Meow.tw 提到...
作者已經移除這則留言。