戰網通用宏緩存路徑
wtf\Account\賬戶名\macros-cache.txt
最多支持120個通用宏
職業專用宏緩存路徑
wtf\Account\賬戶名\服務器\游戲ID\macros-cache.txt
最多支持18個專用宏
單個宏最多支持255個字符
宏編輯窗口命令 /m 或 /macro
快速插入技能或物品名稱,可以將光標定位在宏編輯窗口后,按住shit點擊相應的技能書內的法術或背包內的物品。
目標選擇
/assist - 協助
/cleartarget - 清除目標
/targetexact - 確切名稱選定目標,不能有拼寫錯誤
/targetlasttarget /targetlastfriend /targetlastenemy - 之前目標,如果以前沒有目標則無效
/targetenemy /targetfriend - TAB和CTRL+TAB功能,可增加參數1反轉順序
/targetenemyplayer /targetfriendplayer - 切換目標只針對玩家,可增加參數1反轉順序
/targetparty /targetraid - 切換小隊或團隊成員,可增加參數1反轉順序
寵物控制
/petattack - 寵物攻擊,可指定目標
/petfollow - 寵物跟隨
/petstay - 寵物停留原地
/petmoveto - 寵物移動指定位置
/petpassive /petdefensive - 寵物反應模式,被動,防守
/petautocaston /petautocastoff /petautocasttoggle - 寵物施法自動開關
圖標及提示
#show - 顯示法術圖標,可以是法術名、物品名、物品ID、物品欄或背包欄編號。
#showtooltip - 顯示法術圖標及鼠標提示,可以是法術名、物品名、物品ID、物品欄或背包欄編號。
例如:#showtooltip 潛行,#show [mod:shift] 潛行; 斜掠
用法與/cast /use 是完全一樣的
裝備
/equip - 將裝備放到默認欄位
/equipslot - 將裝備放到指定欄位
/equipset -
/equipslot - 切換左右手武器
隊列施法
/castsequence - 隊列施法
reset=n/target/combat/shift/alt/ctrl - 隊列重置條件
/castrandom - 隨機施法隊列
攻擊
/startattack - 開始自動攻擊
/stopattack - 停止攻擊
動作條
/changeactionbar - 改變動作欄序,參數1-5
/swapactionbar - 交替改變動作欄,參數1-5,參數1-5
取消
/cancelaura - 取消指定的增益效果
/cancelform - 取消形態
/stopcasting - 取消施法
/stopmacro - 終止宏
/dismount - 離開坐騎,下馬
模擬點擊
/click - 模擬單擊按鈕,參數1:框架名,參數2:模擬鍵位
LeftButton(默認),MiddleButton,RightButton,Button4,Button5
宏突破255字符限制
可以在最后一行加上一個/click 參數為框架名,將后續內容寫在另一個宏內,將其拖到想要跳轉的動作條上即可。
/run local f = GetMouseFocus() if f then print(f:GetName()) end - 獲取鼠標指針下的框架名
宏語法
/命令 [條件, 條件][更多條件]參數; [條件, 條件][更多條件]參數...
條件內的逗號可以看作是and,只有逗號前后條件都滿足,整個條件才為true。
條件和條件間可以看作是or,如果前一個條件不滿足,那么會繼續檢查后一個條件。
分號可以看作else或else if,如果分號前的所有條件都為false,則執行分號后的語句。
空條件的結果始終為true,例如:
/cast [@mouseover, help][] 治療術,當沒有空參數時,判斷鼠標指向為非友方將不會施放治療術,因為條件結果為false,放一個空條件就是為了最終必然會執行一次針對自己的治療術。
一個分號后面如果是空的,則默認具有一個為真的空條件和空參數,所以要小心使用分號;
余光
在不失去當前目標的情況下,定位另一目標
[@]可以替代[target=]
@unitid - 任何有效的unitid (@palyer玩家自己,@target目標,@focus焦點)
@cursor - 光標下的地面
@mouseover - 鼠標划過的目標
條件判斷
所有條件,都可以在前面加no來取反
combat - 是否進戰斗
canexitvehicle - 處於載具中是否可以退出
channeling,channeling:spellName - 自己是否在引導法術,或者正在引導指定的法術
dead - 是否死亡
exists - 判斷是否存在於當前區域
equipped:type,worn:type - 是否裝備了特定類型的物品
form:n,stance:n - 當前是否為指定形態
flying - 是否為飛行狀態
flyable - 當前區域是否支持飛行
group,group:party,group:raid - 是否在小隊或團隊中
help,harm - 是否可治療(即友方),是否可傷害(即敵方)
indoors,outdoors - 是否在室內或室外
mounted - 是否在坐騎上
mod:ctrl/shift/alt - 檢查組合鍵是否為ctrl或shift或alt
party,raid - 單位是否與你在同一小隊,團隊
petbattle - 是否在寵物格斗中
pet,pet:name,pet:family - 是否是指定的寵物或者類別,單pet判定寵物是否存在
resting - 是否在休息區域休息
swimming - 是否處於水中
stealth - 是否潛行
spec:n - spec:n1/n2 - 是否指定專精
talent:row/col - 天賦是否為指定的行/列
unithasvehicleui - 單位是否處於載具UI狀態,例如一些機器人,大炮,而非坐騎。
資料參考 Wowpedia, the World of Warcraft wiki encyclopedia (fandom.com)