매크로 문법과 조건
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] 얼음 회오리; 화염구