琴子 [魔獸世界] 巨集 (Macro) 寫法與原理

Facebook Twitter LinkedIn LINE Skype EverNote GMail Yahoo Email

前言

本文將介紹魔獸世界巨集的基本原理,幫助從未接觸過巨集的玩家找到起點。

若你已經寫過一些巨集,想直接參考範例,可以先看這篇文章

巨集指令的來源

我特地用 "how to query wow macro command in wow" 去搜尋,結果連 Google 自家的 Gemini 都回我:『去查 wiki、去翻論壇』。

這代表什麼?代表連 Google 的官方知識體系也承認──魔獸世界的巨集就是黑箱!沒有官方文件,沒有完整手冊,只有玩家自己土法煉鋼,一行一行試出來的祕笈。

相對完整的巨集指令清單可以參考這篇文章。在這裡,我們會教你怎麼寫巨集,但不會單純重覆別人的內容。

巨集語法原則

巨集的基本結構如下:

/指令 [修飾語] 技能或物品

撰寫巨集時需要遵守以下原則:

  • 巨集指令必須以 / (slash) 開頭
  • 巨集會依序從上而下逐行執行
  • 沒有傳統程式語言的條件判斷或迴圈
    • 「修飾語」可視為語法受限的行內條件式
  • 沒有函式,無法進一步封裝
    • 各種巨集指令本身就像是內建函式
  • 若執行失敗,會自動中止

從 DSL(領域專用語言)的角度來看,巨集只是一種功能受限的 DSL,因此其實更簡單。

巨集的限制

雖然官方沒有明確說明,但巨集其實受到以下限制:

  • 長度上限為 255 個字元
  • 會受 GCD(全球冷卻時間)影響,無法一次連續施放多個技能
  • 無法自動判斷血量或能量狀態
  • 無法自動判斷技能冷卻狀況
  • 無法自動判斷 Buff 與 Debuff 的剩餘時間
  • 不會自動執行,必須由玩家手動觸發

原因很簡單:巨集的本質就是一種「遊戲內的自動化工具」。
然而官方並不希望巨集被濫用成外掛,因此刻意設下這些限制。
這些限制是合理且必要的,也請玩家理解並接受。

⚠️ 提醒:若你遇到能「自動判斷並施法」的程式或插件,
那已經不是合法巨集,而是違法外掛或違規 AddOn,請務必避免使用。

撰寫巨集

為了避免外掛與作弊,巨集只能在遊戲內撰寫
你需要透過遊戲內建的 巨集編輯器 來製作,寫完後會自動儲存在雲端。

開啟巨集編輯器的方法有兩種:

  • Esc巨集設定
  • 在聊天框輸入 /macro

巨集編輯器本身功能很簡單。它的便利之處在於:當你按下 Shift + 技能,會自動幫你帶入技能名稱,省去手動輸入的麻煩。

儲存數量限制

  • 每個角色最多可建立 18 個角色專用巨集
  • 帳號共通巨集則有 120 個 名額

在現行版本的魔獸世界,技能循環已大幅簡化,因此這些名額足以應付單一專精的需求。

範例巨集

以下是一個實際的巨集範例:

#showtooltip
/target [@mouseover, harm, nodead]
/cast [@focus, harm, nodead][] 痛擊

逐行說明

#showtooltip

  • 特殊指令,用來讓巨集按鈕顯示成一般技能圖示
  • 滑鼠移到巨集圖示上時,會顯示技能說明 (tooltip)

/target [@mouseover, harm, nodead]

  • /target:瞄準目標
  • 修飾語 [@mouseover, harm, nodead] 表示以下三個條件都成立時才執行(相當於 AND 條件):
    • @mouseover → 滑鼠游標所在處
    • harm → 敵方目標
    • nodead → 未死亡目標
  • 這行巨集的效果:實現「非鎖定瞄準」

/cast [@focus, harm, nodead][] 痛擊

  • /cast:施放技能
  • 技能名稱:痛擊
  • 修飾語 [ @focus, harm, nodead ] [] → 代表以下邏輯:
    • @focus, harm, nodead → 若焦點目標是「存活的敵方」,則對其施放
    • [] → 防呆措施,若以上條件都不符,則嘗試對當前目標施放
  • 這組條件等於「條件判斷的 OR」,只要符合其中之一,就會施放技能。

總結

這個巨集實現的效果是:

  • 滑鼠指向敵人 → 自動選取並施放「痛擊」
  • 若有設定焦點 → 會優先對焦點敵人施放
  • 若以上條件都不符合 → 依然會嘗試施放在當前目標上

因此它能兼顧「滑鼠指向施法」、「焦點施法」以及「保底施法」三種情境。

深入學習

限於篇幅,本文不會列出大量的巨集範例。
事實上,巨集本質上是一種簡化程式碼,可組合變化的方式極多,幾乎無法窮舉。

真正學習巨集的關鍵在於:

  1. 理解每一行指令的語意
  2. 親自在遊戲中測試

必須注意的是:巨集系統就像一個黑箱,細節往往沒有公開文件,並且可能隨版本更新而改變。
因此,即使是 WowHead、Icy Veins 這類知名攻略網站,也未必能完全跟上版本的變動。
玩家最可靠的學習方式,仍然是自己動手實驗

💡 結語:多嘗試、多犯錯、多修正,才是掌握巨集的真正捷徑。

延伸閱讀

關於作者

琴子曾遊歷《魔獸世界》、《黑色沙漠》、《Guild Wars 2》、《New World: Aeternum》等遊戲世界,
熱衷於研究遊戲機制與玩家心理,不特別追求高端操作,更偏好觀察與思考,是一位知性的玩家。
除了遊戲,琴子喜愛黑咖啡和日本料理,略通日文,偶爾也會來一場自助旅行。