WoW Macro Builder

매크로 문법과 조건

WoW Forever 매크로의 작동 방식 — [조건]으로 if/else, 그리고·또는·아님, @유닛으로 대상 정하기 — 와 모든 조건의 설명. 예시는 만들기 화면에서 바로 열 수 있습니다.

바로 쓸 수 있는 매크로와 해결 방법은 예시·FAQ에서 →

매크로의 기본

매크로는 한 번 누르면 위에서 아래로 실행되는 슬래시 명령어의 목록입니다.

  • 한 줄에 명령어 하나. 누를 때마다 모든 줄이 위에서부터 차례로 실행됩니다.
  • #으로 시작하는 줄은 명령어가 아닌 지시문입니다. #showtooltip을 쓰면 버튼에 사용할 주문의 아이콘과 툴팁이 나옵니다.
  • /가 없는 줄은 그대로 대화창에 말합니다.
  • 매크로는 줄바꿈을 포함해 255자까지 쓸 수 있습니다.
  • 한국어 클라이언트에서도 영어 명령어(/cast)를 쓸 수 있습니다. 주문 이름은 클라이언트의 언어로 써야 합니다.
  • 한 번에 여러 명령어

    #showtooltip
    /공격시작
    /시전 영웅의 일격
    • 자동 공격을 시작하고 영웅의 일격을 예약합니다. 한 번 누르면 둘 다 실행됩니다.
    • 영웅의 일격은 전역 재사용 대기시간이 없어서 서로 방해하지 않습니다.
  • #showtooltip으로 버튼 아이콘 정하기

    #showtooltip 변이
    /시전 [mod:shift] 얼음 회오리; 변이
    • 이름이 없으면 지금 사용될 주문의 아이콘이 나옵니다.
    • 이름을 쓰면 버튼에 늘 그 주문이 나옵니다.
  • 시전하면서 파티에 알리기

    #showtooltip
    /시전 변이
    /파티 %t에게 변이 시전
    • %t는 대상의 이름으로 바뀝니다.
    • 주문이 실패해도 대화 줄은 실행되므로, 누를 때마다 말합니다.

분기: if / else

[대괄호] 안에 조건을 쓰고 그 뒤에 주문을 씁니다. ;로 나눈 후보를 왼쪽부터 확인해, 조건이 맞는 첫 번째 후보 하나만 사용합니다.

  • [조건] A; B — 조건이 맞으면 A, 아니면 B(대괄호가 없는 후보는 늘 맞습니다).
  • [조건1] A; [조건2] B; C — 조건1이면 A, 아니고 조건2면 B, 둘 다 아니면 C. 더 좁은 조건을 앞에 둡니다.
  • 마지막 후보(else)가 없으면, 맞는 조건이 없을 때 아무 일도 일어나지 않습니다.
  • 늘 맞는 후보 뒤에 있는 후보는 쓰이지 않습니다.
  • /매크로중지 [조건]은 조건이 맞으면 그 자리에서 매크로를 끝냅니다. 아래 줄은 실행되지 않습니다.
  • 아군은 치유, 적은 공격

    #showtooltip
    /시전 [help] 순간 치유; 성스러운 일격
    • 대상이 아군이면 순간 치유, 그 밖에는 성스러운 일격입니다.
  • 버튼 하나에 주문 셋 (보조키)

    #showtooltip
    /시전 [mod:shift] 얼음 회오리; [mod:ctrl] 점멸; 화염구
    • Shift는 얼음 회오리, Ctrl은 점멸, 키를 누르지 않으면 화염구입니다.
    • 둘 다 누르면 먼저 맞는 후보(얼음 회오리)가 쓰입니다.
  • 전투 중과 전투 밖에서 다른 주문

    #showtooltip
    /시전 [combat] 화염구; 음료 창조
    • 전투 중에는 공격하고, 전투가 없을 때는 음료를 만듭니다.
  • 조건이 맞을 때만 (else 없음)

    #showtooltip
    /시전 [nocombat] 신비한 지능
    • 전투 중에는 아무 일도 하지 않아, 싸우는 도중 버프에 마나를 쓰지 않습니다.
  • /매크로중지로 일찍 끝내기

    #showtooltip
    /매크로중지 [noexists]
    /소환수공격
    /시전 신비한 사격
    • 대상이 없으면 첫 줄에서 멈추므로 소환수를 보내지 않습니다.
    • 대상이 있으면 소환수가 공격하고 신비한 사격을 쏩니다.

조건 조합: 그리고·또는·아님

[ ] 하나 안의 조건은 모두 맞아야 합니다. [ ]를 여러 개 이어 쓰면 ‘또는’입니다.

  • 대괄호 안의 ,는 그리고(AND) — [harm,nodead]는 ‘적이고, 죽지 않음’입니다.
  • [a][b]는 또는(OR) — 어느 한 쪽이 맞으면 그 후보를 씁니다. 대괄호마다 따로 @대상을 쓸 수 있습니다.
  • 앞에 no를 붙이면 반대 — nocombat, nodead, nomod.
  • 값 사이의 /는 또는 — mod:shift/ctrl은 ‘Shift 또는 Ctrl’, stance:1/2는 ‘태세 1 또는 2’.
  • [](빈 대괄호)는 늘 맞습니다. 마지막 대괄호로 쓰면 ‘이 대상, 아니면 평소 대상’이 됩니다.
  • 그리고: 전투 밖이고 아직 은신하지 않았을 때

    #showtooltip
    /시전 [nocombat,nostealth] 은신
    • 은신 중에 다시 눌러도 아무 일도 없어, 실수로 은신이 풀리지 않습니다.
  • 또는: 마우스오버, 그다음 대상, 그다음 자신

    #showtooltip
    /시전 [@mouseover,help,nodead][help,nodead][@player] 순간 치유
    • 대괄호를 왼쪽부터 확인해, 처음 맞는 것이 치유할 대상을 정합니다.
    • 마지막 대괄호는 조건이 없어, 다른 대상이 없으면 자신을 치유합니다.
  • 아님: 야수 부르기·되살리기·치료

    #showtooltip
    /시전 [nopet] 야수 부르기; [@pet,dead] 야수 되살리기; [@pet] 동물 치료
    • 야수가 없으면 부르고, 죽었으면 되살리고, 그 밖에는 치료합니다.
  • 여러 값: Shift 또는 Ctrl

    #showtooltip
    /시전 [mod:shift/ctrl] 얼음 회오리; 화염구
    • [mod:shift][mod:ctrl]과 같지만 더 짧습니다.
    • [mod:shift,mod:ctrl]이라고 쓰면 두 키를 동시에 누른 때가 됩니다.
  • 빈 대괄호를 마지막 대비로

    #showtooltip
    /시전 [@focus,harm,nodead,mod:alt][@mouseover,harm,nodead][] 변이
    • Alt를 누르면 주시 대상, 아니면 마우스 아래의 적, 그것도 아니면 대상입니다.

대상 정하기: @유닛

주문은 기본적으로 지금 대상에게 갑니다. 대괄호 맨 앞에 @유닛을 쓰면, 대상을 바꾸지 않고 다른 유닛에게 시전합니다.

  • @유닛과 target=유닛은 같은 뜻입니다. 이 사이트는 @로 씁니다.
  • 유닛에 대한 조건(harm, help, dead, exists)은 같은 대괄호의 @유닛을 확인합니다. 대상이 아닙니다.
  • 나에 대한 조건(combat, mod, stance 등)은 @유닛과 상관없습니다.
  • 유닛이 없고 다른 후보도 없으면, 대상을 클릭하기를 기다리거나 실패합니다.

@ 뒤에 쓸 수 있는 유닛

쓰는 법뜻
@target지금 대상(기본값)
@player자신
@mouseover마우스 아래의 유닛이나 유닛 창
@focus주시 대상(/주시로 정함)
@pet내 소환수
@targettarget대상의 대상. 어느 유닛 뒤에나 target을 붙일 수 있습니다(focustarget, party1target)
@party1–4파티원(파티 창 순서)
@raid1–40공격대원(공격대 순서)
@cursor마우스 아래의 땅(범위 주문)
@none유닛 없음 — 클릭을 기다립니다
  • 마우스 아래 파티 창 치유

    #showtooltip
    /시전 [@mouseover,help,nodead][] 소생
    • 아군 창이나 캐릭터에 마우스를 올리고 누르면 됩니다. 클릭은 필요 없습니다.
  • 늘 자신에게

    #showtooltip
    /시전 [@player] 신의 권능: 보호막
    • 적이나 다른 플레이어를 대상으로 잡고 있어도 자신에게 보호막을 씌웁니다.
  • 주시 대상 차단

    #showtooltip
    /시전 [@focus,harm,nodead][] 마법 차단
    • /주시로 주시 대상을 정해 두면, 대상을 바꾸지 않고 차단합니다.
  • 적이 노리는 아군 치유

    #showtooltip
    /시전 [help,nodead][@targettarget,help,nodead] 순간 치유
    • 아군을 대상으로 잡았으면 그 아군을, 적을 잡았으면 그 적의 대상을 치유합니다.
  • 정해진 파티원

    드루이드
    #showtooltip
    /시전 [@party1,help,nodead] 회복
    • party1은 파티 목록에서 내 창 아래 첫 번째 파티원입니다(party1~party4).

모든 조건

[ ] 안에 씁니다. 유닛에 대한 조건은 같은 대괄호의 @유닛(없으면 대상)을 확인합니다.

모든 조건은 앞에 no를 붙여 반대로 쓸 수 있습니다(nocombat, nomod, nostance). [ ] 안의 값은 생략할 수 있습니다(값 없이 적히지 않은 조건은 제외).

유닛에 대해 (@유닛, 없으면 대상)

쓰는 법뜻
exists유닛이 있음
harm공격할 수 있음(적)
help도울 수 있음(치유·버프, 아군)
dead죽어 있음
party내 파티에 있음
raid내 파티나 공격대에 있음

나에 대해

쓰는 법뜻
combat전투 중
stealth은신 중(은신, 숨기 등)
mounted탈것을 타고 있음
swimming수영 중
indoors실내에 있음(탈것을 쓸 수 없는 곳)
outdoors실외에 있음
resting휴식 중(여관·도시)
channeling[:spell]정신 집중 중(이름을 쓰면 그 주문)
stance[:1/2/…]태세·변신 중(번호로 지정, 번호가 없으면 아무거나). form도 같음
shapeshift변신 중
pet[:name/family]소환수가 있음(이름이나 종류를 쓰면 그것)
group[:party/raid]그룹에 있음(파티 또는 공격대)
equipped:type그 종류의 아이템을 장착함(equipped:Shields). worn도 같음
known:spell그 주문을 배웠음
spec:1/2활성화된 특성 전문화
flying비행 중이후 확장팩
flyable비행할 수 있는 지역이후 확장팩
advflyable용 조련을 할 수 있는 지역이후 확장팩

누른 방법

쓰는 법뜻
mod[:shift/ctrl/alt]보조키를 누름(키를 쓰면 그 키). modifier도 같음
btn:1/2/3/4/5그 마우스 버튼으로 클릭함(1 왼쪽, 2 오른쪽, 3 가운데). button도 같음
cursor커서에 무언가를 들고 있음(아이템·주문)

행동 단축바와 탈것

쓰는 법뜻
actionbar:1/2/…그 행동 단축바 페이지가 보임. bar도 같음
bonusbar[:n]추가 단축바(태세·변신 단축바)가 켜짐
extrabar추가 행동 버튼이 보임이후 확장팩
overridebar대체 단축바가 보임이후 확장팩
possessbar다른 생물을 조종 중(빙의 단축바)이후 확장팩
vehicleui자체 단축바가 있는 탈것에 탐이후 확장팩
unithasvehicleui유닛이 그런 탈것에 탐이후 확장팩
canexitvehicle탈것에서 내릴 수 있음이후 확장팩
petbattle애완동물 대전 중이후 확장팩

‘이후 확장팩’ 표시가 있는 조건은 오리지널 이후에 추가된 기능(비행, 탈것 UI, 애완동물 대전 등)의 조건으로, WoW Forever에서는 대부분 맞지 않습니다. 조건은 게임 클라이언트가 처리하며, 일부는 WoW Forever 게임 안에서 확인하지 않았습니다.

자주 하는 실수

매크로를 직접 입력하면 만들기 화면이 아래의 실수를 각각 알려 줍니다.

  • 늘 맞는 후보 뒤의 후보

    잘못된 예

    /시전 화염구; [mod:shift] 얼음 회오리

    ⚠ 1번째 분기가 항상 선택되어 뒤의 1개는 실행되지 않습니다.

    첫 후보에 조건이 없어 늘 먼저 맞으므로 얼음 회오리는 시전되지 않습니다. 조건이 있는 후보를 앞에 둡니다.

    고친 예

    /시전 [mod:shift] 얼음 회오리; 화염구
  • 주문 이름 뒤의 조건

    잘못된 예

    /시전 변이 [@focus]

    ⚠ 조건은 주문 이름 앞에 써야 합니다: “변이 [@focus]”

    대괄호는 주문 앞에 써야 합니다. 뒤에 쓰면 주문 이름의 일부가 되어 주문을 찾지 못합니다.

    고친 예

    /시전 [@focus] 변이
  • @ 없이 쓴 유닛

    잘못된 예

    /시전 [mouseover,harm] 변이

    ⚠ [mouseover](이)라는 조건은 없습니다.

    mouseover는 조건이 아니라 유닛입니다. @ 없이 쓰면 게임이 알아듣지 못합니다.

    고친 예

    /시전 [@mouseover,harm] 변이
  • 잘못 쓴 값

    잘못된 예

    /시전 [mod:shft] 얼음 회오리; 화염구

    ⚠ “shft”은(는) [mod]의 값으로 쓸 수 없습니다.

    게임은 값을 검사하지 않아, 오타가 있으면 그냥 맞지 않습니다. 보조키는 shift, ctrl, alt입니다.

    고친 예

    /시전 [mod:shift] 얼음 회오리; 화염구