티스토리 뷰

#Chapter.06 ,반복문(Loop).2

시작합니다.



#이번 Chapter를 잘따라와 주시면 얻을 수 있는 매크로 시연 영상입니다.


이제좀 매크로 다운 오토핫키가 완성되었습니다.

Chapter를 시연하기에 앞서, 준비하실 이미지가 있습니다. 없이 하려고 했는데 있는게 더 편할 거 같아 이미지 하나 추가 합니다.


 #던전이 시작되면 우측 위쪽에 '[던전]' 을 클릭하면 나오는 화면입니다. 빨간 네모부분 이미지를 준비해주세요. Auto_02.bmp로 저장해 주시면 됩니다.


스크립트 부터 보시겠습니다.


gui, show, w200 h200 Center, Chapter05

gui, Add, Button,x50 y0 w100 h100 gAClick, Start

gui, Add, Button,x50 y100 w100 h100 gBClick, Stop

return


AClick:

isStop:=false

isClick:=true

isSkip:=false

skipX:=0

skipY:=0

loop{

WinActivate, 녹스 플레이어

ImageSearch, fx,fy, 0,0,A_ScreenWidth,A_ScreenHeight,*Trans0x000000 *10 Matching.bmp

if(ErrorLevel=0){

Send {Click %fx% %fy%}

isClick:=true

Sleep, 1000

}

if(isClick=true){

WinActivate, 녹스 플레이어

ImageSearch, fx,fy, 0,0,A_ScreenWidth,A_ScreenHeight,*Trans0x000000 *10 Auto.bmp

if(ErrorLevel=0){

skipX:=fx

skipY:=fy

fy+=40

Send {Click %fx% %fy%}

Sleep, 1000

}

WinActivate, 녹스 플레이어

ImageSearch, fx,fy, 0,0,A_ScreenWidth,A_ScreenHeight,*Trans0x000000 *10 Auto_02.bmp

if(ErrorLevel=0){

Send {Click %fx% %fy%}

Sleep, 1000

isClick:=false

isSkip:=true

}

}

if(isSkip=true){

WinActivate, 녹스 플레이어

ImageSearch, fx,fy, 0,0,A_ScreenWidth,A_ScreenHeight,*Trans0x000000 *10 Auto.bmp

if(ErrorLevel=1){

isSkip:=false

Send {Click %skipX% %skipY%}

Sleep, 3000

}

}

WinActivate, 녹스 플레이어

ImageSearch, fx,fy, 0,0,A_ScreenWidth,A_ScreenHeight,*Trans0x000000 *10 Exit.bmp

if(ErrorLevel=0){

Send {Click %fx% %fy%}

sleep, 1000

}

if(isStop=true){

break

}

}

return


BClick:

isStop:=true

return


GuiClose:

ExitApp

return


Chapter06_txt.txt

#위링크를 누르시면 다운 받으실 수 있습니다.


스크립트 설명입니다.

AClick:

isStop:=false isStop 이라는 boolean 형 자료형입니다. 루프를 멈출때 사용됩니다.

isClick:=true isClikc 이라는 boolean 형 자료형입니다. 퀘스트 수행버튼 '[던전]' 이 실행했는지 확인합니다.

isSkip:=false isSkip 이라는 boolean 형 자료형입니다. 보스영상을 스킵할지를 확인합니다.

skipX:=0 

skipY:=0 기본 skipX와 skipY를 선언합니다, '+'이미지의 좌표값을 저장해 놓을겁니다.

loop{

WinActivate, 녹스 플레이어

ImageSearch, fx,fy, 0,0,A_ScreenWidth,A_ScreenHeight,*Trans0x000000 *10 Matching.bmp

if(ErrorLevel=0){

Send {Click %fx% %fy%} #Matching.bmp 를  찾아서 클릭합니다

isClick:=true #클릭을 하면 isClick을 true로 바꿔줍니다

Sleep, 1000

}

if(isClick=true){ #위에서 isClick이 true로 바뀌었기때문에 실행됩니다.

WinActivate, 녹스 플레이어

ImageSearch, fx,fy, 0,0,A_ScreenWidth,A_ScreenHeight,*Trans0x000000 *10 Auto.bmp

if(ErrorLevel=0){

skipX:=fx

skipY:=fy

#'+'의 좌표값을 저장합니다. 나중에 보스영상 스킵할때 이좌표를 클릭할겁니다.

fy+=40

#'+'이미지에서 y좌표를 40만큼 더해줍니다. A+=B 는 A에 B를 더한값을 A로 저장할겠다 입니다.

Send {Click %fx% %fy%}

#'+'이미지에서 y좌표를 40만큼 더하면 '[던전]'이미지 쯤됩니다. 그부분을 클릭합니다.

Sleep, 1000

}

WinActivate, 녹스 플레이어

ImageSearch, fx,fy, 0,0,A_ScreenWidth,A_ScreenHeight,*Trans0x000000 *10 Auto_02.bmp

if(ErrorLevel=0){

Send {Click %fx% %fy%}

#새롭게 준비한 이미지인 Auto_02를 클릭합니다.

Sleep, 1000

isClick:=false

#퀘스트 수행버튼은 한번만 눌리면 되기때문에 더이상 행동하지말라고 isClick을 false로 바꿔줍니다

isSkip:=true

#이제 보스이미지를 클릭하는 서칭을 하기위해 isSkip을 true로 설정합니다.

}

}

if(isSkip=true){

WinActivate, 녹스 플레이어

ImageSearch, fx,fy, 0,0,A_ScreenWidth,A_ScreenHeight,*Trans0x000000 *10 Auto.bmp

if(ErrorLevel=1){

#앞서 isSkip을 true로 설정해줬기때문에 실행됩니다.

isSkip:=false

#보스영상 스킵은 한번만 하면되기 때문에 다시 false로 바꿔줍니다.

Send {Click %skipX% %skipY%}

#위에서 '+'이미지의 좌표를 저장해놨기 때문에 그저장한 좌표로 클릭합니다.

Sleep, 3000

}

}

WinActivate, 녹스 플레이어

ImageSearch, fx,fy, 0,0,A_ScreenWidth,A_ScreenHeight,*Trans0x000000 *10 Exit.bmp

if(ErrorLevel=0){

Send {Click %fx% %fy%}

#나가기 버튼을 찾으면 클릭합니다. 던전 클리어 1회가 완성됩니다.

sleep, 1000

}

if(isStop=true){

break

}

}

return


원하는 시간동안 던전을 돌게 할 수 있는 매크로가 완성되었습니다.

지금까지, 녹스매크로에 필요한 기본적인 문법들을 알아봤습니다.

다음 Chapter 부터는 본격적으로 매크로를 만들어 보겠습니다.




댓글