매크로
매크로는 게임에서 반복해서 사용하는 여러 가지 스킬이나 아이템 등을 한 번의 입력으로 간편하게 해결할 수 있도록 지원하는 기능이다. 매크로를 잘 이용하면 자주 쓰이는 번거로운 행동을 쉽게 입력할 수 있다.
예를 들어, 도적의 대표적인 스킬 콤보인 '흉악한 일격 → 비열한 수단 → 상처 공격'을 매크로에 등록해 두면, 매번 스킬을 따로 입력할 필요 없이 버튼 하나로 세 가지 스킬을 모두 사용할 수 있다.
매크로는 게임 안에서 별도의 명령어를 사용하기 때문에 복잡하고 어려워 보이지만, 간단한 매크로부터 차근차근 배워가면 효율적인 게임 플레이를 할 수 있을 것이다.
1. 매크로 만들기 목차 보기

게임 상에서 ESC 키를 누르면 '매크로 설정' (명령어 : /m, /매크로) 항목이 있다. 매크로 설정을 누르면 매크로 창이 생긴다. 매크로 창에서는 새로운 매크로를 만들거나, 기존의 매크로를 수정 혹은 삭제할 수 있다.
- 매크로 추가 목차 보기


1) 원하는 아이콘(액션바에 올렸을 때 보이는 아이콘)을 선택한다.
2) 매크로 제목(액션바에서 툴팁으로 표시되는 제목)을 입력한다.
3) 매크로 내용(실제 매크로가 작동하는 패턴)을 입력한다.
4) '수정하기'를 눌러 매크로를 저장한다.
5) 설정한 매크로의 아이콘을 액션바에 등록하고 사용한다.
- 매크로 수정 목차 보기

1) 매크로 창에서 수정할 매크로를 선택한다.
2) '매크로 수정' 버튼을 눌러 매크로 내용 창을 연다.
3) 내용을 수정한 후 '수정하기' 버튼을 눌러 완료한다.
- 매크로 주의사항 목차 보기
1) 매크로 제목에 글자 제한은 없지만 길어지면 뒷부분의 글자가 표시되지 않으므로 가능한 짧고 직관적으로 적는 것이 좋다.
2) 매크로 내용은 255자까지만 입력할 수 있다.
3) 매크로는 총 49개까지 등록할 수 있다.
4) 매크로에서 다른 매크로를 불러올 수는 없다.
5) 여러 스킬을 연속으로 사용할 때 충분한 지연 시간을 입력해야 한다. 서버와의 지연 시간이나 스킬 자체의 시전 시간으로 인해 매크로가 제대로 작동하지 않을 수 있다.
- 매크로 불러오기 목차 보기
모든 매크로는 <룬즈 오브 매직>의 설치 폴더(기본 : C:₩Program Files₩Runes of Magic) 안에 '캐릭터 이름₩Macro.bsd₩'에 저장된다. 만약 다른 캐릭터에서 같은 매크로를 사용하고자 한다면, Macro.bsd 파일만 복사해서 캐릭터 폴더에 덮어쓰면 된다.
같은 방법으로 Email이나 휴대용 저장 장치에 'Macro.bsd' 파일을 보관해 두면, 다른 PC에서도 사용하던 매크로를 쉽게 불러올 수 있다.
2. 매크로 명령어 목차 보기
<룬즈 오브 매직>에서는 게임 자체의 명령어와 LUA 기반의 명령어를 모두 매크로에서 지원한다. 같은 스킬을 시전하는 행위는 게임 자체의 명령어와 LUA 명령어 중 어느 것을 사용할 것이냐에 따라 매크로의 내용이 달라진다.
예를 들어, 매크로에 '파이어볼'이라는 스킬을 사용하는 동작을 넣는 방법은,
/시전 파이어볼 /script CastSpellByName("파이어볼"); |
두 가지가 있다. 둘 중에 어느 쪽을 선택해도 관계는 없다. 다만, LUA 명령어를 사용하면 기본 명령어보다 더 다양한 조건과 방법을 선택할 수 있다.
- 기본 명령어 목차 보기
LUA 명령어를 사용하기 위해서는 '/script'라는 명령어를 알아야 한다. '/script'는 LUA 명령어를 사용하겠다는 선언이고, 뒤에 이어서 수행하려는 구체적인 LUA 명령을 입력한다. 그리고 마지막에는 '세미콜론(;)'으로 명령이 끝났음을 표시해야 한다.
분류 | 명령어 | 기능 | 기타 |
스킬 사용 | /시전 스킬명 /cast 스킬명 | 해당 스킬을 시전하는 명령어 | |
| /script CastSpellByName("스킬명") | 스킬 이름을 기준으로 시전 | Lua |
| /script UseAction(스킬 슬롯 번호) | 액션바에서 스킬 아이콘의 위치를 기준으로 시전 메인하단 : 1~20 메인상단 : 21~40 우측 : 41~60 좌측 : 61~80 | Lua |
아이템 사용 | /사용 아이템명 /use 아이템명 | 해당 아이템을 사용하는 명령어 | |
시간 지연 | /지연 (숫자) /wait (숫자) | (숫자) 초만큼 지연 보통 스킬이나 아이템을 연속으로 사용할 때, 쿨타임이나 시전 시간으로 다음 명령어가 취소되지 않도록 알맞은 지연 시간을 넣어준다. | |
대상 지정 | /script TargetUnit("대상"); | 스킬이나 아이템 등을 사용할 대상을 지정하는 명령어 player : 자신을 대상 party1~5 : 파티원을 대상 파티창에서 위부터 순서대로 1~5 mouseover : 마우스 오버를 대상 pet : 펫이나 소환수를 대상 | Lua |
| /script TargetNearestEnemy(); | 가장 가까운 적을 대상 | Lua |
| /script AssistUnit("대상"); | "대상"이 선택하고 있는 대상을 지정하는 명령어 Target : 현재 지정한 대상의 대상 party1~5 : 파티원의 대상 캐릭터 이름 : 캐릭터의 대상 pet : 펫이나 소환수의 대상 | Lua |
채팅 | /대화, /s, /say /파티, /p, /party /공격대, /raid /귓속말, /w, /t /세계, /y, /yell /지역, /z, /zone | 스킬이나 아이템 등을 사용할 때, 자동으로 채팅 메시지를 표시할 수 있다. | |
| /script SendChatMessage("내용", "채널"); | 내용과 채널을 입력해서 메시지를 표시 일반 채널 : say 파티 채널 : party 공격대 채널 : raid 귓속말 채널 : whisper, tell 월드 채널 : yell 지역 채널 : zone | Lua |
대상 출력 | %t | 현재 지정한 대상의 이름을 출력 채팅 명령어 사이에 사용 | |
상태 표시 | Unitname("대상") | 대상의 이름을 표시 | Lua |
UnitLevel("대상") | 대상의 레벨을 표시 |
Unithealth("대상") | 대상의 현재 HP를 표시 |
UnitMaxHealth("대상") | 대상의 최대 HP를 표시 |
UnitMana("대상") | 대상의 현재 MP를 표시 |
UnitMaxMana("대상") | 대상의 최대 MP를 표시 |
| ChkBuff("대상","버프이름") | 대상의 해당 버프 유무를 판단 |
GetActionUsable("스킬명") GetActionUsable("스킬 슬롯 번호") | 주로 조건문에 이용하며, 해당 스킬이 쿨다운 혹은 소모 비용 부족으로 사용할 수 없는 경우를 표시 |
■ if ~ then ~ else ~ end로 조건 사용
/script if (조건) then (조건을 만족할 때 실행할 명령); else (조건에 맞지 않을 때 사용할 명령); end |
예) 대상의 현재 HP가 50% 이하일 때 '치유 마법'을 사용
/script if (Unihealth("target")/UnitMaxHealth("target")<=0.5) then CastSpellByName("치유 마법"); end
- 활용 방법 목차 보기
매크로는 복잡한 여러 가지 행동을 하나의 입력으로 해결하기 위한 방법이기 때문에, 위에서 설명한 명령어들이 단독으로 쓰이기보다 조합을 이룬다. 즉, 다양한 명령어의 조합을 통해 하나의 완성된 매크로가 만들어 지는 것이다.
매크로를 만들 때 주의해야 할 점은, 명렁어를 조합할 대 해당 명령어가 동시에 사용할 수 있는 것인지 혹은 순차적으로 사용해야 하는 것인지를 알아야 한다. 예를 들어, 스킬과 채팅은 동시에 사용해도 무리가 없지만, 스킬과 스킬은 쿨타임이 있기 때문에 동시에 사용할 수 없다.
1) 동시에 사용할 수 있는 매크로
사용할 명령어들을 나열해 주면 된다. 게임 자체에서 지원하는 명령어를 연속으로 입력해도 되고, Lua 명령어를 사용할 때는 한 번의 'script' 후에 명령어들을 '세미콜론(;)'으로 구분하여 나열한다.
예) "영원히 재워주마, [몬스터 이름]"을 일반 채팅으로 말하며 파이어볼 시전하기
: 게임 내 기본 명령어로 구성할 때
/s 영원히 재워주마, [%t] : 일반 채팅으로 대사 표시. (%t는 현재 대상 이름) /cast 파이어볼 : 스킬 '파이어볼' 시전 |
: Lua 명령어를 사용해서 구성할 때
/script SendChatMessage("영원히 재워주마, %t","say"); /script CastSpellByName("파이어볼"); |
: Lua 명령어를 모두 이어서 적을 때 : 줄바꿈 대신 세미콜론(;) 사용
| /script SendChatMessage("영원히 재워주마, %t","say"); CastSpellName("파이어볼"); |
2) 순차적으로 사용해야 하는 매크로
명령어 사이에 지연 명령(/wait, /지연)을 사용해서 사용 간격을 조절한다. 보통 스킬의 쿨타임이 원인이므로 스킬 사이의 쿨타임을 고려해 여유 있게 지연 시간을 설정한다.
예) 도적으로 흉악한 일격, 비열한 수단, 상처 공격 연속으로 사용하기
/시전 흉악한 일격 : 스킬 '흉악한 일격' 사용 /wait 1 : 1초 기다림 /시전 비열한 수단 : 스킬 '비열한 수단' 사용 /wait 1 : 1초 기다림 /시전 상처 공격 : 스킬 '상처 공격' 사용 |
■ 관련 글 목차 보기