안녕하세요 오토핫키를 막 배우기 시작했는데요,
기본적인 이미지서치, 샌드, 루프, 구이제작 등등은 얼추 많이 익어서
비활성 매크로에 도전해보려 하는데요,
postmessage를 이용하려 하는데, 현재 아래와 같은 스크립트 입니다.
이용하는 창은 게임이름 이므로 빨간색으로 적겠습니다.
F10::
Loop
{
ControlGet,rs,HWnd,,,창이름
WinSet, AlwaysOnTop, on, %rs%
CoordMode, Pixel, Screen
SetTitleMatchMode, 1
setkeydelay, 0
SysGet, VirtualWidth, 78
SysGet, VirtualHeight, 79
ImageSearch,vx,vy, 0,0, VirtualWidth, VirtualHeight, *50, Image\이미지파일.bmp
IF ErrorLevel = 0
{
postmessage, 0x100, 0x57, 0x110001,,ahk_id %rs%
Sleep, 500
postmessage, 0x101, 0x57, 0xc0110001,,ahk_id %rs%
Sleep, 1000
}
}
reload
현재 이런 방식으로 하였는데요,
제가 원하는 방식은
F10을 누르고 이미지파일을 인식하게 되면
w키에 있는 스킬을 사용하는 것 인데
위 스크립트를 하게 되면 스킬을 사용하지 않습니다.
하지만 혹시나해서 채팅창을 활성화 해보니
채팅창이 켜져있지 않은 상태에서 w라는 글씨는 써지더군요.
활성 매크로에선 스킬이 자유롭게 나가는 것으로 보아, 게임에서 막는다거나 한건 아닌 것 같은데
왜 활성화되지 않은 채팅창에 글씨는 써지는데 스킬이 안써지는걸까요?
혹시나 해서 controlsend도 이용해보았지만, 위와 같은 증세를 보입니다.
send와 postmessage의 윈도우 처리 방식 차이 때문에 그런건가요?
그런거라면 postmessage 처리방식을 비활성상태에서 send처럼 처리하게 가능한가요?
위에 스크립트도 여기저기 글 참고하여 짠건데 어느정도는 이해했지만 사실 완벽히 이해는 못했습니다.
SYSGet과 이미지서치 중 Virtual은 더블모니터 중 2번째 모니터에서 매크로를 하기 위함인데,
SYSGet이 어떤 명령인지까진 모르겠습니다.
게임 자체에서 막혔을 경우엔 대화창만 되더라구여