티스토리 뷰

#Chapter.16 ,테라M 매크로(비활성) 만들기 ver3

오토핫키를 이용한 비활성 매크로만들기(테라M 매크로만들기) ver3 입니다.

이번 chapter에서는 지난 chapter에서 활용했던 일반 던전과 일반 토벌 매크로를 합쳐보는 스크립트를 짜보려 합니다. 


#gui에 탭을 달아서 나눠 봤습니다


일반던전 매크로와 일반 토벌대 매크로를 가지고 있는데, 각각 다른 ahk 라서 사용하려면 번갈아가며 ahk를 실행해야되는 불편함이 있습니다. gui 부분이랑 함수 부분만 어느정도 이해하고 계시면 이해하기 쉬울 거라 생각됩니다.


그럼 스크립트ahk,스크립트txt, Include 할 라이브러리 3개, 이미지 파일부터 올려드리겠습니다.

#구동 안되면, Chapter.01 녹스설정 편에서 설정 확인하시고, 이미지 파일 읽을 수 있는지 확인해주세요.

이미지파일 못읽으면 직접 캡쳐하셔서 수작업으로 만들어 주셔야합니다.


#클릭하시고 다운받으세요.

Chapter_16.zip



그럼 스크립트 보겠습니다.


gui,show,w300 h350 center,chapter16

#넓이 300, 높이 350 gui를 생성합니다.

gui,Add,Tab,x0 y0 w300 h300 vTAB ,던전|토벌대

#던전과 토벌대로 나눈 Tab을 생성하고, 선택된(활성화된) Tab의 이름을 TAB이라는 변수에 저장합니다.

gui,Tab,던전

gui,Tab,토벌대

#이건 추후에 던전과 토벌대로 나눠서 안에 다른 기능을 삽입할겁니다 

gui,Tab

gui,Add,Button,x0 y300 w150 h50 gStart, Start

gui,Add,Button,x150 y300 w150 h50 gStop, Stop

return


#Include Gdip.ahk

#Include Gdip_ImageSearch.ahk

#Include Search_img.ahk


PostClick(FoundX,FoundY){

lparam:=FoundX|FoundY<<16

PostMessage,0x201,1,%lparam%,,녹스 플레이어

PostMessage,0x202,0,%lparam%,,녹스 플레이어

Sleep, 1000

}


Auto_D(){

#일반 던전 매크로 스크립트를 함수로 빼냈습니다.

loop{

WinGet,Nox,ID,녹스 플레이어

if(Search_img("Matching.bmp",Nox,x,y)){

PostClick(x,y)

isAuto:=true

}

if(isAuto){

sleep,2000

PostClick(775,80)

if(Search_img("Auto.bmp",Nox,x,y)){

PostClick(x,y)

isAuto:=false

isSkip:=true

Sleep,5000

}

}

if(isSkip){

sleep,1000

if(Search_img("Plus.bmp",Nox,x,y)=false){

PostClick(775,40)

isSkip:=false

Sleep,1000

}

}

if(Search_img("Matching_Exit.bmp",Nox,x,y)){

PostClick(x,y)

}

}

}

Auto_T(){

#일반 토벌대 스크립트를 함수로 빼냈습니다.

loop{

WinGet,Nox,ID,녹스 플레이어

if(Search_img("Matching.bmp",Nox,x,y)){

PostClick(x,y)

isAuto:=true

}

if(isAuto){

sleep,2000

PostClick(775,80)

if(Search_img("Auto.bmp",Nox,x,y)){

PostClick(x,y)

isAuto:=false

Sleep,5000

}

}

if(Search_img("Matching_Exit.bmp",Nox,x,y)){

PostClick(x,y)

}

}

}


Start:

gui,Submit,NoHide

#gui의 값을 Submit합니다.

if(TAB="던전"){

#시작버튼이 눌리면,gui의 TAB의 값을 비교합니다. 

Auto_D()

#TAB의 값이 '던전' 이면 함수로 빼냈던 던전 매크로 스크립트가 실행됩니다.

}else if(TAB="토벌대"){

Auto_T()

#TAB의 값이 '토벌대' 이면 함수로 빼냈던 던전 매크로 스크립트가 실행됩니다.

}

return


Stop:

ExitApp

return


GuiClose:

ExitApp

return


ver1 과 ver2를 합쳐봤습니다. 다음 Chapter에서는 일반 던전의 던전들을 선택하고 횟수를 지정해서 반복하는 스크립트를 만들어 보겠습니다.



댓글