當前位置:編程學習大全網 - 編程語言 - 高分求WOW宏基礎知識

高分求WOW宏基礎知識

上邊的很全面 但是有點過時了......

在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:<item> - 檢測某個物品是否被裝備。<item>可以是任何有效的裝備槽,物品分類,或者物品子類

target = <unit> - 特殊條件選項,它把當前目標改變為任何有效的單位(詳見下)

actionbar:<number> - 檢測當前動作條是否為列出的那個

新的條件選項:

pet:<pet type 或 pet name> - 檢測寵物是否存在。可以接受寵物類型(梟,熊,小鬼)或者名字(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] 召喚寵物; 治療寵物

若妳的寵物死亡了則復活它,如果沒有召喚出來則召喚寵物,或者治療妳的寵物。

----------------

Stances:

----------------

Class: Warrior Priest Druid Rogue

---------------------------------------------------------------

Stance:1 Battle Shadowform Bear Stealth

---------------------------------------------------------------

Stance:2 Defensive Aquatic

---------------------------------------------------------------

Stance:3 Berserker Cat

---------------------------------------------------------------

Stance:4 Travel

---------------------------------------------------------------

Stance:5 Moonkin/Tree

---------------------------------------------------------------

----------------

姿態

----------------

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

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

戰士:1. 戰鬥 2. 防禦 3. 狂暴

牧師:1. 暗影形態

德魯伊:1. 熊 2. 水棲 3. 貓 4. 旅行 5. 梟獸/樹

盜賊:1. 潛行

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

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

壹些姿態宏的例子:

/施放 [nostance] 熊形態

如果沒有在壹個形態下,則變形到熊形態。

/施放 [stance:1] 壓制; [stance:2] 破甲; [stance:3] 旋風斬

在戰鬥姿態下施放壓制,防禦姿態下施放破甲,狂暴姿態下施放旋風斬。

/施放 [stance:1] 低吼; [stance:3] 爪擊

在熊形態施放低吼,在貓形態施放爪擊。

/施放 [nostance:3] 獵豹形態

如果不在獵豹形態,則變形獵豹,但如果已經處於獵豹形態,也不會把妳變回來。物品槽列表:

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目標選項

The option [button:<x>] works similarly to the modifier button. Normally, if you left-click a button, it performs whatever action is in that spell, in our case a macro. However, if you set the button option, you can change the behavior of a particular macro.

The default button is 1, the Left Mouse button. Note that when you activate a macro via a keybinding, it treats it like a Left Mouse button click. The numbered buttons are:

1 or LeftButton

2 or RightButton

3 or MiddleButton

4 or Button4

5 or Button5

... or any of the buttons remapped by the secure state headers. I don't know what this last bit means, to be honest, I'm simply quoting slouken.

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

默認按鍵是1,鼠標左鍵。註意,如果妳通過按鍵綁定來觸發壹個宏,它會認為是通過鼠標左鍵點擊觸發。被編號的按鍵有:

1 或 左鍵

2 或 右鍵

3 或 中鍵

4 或 按鍵4

5 或 按鍵5

...以及其他壹切在“安全聲明頭文件”中定義的按鍵。我不太確定這是什麽意思,僅僅只是引用Slouken的表述。

lostcup: 官網UI論壇中有壹篇Iriel(論壇MVP)寫的SecureStateHeader Example Code,類似於壹個模版,插件作者可以生成壹個實例去修改默認設定。

/施放 [button:2, target=player] 快速治療; [help] 快速治療

這個宏將向友方目標施放快速治療,或者如果妳右鍵點擊它,則向自己施放快速治療

這裏[target=unit]是壹個特殊的條件選項,它並不檢測條件是否成立,而是改變施法的目標以其他條件選項的目標。“unit”可以是任何有效的unit類型,例如“player”,“target”,“targettarget”,“party1”,“party1target”,等等。想了解更多的unit類型,可以去這裏:[/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

新的宏命令:/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] <Battle Stance Ability>; [stance:2] <Defense Stance Ability>; [stance:3] <Berserker Stance Ability>

壓制:壹個很簡單的壓制宏

/施放 [stance:1] 壓制; 戰鬥姿態

法師宏

---------------

炎爆/火球:如果沒有處於戰鬥則施放炎爆術(作為起手),否則就施放火球術

/施放 [nocombat] 炎爆術; 火球術

鎖定變羊:總是將妳鎖定的目標變形

/施放 [target=focus] 變形術

牧師宏

---------------

向當前目標的目標施放強效治療術,否則向當前目標施放

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

獵人宏

---------------

根據是否在戰鬥中餵養或治療寵物

/施放 [combat] 治療寵物; [nocombat] 餵養寵物

/使用 [nocombat] <食物>

  • 上一篇:怎樣讓英文簡歷的自我介紹最吸引人
  • 下一篇:計算機類大學生職業規劃書
  • copyright 2024編程學習大全網