魔獸世界常用宏收集

索引:

1.友好魔法
...1.A 對友好單位或自己施法
...1.B 只對自己使用
...1.C 對特定隊員施法
...1.D 按目標的職業分別使用不同魔法
...1.E 按目標等級使用不同級別的魔法
2. 判斷HP,MP,連擊點量
...2.A 按HP消耗量不同使用不同治療魔法
...2.B 根據目標HP量決定是使用靈魂抽取還是抽取生命
...2.C 根據敵人是否使用魔法來決定是使用結舌詛咒還是虛弱詛咒
...2.D 根據連擊點的多寡和能量的多少來決定使用技能種類
3.繃帶
...3.A 對友好單位或自己使用繃帶
...3.B 只對自己使用
4.武器相關
...4.A 對武器使用礪石
...4.B 更換備用武器
...4.C 切換主手與副手武器
...4.D 雙手武器 <-> (主手武器+副手物品)
...4.E(主手武器+副手物品)<-> (單手武器+副手物品)
...4.F 單主手武器或雙手武器 <-> (主手武器+副手物品)
...4.G 更換備用主手武器
5.組隊相關
...5.A 設置輔助目標+自動輔助
...5.B 變羊+信息提示
6.打開/關閉揹包
7.寵物相關(獵人、術士)

...7.A 施放獵人印記的同時寵物攻擊
...7.B 切換到寵物正在攻擊的目標並施放毒蛇刺擊
...7.C 召回寵物並使用散射
...7.D 選擇目標,開始攻擊
...7.E 餵食
8.判斷目標身上是否有特定BUFF
...8.A 猴之守護+物理攻擊
...8.B 鷹之守護+自動射擊
...8.C 鷹之守護+瞄準射擊
9.影遁相關(暗夜專用)
...9.A 藏身
...9.B 進食
10.切換技能欄
11.目標信息
12.任務接受頁面相關

...12.A 增加文字浮現速度
...12.B 取消文字逐漸浮現效果
...12.C 直接接受當前窗口中的任務
13.切換全屏模式與窗口模式
14.設定“真實鼠標視野”
15.延遲宏(需要Cosmos)

...15.A 盜賊武器上毒並定時提示
...15.B 魔法效果消失提示
...15.C 使用悶棍並在不同時段內提示不同信息
...15.D 戰士逃跑宏
16.數組宏的實際運用
17.通用變量的設置與使用
18.圖騰破壞
19.自然之速(氣定神閒)


1.友好魔法

1.A 對友好單位或自己施法
/cast 治療術(等級1)
/script TargetUnit("player")

如果你當前選擇的目標是可以對其使用此魔法的友好單位的話,則對其使用魔法。
如當前目標是不能接受此魔法的單位,或沒有選擇任何目標的話,則對自己使用魔法。
而且不會對當前目標進行切換,不會中斷對當前敵人的攻擊。

將 “治療術(等級1)” 換成任何能對友好單位釋放的魔法與技能。

如在最後再加上如下代碼
/script if ( UnitName("target") ~=nil and UnitInParty("player","target") ) then SendChatMessage("<治療 %T >", "PARTY"); end

則在治療隊友時,在party中發出相應的信息。

將<治療 %T>換成任何你喜歡的信息,%T表示接受治療的目標的名字。
將UnitInParty換成UnitIsFriend,則對任何友好單位施法時都發出信息。

將"PARTY"換爲"EMOTE",則以自定義表情的方式發出信息。如SendChatMessage(" 將在3秒內治療 %T", "EMOTE"),則別人在聊天窗口中看到:"漢客將在三秒內治療小郎"

將"PARTY"換成"WHISPER", "COMMON", UnitName("target"),則採用密語形式對你施法的目標發送信息。"COMMON"表示密語所用的語言種類。下面是一個語言列表:

Common 人類語,聯盟通用語
Orcish 獸人語,部落通用語
Dwarvish 矮人語
Gnomish 侏儒語
Darnassian 暗夜精靈語

還有其他的一些實現方法如:
/cast 治療術(等級1)
/script if SpellIsTargeting() then TargetUnit("player")


/script if ( not UnitIsFriend("player", "target") ) then CastSpellByName("治療術(等級1)"); end
/script if ( SpellIsTargeting() ) then SpellTargetUnit("player"); end


/script if (UnitName("target") ~=nil and UnitIsFriend("player","target")) then CastSpellByName("治療術(等級1)") SendChatMessage("即將治療 %T", "Party") else TargetUnit ("player") CastSpellByName("治療術(等級1)") TargetLastEnemy(); end

並不值得推薦。而且後一個宏會切換當前目標,中斷攻擊。

1.B 只對自己使用
如果想在任何條件下都只對自己使用治療的話,用如下的宏:
/target "player"
/cast 治療術(等級1)
/script TargetLastEnemy()

但這個宏同樣有切換當前目標,中斷攻擊的弊病。


1.C 對特定隊員施法
下面的這個宏只對隊伍中的第一名隊員施法。party1,party2,party3,party4分別指代隊伍中的其他4名成員。也可以結合組隊相關中的目標設置宏來使用。
/script if (UnitName("party1") ~= nil) then CastSpellByName("治療術(等級1)") SpellTargetUnit("party1") SendChatMessage("即將治療 >>" .. UnitName("party1") .. "<< (3.5s)", "Party") TargetLastEnemy(); end


1.D 按目標的職業分別使用不同魔法
下面是聖騎士的一例。如果目標職業爲盜賊或戰士則使用力量祝福,否則使用智慧祝福。
/script class = UnitClass("target"); if ( ( class == "Rogue" ) or ( class == "Warrior" ) ) then
CastSpellByName("Blessing of Might(Rank 1)"); else CastSpellByName("Blessing of Wisdom(Rank 1)"); end


1.E 按目標等級使用不同級別的魔法
下面牧師的一例,對目標使用其所能接受的最高等級的“聖言術:韌”
/script P="Power Word: Fortitude(Rank " S={1,2,14,26,38} if (UnitLevel("target") ~= nil and UnitIsFriend("player","target")) then for j=5,1,-1 do if (UnitLevel("target") >= S[j]) then CastSpellByName(P..j..")") return end end end

下面是60級的牧師的實例,另外一種實現方法,語句書寫略爲不同,更爲易讀。
/script r=6;l={1,12,24,36,48,60};t=UnitLevel("target");if (t==0) then t=UnitLevel("player");end;if UnitIsFriend("player","target") then for j=r,1,-1 do if (t>=l[j]-10) then CastSpellByName("Power Word: Fortitude(Rank "..j..")");break;end;end;end

下面是60級德魯依的一例,使用對方能接受的最高級野性印記。實現方法和上面2例略有不同:
/script r=7;l={1,10,20,30,40,50,60};if not UnitIsFriend("player","target")then TargetUnit("player");end;t=UnitLevel("target");for j=r,1,-1 do if (t>=l[j]-10) then CastSpellByName("Mark of The Wild(Rank "..j..")");break;end;end


2. 判斷HP,MP,連擊點量

2.A 按HP消耗量不同使用不同治療魔法
在下面的例子中,宏會對玩家自己的HP消耗量進行判斷,如小於200則不使用治療,並在聊天窗口中提示:"health is good",如消耗兩大於200小於400,使用3級的Flash of Light治療,如大於400,則使用5級的Holy Light進行治療。你也可以用當前的HP量進行判斷。
/script x="player";d=UnitHealthMax(x)-UnitHealth(x);if (d>200) then if (d<400) then CastSpellByName("Flash of Light(Rank 3)") else CastSpellByName("Holy Light(Rank 5)") end;SpellTargetUnit(x);else DEFAULT_CHAT_FRAME:AddMessage("Health is good"); end;


2.B 根據目標HP量決定是使用靈魂抽取還是抽取生命
術士根據目標HP量決定是使用靈魂抽取還是抽取生命。大於20則使用抽取生命,否則使用靈魂抽取。
/script if (UnitHealth("target")>20) then CastSpellByName("Drain Life(Rank X)") else CastSpellByName("Drain Soul(Rank 2)"); end


2.C 根據敵人是否使用魔法來決定是使用結舌詛咒還是虛弱詛咒
下面這個是根據敵人是否使用魔法(使用魔法的敵人其MANA肯定大於0)來決定是使用結舌詛咒還是虛弱詛咒。
/script if (UnitMana("target")>0) then CastSpellByName("Curse of Tongues(Rank X)") else CastSpellByName("Curse of Weakness(Rank X)"); end


2.D 根據連擊點的多寡和能量的多少來決定使用技能種類
下面是德魯依貓形態(盜賊也是一樣)根據連擊點的多寡和能量的多少來決定是使用Rip還是Rake。如連擊點大於等於3,則使用Rip,如連擊點小於3並且能量有40點以上,則使用Rake。
/script if ( GetComboPoints() >= 3 ) then CastSpellByName("Rip(Rank 2)"); else if (UnitMana("player") >= 40 ) then CastSpellByName("Rake(Rank 1)"); end end

3.繃帶

3.A 對友好單位或自己使用繃帶
/script UseContainerItem(2,1)
/script TargetUnit("player")

如果你當前選擇的目標是可以對其使用繃帶的友好單位的話,則對其使用繃帶。
如當前目標是不能被打繃帶的單位,或沒有選擇任何目標的話,則對自己使用繃帶。
而且不會對當前目標進行切換,不會中斷對當前敵人的攻擊。

使用此宏,你必須把你要用的繃帶放在揹包的特定位置中。UseContainerItem(2,1)中的2是揹包的編號,1是格子的編號。(2,1)表示右數第3個包的第一個格子。把它們換成對應你繃帶位置的編號。
5個揹包按照排列位置編號如下:

[4][3][2][1][0]]

6格包的格子編號如下:

_____[1][2]
[3][4][5][6]

16格包的格子編號如下:

[ 1][ 2][ 3][ 4]
[ 5][ 6][ 7][ 8]
[ 9][10][11][12]
[13][14][15][16]

其他格數以此類推。

將第一行換成/script UseAction(25,0,1),則不需將繃帶放在揹包特定位置,但必須將繃帶拖入技能欄的特定位置。25表示技能欄的編號。第一排第一格編號爲1,最後一格爲12。第二排第一格編號爲13,最後一格爲24。以此類推。25表示第三排的第一格。

將第一行換成/use "Linen Bandage",則不需將繃帶放在揹包的特定位置,也不需將其拖入技能欄。將Linen Bandage換成你使用的繃帶的名字。推薦嘗試,但此宏沒有經過測試。

此宏也還有如下的實現方法:
/script UseContainerItem(0,1)
/script if ( SpellIsTargeting() ) then TargetUnit("player"); end


3.B 如果想在任何條件下都只對自己使用繃帶的話,用如下的宏:
/target "player"
/use "Linen Bandage"
/script TargetLastEnemy()

同樣,這個宏會切換當前目標,中斷攻擊,盜賊的連擊點也會被清空。

下面這個宏也只對自己使用繃帶,但在使用後會切換回先前的目標(不管是敵對中立還是友好的)。
/script p="player";t="target";if(not UnitCanAttack(t, p))then ot=UnitName(t);TargetUnit(p);else ot=nil;end;
UseAction(ActionID);if(SpellIsTargeting()) then SpellTargetUnit(p); end if(ot) then TargetByName(ot);end


4.武器相關

Bag:物品存放揹包編號
Slot:物品存放格子編號
MainhandBag:備用主手武器存放揹包編號
MainhandBagSlot:備用主手武器存放格子編號
OffhandBag:備用副手武器存放揹包編號
OffhandBagSlot:備用副手武器存放格子編號
TwohandsBag:備用雙手武器存放揹包編號
TwohandsBagSlot:備用雙手武器存放格子編號

4.A 對主手武器或雙手武器使用礪石
/script UseContainerItem (Bag,Slot)
/script PickupInventoryItem (16)

4.B 更換備用主手武器或雙手武器
/script UseContainerItem (Bag,Slot)
/script PickupInventoryItem (16)


副手的對應宏,將16換爲17即可。

4.C 切換主手武器和副手武器

/script PickupInventoryItem(16);PickupInventoryItem(17)


盜賊可以用這個宏來互換手中的劍與匕首。

4.D 雙手武器 -> (主手武器+副手物品)
/script PickupContainerItem(MainhandBag, MainhandBagSlot)
/script PickupInventoryItem(16)
/script PickupContainerItem(TwohandsBag, TwohandsBagSlot)
/script PickupContainerItem(OffhandBag, OffhandBagSlot)
/script PickupInventoryItem(17)


(主手武器+副手物品) -> 雙手武器
/script PickupInventoryItem(17)
/script PickupContainerItem(OffhandBag, OffhandBagSlot)
/script PickupContainerItem(TwohandsBag, TwohandsBagSlot)
/script PickupInventoryItem(16)
/script PickupContainerItem(MainhandBag, MainhandBagSlot)


副手物品可以是盾牌、副手武器、副手裝備品。注意以上幾個宏使用之時,鼠標上不要拖有物品,否則會出錯。如要避免,可以使用CursorHasItem()來進行預判斷。參看下面的幾個宏:

4.E(主手武器+副手物品)<-> (單手武器+副手物品)
/script if ( not CursorHasItem() ) then PickupContainerItem(mainhandBag, mainhandBagSlot); PickupInventoryItem(16); PickupContainerItem(mainhandBag, mainhandBagSlot); PickupContainerItem(offhandBag, offhandBagSlot); PickupInventoryItem(17); PickupContainerItem(offhandBag, offhandBagSlot); end


4.F 單主手武器或雙手武器 -> (主手武器+副手物品)
/script if ( not CursorHasItem() ) then PickupContainerItem(mainhandBag, mainhandBagSlot); PickupInventoryItem(16); PickupContainerItem(mainhandBag, mainhandBagSlot); PickupContainerItem(offhandBag, offhandBagSlot); PickupInventoryItem(17); if ( CursorHasItem() ) then PickupContainerItem(offhandBag, offhandBagSlot); end end


(主手武器+副手物品)-> 單主手武器或雙手武器
/script if ( not CursorHasItem() ) then PickupInventoryItem(17); if ( CursorHasItem() ) then PickupContainerItem(offhandBag, offhandBagSlot); end PickupContainerItem(mainhandBag, mainhandBagSlot); PickupInventoryItem(16); PickupContainerItem(mainhandBag, mainhandBagSlot); end


4.G 更換備用主手武器
/script if ( not CursorHasItem() ) then PickupContainerItem(mainhandBag, mainhandBagSlot); PickupInventoryItem(16); PickupContainerItem(mainhandBag, mainhandBagSlot); end

5.組隊相關

5.A 設置輔助目標+自動輔助
下面是2個配合使用的宏。先在宏窗口第一個空位建立一個宏,選擇一個圖標,內容爲空。
再另建一個宏如下:
/script if (UnitName("target") ~= nil) then EditMacro(1, "Assist "..UnitName("target"), nil, "/assist "..UnitName("target"), 1) end
/script SaveMacros()

對選擇的隊友使用第二個宏,則自動將第一個宏設置爲輔助選擇的目標。也就是用宏來更換自動協助的目標,不用手動編輯宏來更換。

5.B 變羊+信息提示
這是一個法師在組隊的時候用的宏,在變羊的同時,在PARTY中說明變羊目標的等級名字。
/script if ( UnitExists("target") and UnitIsEnemy("player","target") ) then SendChatMessage("Sheeping Level " ..UnitLevel("target") .." " ..UnitName("target") ..". Don't Attack it!", "PARTY") CastSpellByName("Polymorph(Rank 1)"); if not PlayerFrame.inCombat then ClearTarget(); end end


超簡化的一個版本,功能上差一點。
/p Sheeping >>> %t <<<
/cast Polymorph (Rank X)


6.打開/關閉揹包

/script ToggleBag(0) 背囊
/script ToggleBag(1) 右數第二個包
/script ToggleBag(2) 右數第三個包
/script ToggleBag(3) 右數第四個包
/script ToggleBag(4) 右數第五個包

上面的幾個是切換特定揹包的狀態,如果當前是打開着的則關閉。如果當前是關閉着的,則打開。
適當的組合可以讓你設定只打開特定的幾個揹包。如獵人可以選擇不打開箭筒或子彈袋。

/script OpenAllBags()打開所有揹包


7.寵物相關(獵人、術士)

下面的一些宏雖是對應獵人,術士只需稍加改動就可以用了。

7.A 施放獵人印記的同時寵物攻擊
/cast Hunter's Mark(Rank 1)
/script PetAttack()


7.B 切換到寵物正在攻擊的目標並施放毒蛇刺擊
/script TargetUnitsPet("Player")
/assist
/cast Serpent Sting(Rank 1)


7.C 召回寵物並使用散射
此宏是有散射技能的玩家所必需的。
/script PetFollow()
/Cast Scatter Shot()


7.D 選擇目標,開始攻擊
如果當前目標是友好目標,則協助目標。使用獵人印記,寵物攻擊,如果沒有在戰鬥狀態,開始自動射擊。如果目標是敵人的話,則直接使用技能。此宏在SOLO組隊中都比較實用。
/script if (UnitIsFriend("player","target")) then AssistUnit("target"); end
/cast Hunter's Mark(Rank X)
/cast PetAttack()
/script if(not PlayerFrame.inCombat) then CastSpellByName("Auto Shot"); end


7.E 餵食

最簡單的一鍵餵食,把食物放入對應的揹包格子中。
/cast Feed Pet
/script PickupContainerItem (Bag,Slot)

下面這個會先判斷玩家是否處於戰鬥之中。如對應的格子中沒有食物,則會打開相應的揹包。
/script if (not PlayerFrame.inCombat) then if (not
GetContainerItemLink(Bag, Slot)) then OpenBag(Bag); else CastSpellByName("Feed Pet"); PickupContainerItem(Bag, Slot); end end

8.判斷目標身上是否有特定BUFF

8.A 猴之守護+物理攻擊
下面的宏會先判斷玩家身上是否加有猴之守護,如果沒有,使用猴之守護。如果玩家未在戰鬥狀態,則開始物理攻擊。也可以把Attack換爲Raptor Strike。
/script if (not string.find(UnitBuff("player", 1), "Mon")) then CastSpellByName("Aspect of the Monkey"); end
/script if (not PlayerFrame.inCombat) then CastSpellByName("Attack"); end


8.B 鷹之守護+自動射擊
]而這個則是先開始自動射擊,再判斷身上是否有鷹之守護的效果,沒有的話,使用鷹之守護。
/cast Auto Shot
/script if (not string.find(UnitBuff("player", 1), "Raven")) then CastSpellByName("Aspect of the Hawk(Rank X)"); end


8.C 鷹之守護+瞄準射擊
瞄準射擊的版本
/script if (not string.find(UnitBuff("player", 1), "Raven")) then CastSpellByName("Aspect of the Hawk(Rank X)"); else CastSpellByName("Aimed Shot(Rank Y)"); end

9.影遁相關(暗夜專用)

9.A 藏身
影遁的同時躺下,藏身之用……
/cast Shadowmeld(Racial)
/laydown


9.B 進食
喫飯喝水的同時影遁,也是出於安全考慮……
/target "player"
/script UseContainerItem(FoodBag, FoodSlot);
/script UseContainerItem(DrinkBag, DrinkSlot);
/cast Shadowmeld(Racial)

10.切換技能欄

/script CURRENT_ACTIONBAR_PAGE = X
/script ChangeActionBarPage()


將3換成你想切換到的技能欄頁數

此宏可以有這樣的用法
/cast Aspect of the Monkey
/script CURRENT_ACTIONBAR_PAGE = 3
/script ChangeActionBarPage()

切換技能欄的同時使用猴之守護。

還可以加上前面的BUFF判斷
/script if (not string.find(UnitBuff("player", 1), "Mon")) then CastSpellByName("Aspect of the Monkey"); end
/script CURRENT_ACTIONBAR_PAGE = 3
/script ChangeActionBarPage()


11.目標信息
/script if UnitClassification("target")=="elite" then SendChatMessage("".. UnitLevel("target") .. "+ " .. UnitName("target"), "party") else SendChatMessage("" .. UnitLevel("target") .. " " .. UnitName("target"), "party"); end


這個宏在PARTY頻道中發出當前目標的一些相關信息。"+"代表精英。效果如下:
[Party]Hank:50 Stormwind Guard
[Party]Hank:43+ King Bangalash

下面是一個目標信息的相關函數列表:
UnitName 如"Coffiex","moonwell"
UnitLevel 如"42","60"
UnitClass 如"Warrior","Shaman"
UnitClassification 如"elite","worldboss"
UnitCreatureFamily 如"Wolf","Cat"
UnitCreatureType 如"Beast","Humanoid"
UnitRace 如"Nightelf","Orc"


12.任務接受頁面相關

12.A 增加文字浮現速度
/script QUEST_DESCRIPTION_GRADIENT_CPS = 100


12.B 取消文字逐漸浮現效果
/script QUEST_FADING_ENABLE = nil


12.C 直接接受當前窗口中的任務
/script AcceptQuest()

13.切換全屏模式與窗口模式
/script SetCVar("gxWindow", 1 - GetCVar("gxWindow"))
/console gxRestart

14.設定“真實鼠標視野”
/script CameraOrSelectOrMoveStart(arg1)


15.延遲宏(需要Cosmos)

15.A 盜賊武器上毒並定時提示
給雙手的武器都上毒,並在毒性還有一分鐘就消退的時候在聊天窗口發出提示信息。
/script UseContainerItem(Bag,Slot); PickupInventoryItem(16); UseContainerItem(Bag,Slot); PickupInventoryItem(17);
/in 1740 /script DEFAULT_CHAT_FRAME:AddMessage("Poison wearing off in one minute.")


15.B 魔法效果消退提示
同樣的,你也可以對持續性的魔法使用相似的宏。提示信息將在魔法使用X秒後出現,提示你還有Y秒魔法就將會失效。
/script T = UnitName("target");
/cast Spell(Rank 1);
/in X /script DEFAULT_CHAT_FRAME:AddMessage("Spell will wear off " ..T .." in Y seconds.")


也可以這樣,X爲魔法的持續時間(秒)。在魔法效果消退時提示信息。
/script T = UnitName("target");
/cast Spell(Rank 1);
/in X /script DEFAULT_CHAT_FRAME:AddMessage("Spell has worn off " ..T)


15.C 使用悶棍並在不同時段內提示不同信息
使用悶棍並在不同時段內在PARTY中提示不同信息。以下是3級的悶棍的例子
/script T = UnitLevel("target") .. " " .. UnitName("target");
/cast Sap(Rank 3);
/script SendChatMessage(T.." sapped.","party");
/in 30 /script SendChatMessage(T.." up in 15.","party");
/in 40 /script SendChatMessage(T.." up in 5.","party");
/in 45 /fire


15.D 戰士逃跑宏
這是一個戰士逃跑的時候使用的宏,首先使用包中的藥水,換上盾牌(此例中其換武器的快捷位於技能欄第一頁第11和12格)。使用Thunder Clap減低敵人速度,然後轉身逃跑。
/script UseContainerItem(Bag, Slot);ActionButtonDown(11);ActionButtonUp(11);ActionButtonDown(12);ActionButtonUp(12)
/cast Thunder Clap(Rank 1)
/script TurnLeftStart(arg1)
/in 1 /script TurnLeftStop(arg1);ToggleAutoRun()

16.數組宏的實際運用

下面的宏讓你只使用一個宏就可以循環地使用數個技能。此以聖騎士爲例,第一次使用Seal of the Crusader,第二次使用Judgement,第三次使用Seal of Righeousness,第四次又回到使用Seal of the Crusader,如此循環。
新建宏如下:
/script AQ={};AQ.i=1;AQ.x=function() AQ[AQ.i]() end
/script AQ[1]=function() CastSpellByName("Seal of the Crusader(Rank 1)"); AQ.i=2 end
/script AQ[2]=function() CastSpellByName("Judgement"); AQ.i=3 end
/script AQ[3]=function() CastSpellByName("Seal of Righeousness(Rank 1)"); AQ.i=1 end

再新建一宏如下:
/script AQ.x()

在每次進入遊戲之後使用一次第一個宏,然後利用第二個宏就可以實現技能的循環使用了。


17.通用變量的設置與使用

通用變量可以被你所有的宏所調用。
用下面的格式新建一個通用變量
/script setglobal("<variable name>","<string>");

獲取通用變量的值

getglobal("<variable name>")

通用變量可以用來簡化你的宏,以避免超過宏255的字符的最大限制。比如把技能名放到通用變量中。

通用變量每次進入遊戲都必須重新設置。你可以用一個宏來設定你的通用變量。
如下面這樣的一個宏:

/script setglobal("HT1","Healing Touch(Rank 3)"); setglobal("HT2","Healing Touch(Rank 4)"); setglobal("RJ","Rejuvenation(Rank 4)");

遊戲中的使用實例

/script if (UnitName("target") ~=nil and UnitInParty("target")) then CastSpellByName(getglobal("RJ")) else TargetUnit("player") CastSpellByName(getglobal("RJ")) end; TargetLastEnemy();

18.圖騰破壞

下面是德魯依的一個例子,如果當前選擇的目標是圖騰則使用一級的月火,如果不是圖騰則使用最高級的月火:
/script r=10; if (UnitName("target") ~=nil) and (string.find(UnitName("target"),"Totemf"))~=nil then CastSpellByName("Moonfire(Rank 1)") else CastSpellByName("Moonfire(Rank "..r..")"); end


下面是另一個用於破壞圖騰的宏,它會搜尋附近的圖騰並對其使用1級的月火
/target [圖騰名的前5-10的字符]
/target [圖騰名的前5-10的字符]
/target [圖騰名的前5-10的字符]
/target [圖騰名的前5-10的字符]
/target [圖騰名的前5-10的字符]
/cast Moonfire(Rank 1)

下面是一個圖騰名列表:
-- Air
"Nature Resistance Totem",
"Windwall Totem",
"Windfury Totem",
"Grace of Air Totem",
"Grounding Totem"

-- Earth
"Stoneclaw Totem",
"Earthbind Totem",
"Tremor Totem",
"Strength of Earth Totem",
"Stoneskin Totem"

-- Water
"Fire Resistance Totem",
"Poison Cleansing Totem",
"Disease Cleansing Totem",
"Healing Stream Totem",
"Mana Spring Totem"

-- Fire
"Frost Resistance Totem",
"Flametongue Totem",
"Magma Totem",
"Fire Nova Totem",
"Searing Totem"


19.自然之速(氣定神閒)

下面是薩滿自然之速接治療波的一例:
/target "player"
/script CastAway("swift",10,"Nature's Swiftness","Healing Wave(Rank 9)")
/script TargetLastEnemy();
/script AttackTarget();

使用了自然之速之後馬上就能跟上治療波而不用按2次技能。法師可以將自然之速換爲氣定神閒,後面的治療波也可以換成任何可搭配使用的魔法。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章