一:基礎(chǔ)教程 1.什么是宏命令? 玩過EQ的都知道一點(diǎn)宏的知識,比如組隊(duì)時(shí)用來告訴隊(duì)友你的行動,告訴目標(biāo)等。最簡單的比如puller 常用的: /v %t過來了,大家集中火力。 法師常用的: /v 我要催眠%t,大家不要打醒他 這些宏個(gè)性鮮明,是EQ的一大樂趣之一。 然而EQ畢竟是N年前的游戲,宏也比較簡單,和它比起來。WOW的宏就復(fù)雜和強(qiáng)大的多了。它的函數(shù)就有上千種,如果都掌握,能實(shí)現(xiàn)許多匪夷所思的功能。 一個(gè)宏可以完成一個(gè)相對比較復(fù)雜的命令.比如戰(zhàn)斗中發(fā)布命令,如果打字當(dāng)然不算麻煩,但在戰(zhàn)斗中卻很要命.浪費(fèi)了時(shí)間和生命.一個(gè)簡單的宏便可以用一個(gè)鍵來完成這一切. 2.宏命令的設(shè)置流程: 首先,回車,再敲/MACRO??匆娏税??會彈出一個(gè)窗口,上面有New(新建宏命令)和Complete(完成宏命令)兩個(gè)按鍵。點(diǎn)New,又會彈出一個(gè)窗口,哇,花花綠綠的,里面包括了WOW幾乎所有的技能圖標(biāo),隨你喜歡,隨便選一個(gè)!它就是你設(shè)置的宏命令的圖標(biāo)了,給它取個(gè)名字吧!方便你用的時(shí)候好找。然后回到第一個(gè)窗口,在它上面有一個(gè)輸入菜單(別告訴我找不到…它可是占了這個(gè)窗口的一半多…)在里面輸入特定的內(nèi)容,然后點(diǎn)Complete。接下來你要做的就是把這個(gè)代表你宏命令的圖標(biāo)用鼠標(biāo)左鍵拉到快捷欄里,想怎么用就怎么用… 3.下面就是怎樣設(shè)置宏的內(nèi)容了,簡單的設(shè)置大家可以看我們網(wǎng)站上"基礎(chǔ)"篇的宏介紹. 相信很多人都知道WOW中的斜杠"/"和表情命令.宏可以將這些命令按照自己對條件的設(shè)置串聯(lián)起來,比如:/Kneel是讓你跪下來的動作而/say就是最基礎(chǔ)的對話動作 我們現(xiàn)在用一個(gè)宏把他們串起來: 第一行內(nèi)容:“/Kneel” 第二行內(nèi)容:“/say 如果你不嫁給我,那么我就一輩子不起來…” ” 這樣你的人物就會先下跪再說:"如果你不嫁給我,那么我就一輩子不起來…" 宏可以應(yīng)用所有WOW中已經(jīng)定義了的斜杠"/"和表情命令,更要命的是,宏甚至可以應(yīng)用人物的魔法和技能, 只需要在宏的定義過程中應(yīng)用"/cast"命令,下面是已知的一些常用命令: /Assist 這是個(gè)援助進(jìn)攻的命令。當(dāng)你的隊(duì)伍同時(shí)面對幾個(gè)敵人時(shí),只要點(diǎn)擊自己的隊(duì)友(一般是隊(duì)伍中的戰(zhàn)士),然后使用這個(gè)命令,你的目標(biāo)就會變成戰(zhàn)士所選中的目標(biāo)。大家集中火力消滅一個(gè)起! /Cast 這是個(gè)使用技能的命令。當(dāng)你在宏命令里輸入/Cast 技能名(技能等級)或者只要按住Shift同時(shí)用鼠標(biāo)點(diǎn)擊一下你想要輸入的技能的圖標(biāo)。例如當(dāng)你是一個(gè)戰(zhàn)士,想制作一個(gè)使用戰(zhàn)斗怒吼的宏時(shí),你可以輸入/Cast Battle Shout(Rank 1)或者是直接按住Shift點(diǎn)擊Battle Shout這個(gè)技能的圖標(biāo)。當(dāng)然你可以在一個(gè)宏的不同行上輸入幾個(gè)技能,那么當(dāng)你使用這個(gè)宏時(shí),幾個(gè)技能就會一起釋放出來,再用不著你像章魚一樣同時(shí)按下幾個(gè)鍵了 。 %t 這個(gè)符號也許會經(jīng)常出現(xiàn)在你的宏命令里,它是一個(gè)代碼,代表你當(dāng)前所選中的人名。例如,你在宏里寫下這么一句。(注意:后面要加一空格。) “/g %t ,今天天氣真好,有沒興趣和我一起上山采蘑菇…” 如果你點(diǎn)中一位名叫苯笨的玩家,那么當(dāng)你按下這個(gè)宏時(shí),你就會說:“笨笨,今天天氣真好,有沒興趣和我一起上山采蘑菇…” /Target 這是一個(gè)自動選擇目標(biāo)的命令,你可以在宏里輸入/Target (xxx),那么當(dāng)你按下這個(gè)宏時(shí),你將自動選定這個(gè)叫xxx的目標(biāo)。 /in 這是一個(gè)延時(shí)命令,時(shí)間以秒為單位.同時(shí)它不支持攻擊指令.格式:/in 3 dance 三秒后跳舞,如/in 3 dance,就是在3秒后跳舞, /say start! /in 3 say 3s later /in 6 say 6s later 二:進(jìn)階教程 一些有用的 Macro 1。允許你在窗口和全屏狀態(tài)之間切換 /script SetCVar("gxWindow", 1 - GetCVar("gxWindow")); /console gxRestart 2。對于法師,必須要有的:將“X”換為你目前的變形術(shù)等級(下同);用它替換掉變形術(shù)技能。當(dāng)你在隊(duì)伍之外時(shí)使用它會得到“你不在隊(duì)伍中?!钡男畔?,但在隊(duì)伍中的時(shí)候其它同伴會了解到你將釋放的變形術(shù)目標(biāo)。 /p Sheeping >>> %t <<<<SPAN class=Apple-converted-space> /cast Polymorph (Rank X) 3。作為一個(gè)術(shù)士,這是在隊(duì)伍中使用的宏:首先將目標(biāo)轉(zhuǎn)為拖怪手或者坦克正在攻擊的目標(biāo),然后命令寵物向前攻擊,跟著一個(gè)虛弱詛咒。 /assist 隊(duì)伍中的拖怪手或者坦克的名字 /script PetAttack(); /cast Curse of Weakness (Rank X) 4。從背包和袋子里切換身上的武器 /script if ( not CursorHasItem() ) then PickupContainerItem(, ); PickupInventoryItem( ); end bag# - 使用哪一個(gè)袋子的物品(0、1、2、3、4。0是背包) slot# - 袋子里的位置(從0至左上) equip# - 16 是主要武器, 17 是副武器 5。這個(gè)宏治療隊(duì)伍里你指定的人,如果你不在隊(duì)伍中它會治療你自己。然后會自動將目標(biāo)切換回你最后一個(gè)敵人。它同時(shí)還會使用隊(duì)聊提醒隊(duì)友你會治療哪一個(gè)人。 /script if (UnitName("target") ~=nil and UnitIsFriend("player","target")) then CastSpellByName("Heal(Rank X)") SendChatMessage("Incoming Heal to %T", "Party") else TargetUnit("player") CastSpellByName("Heal(Rank X)") TargetLastEnemy(); end 6。加速任務(wù)顯示速度 /script QUEST_DEscriptION_GRADIENT_CPS = 600000 /script RegisterForSave("QUEST_DEscriptION_GRADIENT_CPS") /script DEFAULT_CHAT_FRAME:AddMessage("quest text will scroll faster now"); 7。消除等待接受任務(wù)的時(shí)間 /script AcceptQuest() 8。這個(gè)宏可以在路上自動護(hù)送玩家做任務(wù)。 /assist [player name] /cast 法術(shù)(Rank X) /target [player name] /follow [player name] 9。切換主副武器,詳情看第四條 /script PickupInventoryItem(16); PickupInventoryItem(17); 10。在沒有目標(biāo)或者目標(biāo)是敵人的時(shí)候給自己加增益魔法或治療。 CastSpellByName("Spell Name(Rank X)"); if ((SpellIsTargeting()) and (not UnitIsFriend("player","target"))) then SpellTargetUnit("player"); end; TargetLastEnemy(); 11。切換雙手武器與單手+盾或者雙手揮舞武器 /script PickupInventoryItem(17);if(CursorHasItem()) then PickupContainerItem (4,2);PickupContainerItem(4,1);PickupInventoryItem(16);else PickupContainerItem (4,1);PickupInventoryItem(16);PickupContainerItem(4,2);PickupInventoryItem(17);end 12。設(shè)定“真實(shí)鼠標(biāo)視野” /script CameraOrSelectOrMoveStar 想取消就再次輸入。 13。切換近程技能欄和遠(yuǎn)程技能欄 /script CURRENT_ACTIONBAR_PAGE = 2; /script ChangeActionBarPage(); /cast aspectofmonkey (just use the left click) /script CURRENT_ACTIONBAR_PAGE = 1; /script ChangeActionBarPage(); /cast aspectofhawk (just use the left click) 14。牧師對隊(duì)友的一鍵加血,比如一號鍵給第一隊(duì)友加血,二號鍵給第二隊(duì)友加血,免除了還要鼠標(biāo)確 定目標(biāo)的操作。依次類推,從第一個(gè)人到最后一個(gè) 給隊(duì)友1加血: /script TargetUnit(GetPartyMember(1)) CastSpellByName(Heal(Rank X)) TargetLastEnemy() 給隊(duì)友2加血: /script TargetUnit(GetPartyMember(2)) CastSpellByName(Heal(Rank X)) TargetLastEnemy() 給隊(duì)友3加血: /script TargetUnit(GetPartyMember(3)) CastSpellByName(Heal(Rank X)) TargetLastEnemy() 15。一鍵解決喂養(yǎng)寵物:這個(gè)宏會從最左邊的袋子里的第一個(gè)位置拿出食物喂養(yǎng)寵物,如果所在的位置 沒有食物,它會自動打開袋子。 /script if (not PlayerFrame.inCombat) then if (not GetContainerItemLink(4, 1)) then OpenBag(4); else CastSpellByName("Feed Pet"); PickupContainerItem(4, 1); end end 16。術(shù)士宏 1)如果目標(biāo)生命大于20,釋放抽取生命法術(shù),否則使用靈魂抽取。 /script if (UnitHealth("target")>20) then CastSpellByName("Drain Life(Rank X)") else CastSpellByName("Drain Soul(Rank 2)") end; 2)虛弱詛咒版本 /script if (UnitMana("target")>0) then CastSpellByName("Curse of Tongues(Rank X)") else CastSpellByName("Curse of Weakness(Rank X)") end; 17.先治療自己,然后自動選中上次的敵人 /target Pugar //選擇自己,假設(shè)自己的名字是Pugar /cast Lesser Heal (Rank 1) //施展次級治療rank1 /script TargetLastEnemy(); //重新選擇剛剛選擇的敵人 /script AttackTarget(); //攻擊,等同于右鍵點(diǎn)擊敵人 18.對于一個(gè)術(shù)士很有用的宏:首先將目標(biāo)轉(zhuǎn)為拖怪手或者坦克正在攻擊的目標(biāo),然后命令寵物向前攻擊 ,跟著一個(gè)虛弱詛咒。 /assist 隊(duì)伍中的拖怪手或者坦克的名字 /script PetAttack(); /cast Curse of Weakness (Rank X) 19.等治療完之后提醒別人注意下自己有可能被怪打,不加延時(shí)的話,就沒這個(gè)效果了。 /p healing %T, need 3s, don"t run away /cast heal (rank 1) /in 4 p cured %T 300HP,please notice the enemies turn on me^_^ 20.在路上自動護(hù)送朋友做任務(wù)。 /assist [player name] /cast 法術(shù)(Rank X) /target [player name] /follow [player name] 三:高級教程 WOW的宏函數(shù)庫可以去這兩個(gè)地方查: ] http://www./texts/BlizzardCommands.xml ] http://www./index.php/World_of_Warcraft_API 函數(shù)的使用比較簡單,學(xué)習(xí)過編程的都比較容易上手,基本的用法是在函數(shù)前加/script 來使用。比如 /script CURRENT_ACTIONBAR_PAGE = X; /script ChangeActionBarPage(); 就是將你的快捷欄翻到第X頁。 函數(shù)庫中有許多函數(shù)都是非常有用和方便的,比如一次打開所有包包: /script OpenAllBags(); 配合關(guān)閉包包的函數(shù),一次關(guān)閉所有包的宏也可以實(shí)現(xiàn): /script CloseBag(0); /script CloseBag(1); /script CloseBag(2); /script CloseBag(3); /script CloseBag(4); 怎么樣,下次你賣東西的時(shí)候不會一個(gè)個(gè)開包關(guān)包了吧? 使用函數(shù)還不是最恐怖的,恐怖的是WOW的宏是可以用條件判斷的,看下面這兩個(gè): /script if ( GetComboPoints() >= 3 ) then CastSpellByName("Rip(Rank 2)"); else if ( UnitMana("player") >= 40 ) then CastSpellByName("Rake(Rank 1)"); end end 據(jù)說這個(gè)包含if,then的宏可以讓盜賊實(shí)現(xiàn)自動根據(jù)combo點(diǎn)數(shù)來使用技能(未測試),其中還使用了角 色MANA值的調(diào)用,恐怖吧?還有這個(gè)查找spell的宏: function GetSpellIdByItsName(myWantedSpell, myWantedRank) local spellId = 1; local spellBook = "spell"; local spellName, rankName; spellName, rankName = GetSpellName(spellId, spellBook); while (spellName ) do if ( ( spellName == myWantedSpell ) and ( ( not myWantedRank ) or ( rankName = myWantedRank ) ) ) then return spellId; end spellName, rankName = GetSpellName(spellId, spellBook); end return -1; end 里面可以自己定義function,還使用了while,do這樣的循環(huán),是不是讓你想到了N種應(yīng)用的可能呢? 遺憾的是,目前官方似乎沒有提供延時(shí)的宏,所以在戰(zhàn)斗中使用多種有延時(shí)的技能是無法實(shí)現(xiàn)的(無延時(shí)的技能可以實(shí)現(xiàn)同時(shí)使用),類似換其他武器-使用技能或法術(shù)-換回武器這樣的功能也無法實(shí)現(xiàn), ?。ㄋ^用宏實(shí)現(xiàn)劍盾戰(zhàn)士換雙手武器MS再換回來是行不通的),不過使用COSMOS的朋友可以用/in 來實(shí)現(xiàn)非戰(zhàn)斗指令的延時(shí),比如 /in 3 say hi 就會在3秒后說句hi。 /in 6 /script MoveForwardStart(arg1); 就會在6秒后向前跑。 雖然法術(shù)和技能無法用/in指令來延時(shí),但這樣已經(jīng)很強(qiáng)大了,比如,你可以編出各種運(yùn)動的宏,如兜后,轉(zhuǎn)身等。PVP時(shí)估計(jì)是必不可少的。 下面是一個(gè)玩家寫的雙手武器戰(zhàn)士自動逃跑的宏: /script UseContainerItem(0, 2);ActionButtonDown(11);ActionButtonUp(11);ActionButtonDown (12);ActionButtonUp(12); /cast Thunder Clap(Rank 1); /script TurnLeftStart(arg1); /in 1 /script TurnLeftStop(arg1);ToggleAutoRun(); 使用這個(gè)宏的條件:在大包包第二格放了回復(fù)藥,快捷欄第11,12分別是一單手一盾的快捷方式。 使用這個(gè)宏后,角色自動喝回復(fù)藥,裝備上盾,使用Thunder Clap(這三個(gè)動作同時(shí)進(jìn)行),向后轉(zhuǎn)180度后開自動跑步鍵逃走。其中技能等可以根據(jù)需要自己改。怎么樣,是不是很夸張啊,哈哈。 還有一些有用的宏: 切換裝備, 雙手切換單手并換第二個(gè)快捷欄,快捷欄第11,12分別是一單手一盾的快捷方式 /script ActionButtonDown(11);ActionButtonUp(11);ActionButtonDown(12);ActionButtonUp(12); /script CURRENT_ACTIONBAR_PAGE = 2; /script ChangeActionBarPage(); 單手切換雙手并換回第一快捷欄,快捷欄12是一雙手武器快捷方式 /script ActionButtonDown(12);ActionButtonUp(12); /script CURRENT_ACTIONBAR_PAGE = 1; /script ChangeActionBarPage();
==================================================================================
宏就是一列以斜杠(/)開頭的命令集合
例:大喊“所有的人,來跳舞吧!”并同時(shí)使你的角色開始跳舞。
公共冷卻時(shí)間GCD
/use 裝備名稱裝備槽編號
表二:銀行空格編號:
指定目標(biāo)
例:將/target命令和/use結(jié)合起來
例:將/target命令和/cast結(jié)合起來
表四
在這些特定稱呼后再加一個(gè)"target"來表示它們的目標(biāo),比如"pettarget"就是你的寵物的目標(biāo)
其他指定目標(biāo)命令
例:更復(fù)雜的變羊宏,或許可以在戰(zhàn)場里用用?
例:在目標(biāo)與焦點(diǎn)間切換
依次施法:/castsequence
例:添加重置條件后的術(shù)士宏
隨機(jī)施法:/castrandom,隨機(jī)使用物品:/userandom
攻擊:/attack
控制動作條:/changeactionbar,/swapactionbar
/swapactionbar命令后需要跟兩個(gè)表示動作條的號碼。
移除BUFF:/cancelaura
解除形態(tài):/cancelform
停止施法:/stopcasting
模擬點(diǎn)擊動作條按鈕:/click
個(gè)人試驗(yàn)過 貌似現(xiàn)在的版本里沒有 /equip 這個(gè)命令了 希望大家都能在WOW中找到屬于自己的世界
|
|