下面是整個宏系統可用的條件列表。2.0補丁的目標之一是消除許多舊的“智能按鈕”,這些按鈕允許人們在整個游戲中反復發送一個鍵。然而,許多人們使用宏來簡化的任務被認為是OK的,并且通過宏選項得到了暴雪的認可。
如果您沒有在此處列出條件,則無法檢查條件并采取與戰斗有關的動作。盡管它們將來可能會增加,但這些基本上是不可協商的。
## 下列前面可以加no的條件
下面列出的也可以通過在它們前面加上“ no”來檢查它們的虛假性而不是真實性。例如,\[nocombat\]是有效的條件,并且只有在不參加戰斗的情況下才會執行跟隨它的動作。
actionbar:1/.../6 or bar:1/.../6 — 給定動作欄頁面被選中。
bonusbar:1/... — 一個(特定的)獎勵動作條當前會覆蓋玩家的主要動作條。
button:1/.../5/<virtual click> 或者 btn:1/.../5/<virtual click> — 宏被給定的鼠標按鈕激活。
canexitvehicle — 玩家在車里,可以隨意離開。
channeling:<spell name> — 玩家正在引導給定的咒語。
cursor — 鼠標光標當前正在保存一個項目/能力/宏/等等。
combat — 玩家在戰斗中。
dead — 條件目標存在且已死
nodead:存活
equipped:<item type> 或者 worn:<item type> — 判斷某件物品是否在裝備中 可以是裝備欄編號、裝備分類(武器、副手。。。)、裝備子類(雙手劍、法仗等等。。。)
target=\<unit> — 可以把技能目標指定為任何有效的目標,并且可以另你不丟失當前目標!還可以為“none”,用來指定沒有目標的時候。“self”,用來指定只對自己施放。比如`/use [target=self] 厚符文布繃帶`,無論任何時候都只對自己使用繃帶。
exists — 目標存在。
extrabar — 玩家目前有一個額外的行動欄/按鈕。
flyable — 可飛行時
flying — 懸掛的或以飛行形式和在空中的。
form:0/1/2/.../n or stance:0/.../n — 以某種形式或姿態 比如 [Bear Form], [Shadowform], [Metamorphosis], [Battle Stance], 等等.
group:party/raid — 玩家屬于給定類型的組(如果參數省略,默認為party:小隊)。
harm — 目標存在并且可以被有害法術(例如[火球])鎖定。
同nohelp
help — 目標存在并且可以被有效的增益法術(例如[治療])鎖定。
同noharm
indoors — 玩家在室內
modifier:shift/ctrl/alt 或者 mod:shift/ctrl/alt — 按下功能鍵alt/shift/ctrl時,可缺省
~~~
/cast [modifier, help] [modifier, @targettarget, help] 瞬間治療; [help] [@targettarget, help] 強效治療術
~~~
按下鍵盤左邊的ctrl按鈕時釋放獵人的標記,但當按下鍵盤右邊的shift按鈕時釋放假死
```
/cast [modifier:lctrl] 獵人印記; [modifier:rshift] 假死
```
創建一個宏,它有一個x的修飾符和兩個x的修飾符,其中一個修飾符和x的修飾符是一樣的,對于y,你必須先寫兩個修飾符
```
/cast [modifier:alt, modifier:ctrl, @focus] 奇美拉射擊; [modifier:ctrl] 奧術射擊; 穩固射擊
```
當你不使用任何修飾詞的時候,只希望獲得某種效果的時候,負條件的nomodifier是有用的。例如,以下宏可以使漂浮術消失,除非使用了shift符,否則它會取消漂浮術的光環。如果沒有‘nomodifier’,它每次都會被重新拋起。
~~~
/cancelaura [modifier:shift] 飄浮術
/cast [nomodifier] 飄浮術
~~~
self-cast變量的意思是“你的self-cast修飾符被設置成什么”。默認值是alt(施法時按住alt鍵會嘗試施法給自己),不過一些插件會給你改變這個選項
~~~
/cast [modifier:SELFCAST, @player] [@mouseover] [ ] Greater Heal
~~~
* AUTOLOOTTOGGLE (shift)
* STICKYCAMERA (ctrl)
* SPLITSTACK (shift)
* PICKUPACTION (shift)
* COMPAREITEMS (shift)
* OPENALLBAGS (shift)
* QUESTWATCHTOGGLE (shift)
mounted — 播放器安裝。
outdoors — 玩家在戶外。
overridebar — 玩家的主要行動欄目前被覆蓋行動欄取代。
party — 條件目標存在并且在你的隊伍中。
pet:<pet name or type> — 它允許你根據你的寵物選擇一個動作。跟寵物名或者寵物類型
寵物類型可以使用`/run print(UnitCreatureFamily("pet"))`獲取
~~~
/cast [pet] Freeze; Frost Nova
~~~
petbattle — 目前正在參加寵物大戰。
possessbar — 玩家的主要行動欄目前被占有行動欄取代。
raid — 件目標存在并且在你的團隊中。
resting — 玩家目前正在休息。
shapeshift — 玩家的主動作欄現在被臨時變形動作欄取代。
spec:1/2 — 玩家的主動專精組(天賦,天賦和雕文)。
stealth —玩家在潛行中。
swimming — 玩家在游泳。
talent:<row#>/<column#> — Talent is activated.
unithasvehicleui — 條件目標有載具UI。
vehicleui —玩家有載具UI。
@unit or target=unit — 將條件目標設置為unit(一個任意字符串,雖然unitIds與其他條件結合使用可能更有用);總是認為滿意。
##
### actionbar:1~6
將\[腐敗\]施放到你的鼠標所在的單位上(如果它存在并且是敵對的),但如果不是這樣,則施放\[生命之戳\]:
~~~
/cast [@mouseover,harm] 腐敗; 偷取生命
~~~
該宏將在動作欄2和3之間切換 如果是2則施放狂野怒火 其他則施放野性守護
```
/swapactionbar 2 3
/cast [actionbar:2] 狂野怒火;野性守護
```
### button:1~5 或者 btn:1~5
>判斷某個特定按鈕是否被用來觸發技能
1(鼠標左鍵)、2(鼠標右鍵)、3(鼠標按鍵3,也就是鼠標滾輪向下按,不是向上滾也不是向下滾)、4(鼠標按鍵4,多鍵鼠標專用)、5(鼠標按鍵5,多鍵鼠標專用)。默認為1
~~~
#show Swift Green Mechanostrider
/userandom [nobutton:2, flyable, nomounted] 黑色獅鷲; [nomounted] 烏龜, 摩托車
/dismount [noflying] [button:2]
~~~
未騎乘時的行為:如果可以使用,左鍵點擊將選擇黑色鷹頭獅(可飛行),否則它將隨機選擇烏龜或摩托車。右鍵點擊總是會選中一個。
騎乘時的行為:左鍵單機只會在不飛行時下馬。右鍵單擊總是會下馬。
“虛擬點擊”通常是可以忽略的,但如果你使用一個欄mod它可能是有用的。響應各種狀態更改的操作欄將單擊轉換為決定使用哪個操作的虛擬操作欄。因為這些虛擬點擊是插件指定的
### exists
給定的單元是否存在。換句話說,如果沒有目標,\[exists\]將返回false。如果你有一個焦點,\[@focus, exists\]就是真的。注意,在某些情況下\[存在\]是不必要的。
\[help\], \[harm\], \[dead\], \[party\], and \[raid\]都暗示\[exists\],如果它們是真的。
### flyable
[flyable]確定您是否在允許使用飛行支架的區域中。有一些例外,例如戰斗中的冬草,即使禁止實際飛行,[flyable]也將是正確的
### stance:1/2/3/4/5/6 或者 form:1/2/3/4/5/6
玩家處于某種形態
形態是德魯伊變形,盜賊(潛行),牧師(暗影形態),薩滿(幽靈狼),術士變形以及僧侶和戰士姿態的總稱
如:
恢復:1熊,2水棲,3豹,4旅行,5樹,6飛行
平衡:1熊,2水棲,3豹,4旅行,5梟獸,6飛行
恢復:1熊,2水棲,3豹,4旅行,5樹,6飛行
~~~
/cast [form:1/3] 撕裂; [noform] 憤怒
~~~
以下腳本將打印您當前所在的表單/姿勢的表單索引:
~~~
/run print(GetShapeshiftForm())
~~~
### channeling:<spell name>
>通常情況下,如果你正在引導一個法術并開始施放另一個法術,它將取消該通道。這個選項允許您避免這種情況發生,還有其他一些用途。例如,你可能想取消某個咒語,但又不想取消另一個。單獨通靈可以匹配任何法術,你也可以列出任意數量的法術名來檢查。
注意:引導和施法不一樣。\[引導]條件只適用于\[奧術飛彈\]、\[吸取生命\]、\[心靈鞭笞\]等法術,這些法術必須隨時間引導才能產生效果。
### equipped:\<item type> 或者 worn:\<item type>
挑選盾牌重擊或重擊取決于我有什么裝備
~~~
#show [equipped:Shields] 盾牌猛擊; Pummel
/cast [equipped:Shields,stance:1/2] 盾牌猛擊; [equipped:Shields] 防守姿態; [stance:3] Pummel; 狂戰士姿態
~~~
下面用偽代碼顯示上面宏的邏輯
~~~
if 裝備了盾牌 and 我處于戰斗或防御姿態 then
/cast 盾牌猛擊
else if a shield is equipped then
/cast 防守姿態
else if 我是狂戰士姿態 then
/cast Pummel
else
/cast 狂戰士姿態
~~~
## **對特定目標釋放技能**
```
#showtooltip
/cast [@目標名,exists] [] 技能名?
#showtooltip
/cast [@哈提,exists] [] 靈魂治愈
```
>此宏會對特定目標釋放所定的技能,目標不存在的話就直接釋放技能?如果沒有同名的那么系統會選擇一個"某種程度上比較相近"的人?同時也可以寫player,raid#之類的,詳見第一部分
## **簡單的循環**
#showtooltip
/castsequence reset=條件1/條件2 技能1,技能2,技能3 依次釋放技能,技能名之間用","間隔
條件可以是?
#(秒數) target(切換目標) combat(進入戰斗) shift/alt/ctrl(按下shifit/alt/ctrl)
例?Code:?
```
#showtooltip
/castsequence reset=6/combat 痛擊,橫掃,挫志咆哮,橫掃
```
```
/run local a={"縈霧","幽界","幽影"} b=mod(b or 0,#(a))+1 BrowseName:SetText(a[b]) QueryAuctionItems(a[b])
```
2.1.5.雙技能宏
#showtooltip
```
/cast [條件]技能1;技能2
```
>符合條件就釋放技能1,否則就釋放技能2?技能名之間用";"間隔?條件可以是自身條件也可以是目標條件?可以用來節省空間,制作也極為簡單?
例1:?Code:?
```
#showtooltip
/cast [stance:1]激怒;猛虎之怒
例2:?Code:
#showtooltip
/cast [harm]安撫;解除腐蝕
```
in :延遲執行
~~~
/say start!
/in 3 /say 3s later
/in 6 /say 6s later
~~~
- 基礎
- 循環
- 迭代器
- ipairs與pairs 的區別
- 流程控制if
- 函數
- 運算符
- 字符串
- 數組
- table(表)
- 模塊與包
- 魔獸插件
- 初學介紹
- api
- Global API
- Widget API
- 窗口小部件類層次結構(Widget Class Hierarchy)
- 動畫(Animation)
- 透明度(Alpha)
- 線條縮放比例(LineScale)
- 平移(Translation)
- 線平移(Line Translation)
- 路徑(Path)
- 旋轉(Rotation)
- 縮放(Scale)
- 紋理坐標平移(TextureCoordTranslation)
- 框架 :Frame
- 瀏覽器(Browser)
- 按鍵(Button)
- Item按鈕(ItemButton)
- 檢查按鈕(CheckButton)
- 檢測(Checkout)
- 顏色選擇(ColorSelect)
- 冷卻(Cooldown)
- 編輯框(EditBox)
- 戰爭迷霧(FogOfWarFrame)
- 游戲工具提示(GameTooltip)
- 消息框(MessageFrame)
- 小地圖(Minimap)
- 模型(Model)
- 玩家模型(PlayerModel)
- 電影模型(CinematicModel)
- 換裝模型(DressUpModel)
- 戰袍模型(TabardModel)
- _模型場景(ModelScene)
- 電影Frame(MovieFrame)
- 根小部件(Root Widgets)
- UIObject衍生品(UIObject Derivatives)
- 動畫衍生品(Animation Derivatives)
- FontInstance
- 地區衍生品(Region Derivatives)
- 幀衍生品(Frame Derivatives)
- 特殊(Special)
- Events(游戲中變化的事件)
- WoWAPI
- Global Function Groups
- 帳戶(Account)
- 成就(Achievements)
- 動作條(Action Bars)
- Action Buttons
- 插件(AddOns)
- 冒險指南(Adventure Guide)
- 神器(Artifact)
- 拍賣行(Auction House)
- 黑市AH
- 魔獸代幣(WoW Tokens)
- Azerite
- 背包(Bags)
- 容器(Containers)
- 庫存(Inventory)
- 銀行(Bank)
- 公會銀行(Guild Bank)
- 理發店(Barber Shop)
- 書籍(書籍)
- 日歷(calendar)
- 相機(Camera)
- 頻道(Channels)
- 聊天窗口(Chat Window)
- 社區(communities)
- 語音聊天(Voice Chat)
- 推特(Twitter)
- 角色(Character)
- 角色表(Paper Doll)
- 試衣間(dressing room)
- 活動(Movement)
- 指定目標(Targeting)
- 死亡(Death)
- 過場動畫(Cinematics)
- 職業(class)
- 天賦(Talents)
- 收藏(Collections)
- 坐騎(Mount Journal)
- 寵物(Pet Journal)
- 玩具箱(Toy Box)
- 傳家寶(Heirlooms)
- 外觀(Appearances)
- 戰斗記錄(Combat Log)
- 戰斗寵物(Combat Pets)
- 同伴(Companions)
- Contribution Collection
- 貨幣(Currency)
- 光標(Cursor)
- 客戶支持(Customer Support)
- 知識庫(Knowledge Base)
- 設備管理器(Equipment Manager)
- 擴展(Expansions)
- FrameXML
- 好友(Friends)
- Who List
- 真實身份證(Real ID)
- 招募朋友(Recruit-a-Friend)
- 駐軍(Garrisons)
- 建筑物(Buildings)
- 戰利品(Trophies)
- 追隨者與任務(Followers & Missions)
- 團隊(Groups)
- Raid Groups
- Raid Profiles
- 組查找器(Group Finder)
- 突襲者(Raid Finder)
- 公會(Guild)
- 檢查(Inspection)
- Instances
- 場景(Scenarios)
- Mythic+
- 入侵(Invasions)
- 海島探險(Island Expeditions)
- Items
- 按鍵綁定(Key Bindings)
- Modifiers
- 劫掠(Looting)
- 失控(Loss of Control)
- 宏命令(Macros)
- 郵件(Mail)
- 地圖(Maps)
- 飛行管理員(Flight Master)
- 追蹤(Tracking)
- 商人(Merchant)
- 銘牌(Nameplates)
- 寵物大戰(Pet Battles)
- 申請書(Petitions)
- 專業(Professions)
- 考古(Archaeology)
- 附魔(Enchantments)
- 雕文(glyphs)
- 物品插口(tem Socketing)
- PvP
- 競技場(Arena)
- 戰場(Battlegrounds)
- 世界戰場(World Battlefields)
- 爭吵(Brawl)
- 戰爭游戲(War Games)
- 戰爭模式(War Mode)
- 任務 (Quests)
- 任務日志(Quest Log)
- 任務選擇(Quest Choices)
- Task Quests
- 閑聊(Gossip)
- 探險地圖(Adventure Map)
- 戰爭戰役(War Campaigns)
- 種族(Races)
- 境界(Realms)
- 報告(Reporting)
- 聲望(Reputation)
- 報廢的機器(Scrapping Machine)
- 法術(Spells)
- Spell Book
- 商店(Shop)
- 召喚(Summoning)
- 系統(System)
- 網絡(Network)
- 控制臺(Console)
- 日期時間(Date & Time)
- 調試(Debugging)
- 圖形(Graphics)
- 語言環境(Locales)
- 腳本分析(Script Profiling)
- 安全執行(Secure Execution)
- 聲音(Sound)
- Sound Drivers
- Talking Head
- 交易(Trading)
- 訓練師(Trainer)
- 遷移(Transmogrification)
- 空白存儲(Void Storage)
- 講解(Tutorials)
- UI對象(UI Objects)
- 框架(Frame)
- 字體(Font)
- 質地(Texture)
- 混合(Mixin)
- 咒語(SpellMixin)
- ItemMixin
- 物品位置(ItemLocationMixin)
- PlayerLocationMixin
- 模型場景(ModelScene)
- 未分類
- UI窗口小部件管理器(UI Widget Manager)
- 單位(Units)
- 光環(Auras)
- 玩家(Players)
- 實用程序(Util)
- 車輛(Vehicles)
- Classic Specific Functions
- 獵人寵物(Hunter Pets)
- 專業(Professions)
- 手工制作(Crafting)
- @PvP
- 模擬器
- 訓練師(Trainer)
- 8.x API
- 控制臺(Console)
- 召喚(Summoning)
- See also
- 外部鏈接(External links)
- Widget handlers(UI交互事件)
- ScriptObject
- AnimationGroup
- Animation對象
- Alpha對象
- Scale
- LineScale
- Translation
- LineTranslation
- Path
- Rotation
- TextureCoordTranslation
- Frame
- Browser
- Button
- CheckButton
- ItemButton
- Checkout
- ColorSelect
- Cooldown
- EditBox
- FogOfWarFrame
- GameTooltip
- Model
- PlayerModel
- CinematicModel
- DressupModel
- TabardModel
- MovieFrame
- ScrollFrame
- Slider
- MessageFrame
- Minimap
- ModelScene
- OffScreenFrame
- POIFrame
- ArchaeologyDigSiteFrame
- QuestPOIFrame
- ScenarioPOIFrame
- SimpleHTML
- StatusBar
- UnitPositionFrame
- WorldFrame
- 入門
- .toc
- .lua
- .xml
- 示例
- 自動邀請插件
- 完整例子:顯示任務坐標
- eCoordinates.toc
- eCoordinates.xml
- eCoordinates.lua
- 開發幫助組件
- AddOn Studio編輯器
- 暴雪自帶調試工具
- DevTools調試插件
- wowlua
- 魔獸宏
- 戰斗寵物命令
- 暴雪界面命令
- 聊天命令
- chat substitutions
- 角色指令
- 開發者工具
- 表情動作
- 戰斗命令
- 公會命令
- 小隊與團隊命令、
- 寵物命令
- PvP的命令
- 系統命令
- 目標函數
- 命令
- 被禁用的命令
- 宏條件
- 裝備物品編號