導(dǎo) 魔獸世界60年代經(jīng)典懷舊服除了各職業(yè)練級問題,宏設(shè)置也成為很多人非常頭疼的問題。那么對于法師職業(yè)來說,宏命令怎么設(shè)置?下面就為大家?guī)砟ЙF世界60懷舊服法師宏設(shè)置教程。 魔獸世界懷舊服法師宏怎么...

魔獸世界60年代經(jīng)典懷舊服除了各職業(yè)練級問題,宏設(shè)置也成為很多人非常頭疼的問題。那么對于法師職業(yè)來說,宏命令怎么設(shè)置?下面就為大家?guī)砟ЙF世界60懷舊服法師宏設(shè)置教程。

《魔獸世界》懷舊服法師宏設(shè)置攻略

魔獸世界懷舊服法師宏怎么設(shè)置

值得推薦的是一個叫做Super Macro的插件,它支持7000字長的宏,還支持/use命令,自己尋找背包內(nèi)物品而不用把物品放在固定格子再做宏來使用,還支持宏顯示宏內(nèi)含的技能的冷卻倒計時,還支持以buff名字來取消buff以下我會介紹一些基于這個插件的宏(基本都是我自創(chuàng)或者改寫的,如果發(fā)現(xiàn)網(wǎng)上有類似的絕對我發(fā)布在別處被人引用的):

首先介紹個取得技能名字的語句

/script DEFAULT_CHAT_FRAME:AddMessage(GetSpellName(X,0));

可以把這句做成宏,然后要用的時候復(fù)制里面的內(nèi)容到聊天欄,把這里的X請換成數(shù)字,可以顯示出相應(yīng)編號的技能,想要知道技能編號就一點點用數(shù)字試,因為不同天賦技能書的技能編號是不同的(因為有些技能要天賦支持)

奧術(shù)智慧宏:

/script r=5;l={1,14,28,42,56};if not UnitIsFriend("player","target")then TargetUnit("player");end;t=UnitLevel("target");for i=r,1,-1 do if (t>=l[ i]-10) then CastSpellByName("奧術(shù)智慧(等級 "..i..")");break;end;end;

/script if UnitIsUnit("player","target") then TargetLastTarget();end;

/script if( SpellIsTargeting()) then SpellTargetUnit("player");end;

效果:根據(jù)目標(biāo)等級自動選擇相應(yīng)等級的奧術(shù)智慧,這個宏網(wǎng)上到處都是但是因為宏長度的關(guān)系所以不完善,我把它改了改但是超過255個字了所以必須要supermacro支持。原版沒有的功能:如果目標(biāo)為不可施放單位(敵對,npc等)則對自己使用并且不丟失目標(biāo),如果無目標(biāo)則對自己使用并且保持無目標(biāo)。

繃帶宏:

/script if (GetZoneText() == "阿拉希盆地") then UseItemByName("污染者的符文布繃帶"); elseif (GetZoneText() == "戰(zhàn)歌峽谷") then UseItemByName("戰(zhàn)歌峽谷符文布繃帶"); elseif (GetZoneText() == "奧特蘭克山谷") then UseItemByName("奧特蘭克厚符文布繃帶"); else UseItemByName("厚符文布繃帶");end;

/script if( SpellIsTargeting()) then SpellTargetUnit("player");end;

效果:根據(jù)3大戰(zhàn)場和其他場所自動選擇對應(yīng)3大戰(zhàn)場的繃帶及厚符問繃帶,無目標(biāo)/目標(biāo)為敵人/目標(biāo)不可被繃帶/目標(biāo)為自己時給自己打繃帶,目標(biāo)為友方時對其打繃帶。身上帶4種繃帶就好無論放什么位置。原來為傳統(tǒng)宏使用者設(shè)計過這個宏但是要分2個先點一個取變量很麻煩,現(xiàn)在既然用這個插件就合并成一鍵了。

強制對自己繃帶宏:

/script TargetUnit("player");

/script if (GetZoneText() == "阿拉希盆地") then UseItemByName("污染者的符文布繃帶"); elseif (GetZoneText() == "戰(zhàn)歌峽谷") then UseItemByName("戰(zhàn)歌峽谷符文布繃帶"); elseif (GetZoneText() == "奧特蘭克山谷") then UseItemByName("奧特蘭克厚符文布繃帶"); else UseItemByName("厚符文布繃帶");end;

/script TargetLastTarget();

功能如上一個只是無論什么情況都對自己打(盜賊用丟星,法師用沒事)

最完美的冰箱宏:

/script SpellStopCasting(); CancelBuff("寒冰屏障"); if (GetSpellCooldown(179,0) >= 2) then CastSpell(147,0); else CastSpellByName("寒冰屏障"); end;

功能:中斷正在施放法術(shù)并使用冰箱;如果在冰箱中就解冰箱;如果冰箱冷卻時間大于2秒則使用急冷。傳統(tǒng)冰箱宏能解決冷卻中使用急冷的問題,但是又沒辦法做到像按技能書里拉出來冰箱技能那樣1鍵開1鍵解,這個宏把2者合并了,需要supermacro的cancelbuff語句支持

注:其中179是我目前的冰箱編號,147是急冷編號,下同

解毒劑宏:

/use 特效抗毒藥劑

/script if( SpellIsTargeting()) then SpellTargetUnit("player");end;

功能:對目標(biāo)使用解毒劑,無目標(biāo)/目標(biāo)為敵人/目標(biāo)為自己/目標(biāo)無法使用該物品則對自己使用

鐵皮手雷宏:

/script SpellStopCasting();

/use 鐵皮手雷

功能:使用手雷,再按為取消;不限制手雷放在背包什么位置

一鍵喝紅:

/use 特效治療石

/use 特效治療藥膏

/use 作戰(zhàn)治療藥水

/use 特效治療藥水

效果:按順序使用極效治療石,戰(zhàn)場5分鐘冷卻的瓶子,榮譽瓶子,極紅

一鍵蘿卜/夜龍:

/use 鞭根塊莖

/use 夜龍之息

一鍵4種魔法石按順序吃:

/use 法力紅寶石

/use 法力黃水晶

/use 法力翡翠

/use 法力瑪瑙

從大到小順序,不用再為他們準(zhǔn)備不同的格子了

以上宏都需要super macro支持

再來其他一些常規(guī)宏:

冰環(huán)宏:

/script SpellStopCasting(); local start, duration = GetSpellCooldown(156, 0); if ((GetTime() - start) <= 2) or ((GetTime() - start) >= 19) then CastSpellByName("冰霜新星(等級 1)"); else CastSpellByName("急速冷卻"); end

效果:放冰環(huán),冷卻時間如果大于2秒小于19秒則使用急冷。

注:其中156是我目前的1級冰環(huán)編號

吹風(fēng)宏:

/script local start, duration = GetSpellCooldown(151, 0); if ((GetTime() - start) <= 2) or ((GetTime() - start) >= 9) then CastSpellByName("冰錐術(shù)(等級 5)"); else CastSpellByName("急速冷卻"); end;

效果:放吹風(fēng),冷卻時間大于2秒小于9秒則使用急冷,用來狂按實現(xiàn)冰環(huán)后雙吹風(fēng)

注:其中151是我目前的5級吹風(fēng)編號

法術(shù)增符:

/script if not UnitIsFriend("player","target")then TargetUnit("player");end;

/cast 魔法增效(等級 4)

/script if( SpellIsTargeting()) then SpellTargetUnit("player");end;

/script if UnitIsUnit("player","target") then TargetLastTarget();end;

目標(biāo)為隊友則對其使用,無目標(biāo)/目標(biāo)自己/目標(biāo)敵人/目標(biāo)不可使用該技能則對自己使用

法術(shù)抑制:

/script if not UnitIsFriend("player","target")then TargetUnit("player");end;

/cast 魔法抑制(等級 5)

/script if( SpellIsTargeting()) then SpellTargetUnit("player");end;

/script if UnitIsUnit("player","target") then TargetLastTarget();end;

同上,和alt cast說再見吧

氣定豬:

/cast 氣定神閑

/script SpellStopCasting();

/cast 變形術(shù):豬

氣定大火球:

/cast 氣定神閑

/script SpellStopCasting();

/cast 炎爆術(shù)(等級 8)

奧強+護符雙開(護符放在下面一格)

/script UseInventoryItem(14);

/cast 奧術(shù)強化

雙開大火球(跑動中需連按3下,原地不動1下就好)

/script UseInventoryItem(14);

/script SpellStopCasting();

/cast 奧術(shù)強化

/script SpellStopCasting();

/cast 氣定神閑

/script SpellStopCasting();

/cast 炎爆術(shù)(等級 8)

單開氣定冰蛋

/script UseInventoryItem(14);

/cast 氣定神閑

/script SpellStopCasting();

/cast 寒冰箭(等級 10)

中斷正在施放法術(shù)并反制

/script SpellStopCasting()

/script CastSpellByName('法術(shù)反制')

盆地求助宏:

/script SendChatMessage ("Help "..GetSubZoneText().."!!", "Raid", nil, 1);