게임에서 치트키를 간단하게 써봅쎄요.
홈페이지 http://www.autohotkey.com
다운로드 http://www.autohotkey.com/download/
관련문서 http://www.autohotkey.com/docs/
스크립트 기반에 컴파일까지 가능해서 별도로 배포할 수도 있는 강력한 매크로 프로그램입니다. 이것 말고도 몇가지 상용 프로그램이 있으나, 사용법이 친절하지 않은 것을 빼면 오토핫키의 기능은 어떤 상용 매크로 프로그램보다 좋다고 볼 수 있습니다. 하지만 문제는 사용법이 어렵다는 거겠죠? 실제로 많은 분들이 매크로 프로그램으로 원하는 것은 특정 키를 누르면 특정 입력을 수행하는 걸 바라실 거라고 생각합니다. 그렇다면 그것을 손쉽게 예제와 함께 배워보도록 하죠.
아, 갑자기 이런 쌩뚱맞은 것을 쓰게 된 것은 제 친구 중 하나가 갑자기 메신저로 물어보더니 -근 몇달만에!- '스타에서 매번 치트키 치는 게 귀찮아 간단하게 매크로로 쓰는 거 안돼? 저번에 오토핫키 쓰는 거 보여줬잖아' 하는 겁니다. 그래서 간단하게 원하는 스크립트 만들어주고 보내고 보니 기왕 이렇게 된 거 블로그에도 남겨보자 이거죠.
자, 그럼 예제 나갑니다.
Hotkey, F12, CheatRun
return
CheatRun:
CheatKey()
return
CheatKey()
{
SetKeyDelay,0
Sleep, 100
ControlSend, ,{ENTER}, Brood War
Sleep, 100
ControlSend, ,show me the money{ENTER}, Brood War
Sleep, 100
ControlSend, ,{ENTER}, Brood War
Sleep, 100
ControlSend, ,show me the money{ENTER}, Brood War
Sleep, 100
ControlSend, ,{ENTER}, Brood War
Sleep, 100
ControlSend, ,show me the money{ENTER}, Brood War
Sleep, 100
ControlSend, ,{ENTER}, Brood War
Sleep, 100
ControlSend, ,operation cwal{ENTER}, Brood War
Sleep, 100
ControlSend, ,{ENTER}, Brood War
Sleep, 100
ControlSend, ,black sheep wall{ENTER}, Brood War
Sleep, 100
ControlSend, ,{ENTER}, Brood War
Sleep, 100
ControlSend, ,the gathering{ENTER}, Brood War
Sleep, 100
ControlSend, ,{ENTER}, Brood War
Sleep, 100
ControlSend, ,food for thought{ENTER}, Brood War
}
예제 파일과 그것을 컴파일한 실행 파일은 아래 파일을 다운 받으면 됩니다.
이게 무슨 쌩뚱 맞은 거야? 싶겠죠. 이 스크립트는 F12를 누르면 스타크래프트: 브루드 워에서 지정된 치트키를 입력하도록 하는 스크립트입니다. 하나하나가 스크립트로 되어 있고 그것을 인터프리터로 동작하던가 컴파일해서 쓸 수 있는 게 오토핫키입니다만, 복잡한 기능을 이야기하자는 건 아니고 간단하게 쓸 수 있는 것을 배우기 위함이니 저 예제를 바꿔서 활용하는 법을 보도록 하죠.
우선 첫번째 부분입니다.
Hotkey, F12, CheatRun
이것은 F12가 눌리면 치트를 실행하라는 명령어입니다. 다른 거 필요 없죠? 무슨 키를 누르면 동작할 것인가만 알아봅시다. 각 키는 여기를 눌러보면 알 수 있습니다만 몇가지 우리가 쓸만한 것만 알아보도록 하죠.
Ctrl - ^
Alt - !
Shift - +
Windows - #
그외에도 많은 키 조합이 있습니다만, 이 정도면 충분합니다. 예를 들면 Ctrl+Alt+Shift+S 키라고 하면 다음과 같이 표현하면 됩니다.
Hotkey, ^!+S, CheatRun
간단하죠? 다음은 실제 원하는 키가 입력되는 부분입니다.
SetKeyDelay,0
여기서 숫자는 얼마나 빠른 속도로 타이핑을 칠것인가입니다. 0 또는 -1을 넣으면 아무런 딜레이 없이 번개같은 속도로 칩니다. 스타에서 돌려보시면 보이지도 않을 겁니다. 프로그램에 따라서는 너무 빨리 치면 제대로 인식되지 않을 수 있으니 적당한 속도를 넣어주세요.
Sleep, 100
이것은 키가 입력된 다음 일정 시간 동안 쉬어주는 겁니다. ms 단위이므로 100은 0.1초 되겠습니다. 별로 필요는 없지만 마찬가지로 너무 빨리 키 입력이 들어갈 경우 인식 못 하는 프로그램이 있으므로 이렇게 해주는 거죠.
ControlSend, ,{ENTER}, Brood War
ControlSend, ,show me the money{ENTER}, Brood War
스타의 경우 치트키나 채팅창을 입력할 때 Enter 키를 눌러주죠? 그런 명령어인 겁니다. 게임에 따라서는 이런 거 필요 없는 게임도 있죠? 그런데 뒤에 붙는 Brood War는 무엇인가? 이게 중요합니다. 특정한 프로그램으로만 이 문자열이 나가도록 해주는 거죠. Brood War는 스타크래프트 확장판의 타이틀입니다. 이것은 작업 표시줄에 나오는 이름을 갖고 적당히 고쳐주시면 됩니다. Windows Live Messenger라던가 Internet Explorer라던가 무궁무진합니다. 빼버리면 현재 포커스가 가있는 창으로 키가 들어가죠. 물론 여기에 들어가는 문자열도 앞에서 Hotkey 항목에서 썼던 것처럼 조합할 수 있습니다. 예를 들어 Shift+B를 넣고 싶으면...
ControlSend, ,+B, 월드 오브 워크래프트
하면 되는 거죠.
자, 이제 원하는 게임에서 키나 문자열을 미리 만들어놓고 하나의 키를 누르면 간단하게 되는 스크립트를 누구나 짤 수 있을 겁니다. 간단하죠? 단 주의하실 것은 nProtect라던가 특정한 프로텍트 프로그램이 동작하는 게임에서는 정상적으로 동작하지 않거나 이 프로그램을 해킹 프로그램으로 간주할 가능성이 높다는 거 잊지 마세요^^