Wednesday, January 6, 2021

AutoHotKey 사용법(활용법, 게임, 자동 입력, 자동 달리기, 자동 키 입력, 철권, 위쳐)

이 글의 목적

AutoHotKey는 컴퓨터에서 자동으로 키를 입력해 주거나 마우스를 클릭해 주도록 간단하게 프로그래밍하는 기능성 프로그램(유틸리티)이다. 이 글은 AutoHotKey의 설치부터 시작하여 몇 가지 게임에서 많이 쓰는 기능을 만드는 과정을 설명한다. 예를 들어, 어떤 게임에서 앞으로 계속 가고 싶은데 W 키를 계속 누르고 있으려면 피곤하다. 이때 CapLock 키를 한 번만 누르면 계속 이동하고, 다른 키를 누르면 멈추도록 하면 되게 편리하다. 또한 '굶지마' 등과 같은 게임에서는 마우스를 클릭한 채로 있어야 이동을 하는데, 이 경우에도 Z 키를 누르면 마우스가 계속 눌려진 상태로 만들어 계속 이동할 수 있다.

적용 가능한 게임은 철권, 위쳐, 굶지마 등 대부분의 게임이며, '원신'과 같이 자동 키를 차단하는 극소수의 게임에는 적용되지 않는다. AutoHotKey는 매우 강력한 기능을 가지고 있어서 자동 사냥 기능도 어느 정도 만들 수 있겠지만 이 글에서는 아주 간단하고 유용한 부분만 설명한다.

설치

AutoHotKey 홈페이지로 간다.

- 화면에서 Download를 찾아 누른다. 

* 참고: 영어로 된 페이지를 읽기 힘들다면 다른 한글로 된 다운로드 사이트에서 받는다. 예: AutoHotKey Astro.com.

- Download Current Version을 누른다.

- 다운로드한 설치 프로그램을 클릭하여 설치를 시작한다.

- Express Install을 누른다. 몇 초만에 설치가 끝난다.

- Run AutoHotKey를 눌러 실행한다. 백그라운드로 실행된다는 메시지가 나온다.

- Exit를 눌러 설치를 종료한다.

* 참고: 위와 같이 하면 현재 실행이 된 것인데, 나중에 컴퓨터를 껐다 켠 후 다시 실행하려면 바탕화면의 아이콘을 사용하거나, 윈도우즈 시작 버튼 > AutoHotKey > AutoHotKey를 차례로 눌러 실행한다.

스크립트 작성 시작

여기서 스크립트란 여러 명령들을 모아놓은 문서이다.

- 바탕화면의 하단에 있는 시스템 트레이에서 AutoHotKey 아이콘을 찾는다.

기본적으로 AutoHotKey가 숨겨져 있을 것이므로 위쪽 화살표를 눌러 펼쳐 보면 H 모양의 아이콘이 보인다.

- 이 아이콘을 마우스 오른쪽 버튼으로 클릭한다.

- Edit This Script를 클릭하여 기본 스크립트의 편집을 시작한다.

메모장이 열리면서 기본 스크립트가 표시되는데, 윗 부분에 영어로된 부분은 설명이다. 즉, 세미콜론(;)으로 시작하는 줄은 설명으로서, 실행되지 않고 무시되는 부분이다. 커서를 움직여서 설명 부분 아래에 내가 작성하려는 스크립트를 입력한다. 위 그림에서는 SetTitle...로 시작하는 부분이 내가 만든 스크립트이다. 

스크립트 작성: 개요

아래는 내가 만든 스크립트 부분이다. 이를 복사해서 귀하의 스크립트에 붙여 넣고 저장할 수 있다.

SetTitleMatchMode, 3
#IfWinActive ahk_exe FarCry4.exe
CapsLock::
send {W down}
return

위에서 1번, 2번 줄은 스크립트를 실행하는 대상 프로그램을 지정한다. 그 아래 세 줄은 실제 스크립트 내용으로서, CapsLock 키를 누르면 W 키가 누른 채로 유지되어 계속 전진하게 된다.

두 번째 줄을 다시 보면, Far Cry 4라는 게임을 지정한 부분이 나온다.

#IfWinActive ahk_exe FarCry4.exe

즉, Far Cry 4를 실행했을 때 그 아래 부분의 스크립트가 적용된다는 뜻이다. 프로그램 이름 외에 나머지 부분은 동일하게 붙어 넣어서 귀하의 스크립트에서 쓰면 되는데, 문제는 이 이름을 찾는 것이 좀 어렵다.

스크립트 작성: 대상 프로그램 지정

위 예에서 2번 줄을 작성하는 방법이 두 가지이다.

#IfWinActive ahk_exe FarCry4.exe 또는

#IfWinActive Far Cry 4

둘 다 Far Cry 4 게임을 지칭하는 것인데, 위의 것은 실행 파일 이름을 지정한 것이고, 아래 것은 이름을 지정한 것이다. 아래 것이 대체로 편하긴 한데, 안 되는 경우가 있다. 왜냐하면 이름에 포함된 공백이 특수 공백일 수도 있고, 그 외에 특수 문자(예: TM 마크)가 포함될 수도 있고, 이름을 정확히 알 수 없을 수도 있기 때문이다. 그래도 이름을 대략 추측해서 아래 것과 같은 형태로 해 보고, 안 되면 실행 파일 이름을 찾아야 한다.

실행 파일 이름을 확인하는 방법은 여러 가지가 있는데, 그 중 작업 관리자를 사용하는 방법은 다음과 같다.

- 게임을 실행한다.

- 게임의 그래픽 설정에서 Window 모드 또는 Borderless 모드로 설정한다.

- 윈도우즈 시작 키를 눌러서 게임 화면에서 빠져 나온다.

- Ctrl + Shift + `를 누른다. 즉, 컨트롤 키를 누른 채로, 시프트 키도 누른 채로, 왼쪽 따옴표(`) 키를 누른다. 왼쪽 따옴표 키는 탭 키 바로 위에 있다. 그러면 작업 관리자가 실행된다.

위 그림에서 철권 7이 실행된 상태이고, 작업 관리자에서 앱 목록을 보면 TEKKEN 7을 찾을 수 있다. TEKKEN 7을 마우스 오른쪽으로 클릭한 후 '속성'을 클릭한다.

위 그림과 같이 위쪽에 실행 파일 이름이 나오고 아래 쪽에 이름이 나온다. 이 글에서는 프로그램 이름을 사용하지 않고 위에 있는 실행 파일 이름을 사용할 것인데, 드래그하여 선택한 후 복사한다. 이를 귀하의 스크립트에 붙여 넣으면 된다. 그렇게 하면 다음과 같이 될 것이다.

#IfWinActive ahk_exe TekkenGame-Win64-Shipping.exe

자, 이제 두 번째 줄 작성이 끝났다.

스크립트 작성: 작동 설정

스크립트가 실제로 작동하는 내용을 작성하는 것인데, 예를 들면,

CapsLock::
    send {W down}
return

위에서 1번 줄은 CapsLock 키를 의미한다. 다른 키의 예를 들면,

W
^V
Enter
F2

위 예제 키에서 W는 소문자 w로 해도 된다. 영문자 키 이름이다. ^ 기호는 컨트롤 키를 의미하므로 ^V는 컨트롤 V가 된다. 그 외에 Enter 키, F2(펑션 2번) 키 등이 있다. 전체 목록은 다음을 참조하라. AutoHotKey 키 목록

그 다음은 실행할 내용인데, 위 예에서는 send {W down}, 즉 W 키를 누른 채로 유지하라는 것이다. 게임에서 W 키가 전진이면, 계속 전진할 것이다. 이를 멈추려면 게임에서 W 키를 한 번 누르면 된다.

다음 예는 CapsLock 키를 눌렀을 때 게임 내에서 W 키가 한 번 눌러졌다가 떼지는 스크립트이다.

CapsLock::
    send {W down}
    send {W up}
return

다음 예는 Z 키를 눌렀을 때 게임 내에서 마우스 왼쪽 버튼이 눌려진 상태로 유지되는 스크립트이다.

Z::
    send {LButton down}
return

다음 예는 컨트롤-F 키를 눌렀을 때 게임 내에서 F 키가 반복적으로 입력되다가 X 키를 누르면 반복이 멈추는 스크립트이다.

^F::
    alt2 := 1
    while alt2 = 1
    {
send {F down}
        send {F up}
sleep 200
    }
return

X::
alt2 := 0
return

위 예에서 alt2는 변수로서, 원하는 이름으로 바꿔도 된다. 처음에 alt2라는 변수에 1이라는 값을 할당하고, alt2가 1인 동안 F 키가 눌렸다가 떼지고 0.2초를 쉰 다음 다시 눌려지는데, 이 작업이 영원히 반복된다. X 키를 누르면 alt 변수에 0이 입력되고, while로 시작된 반복 작업이 멈추게 된다.

위에서 sleep 200은 쉬는 것인데, 너무 빠르게 키 입력이 되면 곤란하므로 쉬는 것이다. 200은 200밀리초, 즉 0.2초이고, 쉬는 시간은 원하는 대로 바꿀 수 있다.

스크립트 리로드(실행)

이전 과정에서 스크립트 작성이 끝났으면 저장하고 메모장을 닫는다. 그것으로 끝난 것이 아니라 스크립트를 적용해야 한다. 위 그림과 같이 시스템 트레이에서 AutoHotKey 아이콘을 마우스 오른쪽 클릭한 다음 Reload This Script를 클릭한다. 그런 다음 게임에 들어가서 제대로 실행되는지 확인해 본다.

마무리

이 글을 작성하기 시작했을 때는 아주 간단한 작업이라고 생각했는데, 알고 보니 간단하지 않다ㅋㅋㅋ 수고 많으셨다. 그래도 몇 번 해 보면 익숙해질 것이다. 이런 기능을 활용하면 게임이나 기타 프로그램에서 반복 작업을 아주 간단하게 할 수 있다. 철권 7의 스크립트는 약간 더 복잡한데, 작성 예를 따로 작성하니 참고하기 바란다.

참고: 철권 7 자동 키 설정.

No comments:

Post a Comment