매크로

질문
2020.05.21 08:36

픽셀서치 도움 요청 드립니다

조회 수 180 추천 0 댓글 3

제가 하고 있는 게임이 있어 픽셀 서치를 만들었는데


CoordMode, Pixel, Screen

CoordMode, Mouse, Screen

Gui, Add, Text, x10 y10 w150 h20 Center, 매크로 프로그램

Gui, Add, Button, x10 y30 w150 h20, 시작

Gui, Add, Button, x10 y55 w150 h20, 멈춤

Gui, Add, Button, x10 y80 w150 h20, 종료

Gui,Show


상태변수 := false

return


GuiClose:

{

ExitApp

}

return

-::

Button시작:

{

상태변수 := true

While(상태변수 = true)

{

Loop

{

PixelSearch, vx, vy, 0,0, A_ScreenWidth, A_ScreenHeight, 0xD2D2D3, 1, Fast RGB (A)

if(ErrorLevel = 0)

{

Click, %vx%, %vy%

Sleep, 2000

}

{

PixelSearch, vx, vy, 0,0, A_ScreenWidth, A_ScreenHeight, 0x12345, 1, Fast RGB (B)

if(ErrorLevel = 0)

{

Click, %vx%, %vy%

Sleep, 2000

}

}

}

}


return

=::

Button멈춤:

{

상태변수 := false

}

return

Button종료:

{

ExitApp

}



코드를 이렇게 짰습니다

여기서 문제점이 2가지 발생하는데

1.전혀 관련없는 픽셀 지점으로 이동 후 제가 지정한 픽셀로 이동합니다
2.멈춤 버튼이 작동을 안하네요 (멈춤 버튼 눌러도 계속 실행)

그리고 픽셀서치 2개를 넣었는데 A를 찾아서 클릭하고 B를 찾아서 클릭 하는데
A 또는 B 를 찾으면 클릭하게 바꾸고 싶은데 가능한가요?

고수님들 도움 부탁드립니다

  • 리체 2020.05.22 12:28
    1.전혀 관련없는 픽셀 지점으로 이동 후 제가 지정한 픽셀로 이동합니다
    픽셀은 전체화면에서 검색하면 같은 색상이 여러군데서 나올수 있기 때문에 범위를 좁혀서 해야
    정확성을 높일수 있습니다

    2.멈춤 버튼이 작동을 안하네요 (멈춤 버튼 눌러도 계속 실행)
    와일문안의 루프문에서 서치가 반복되기 때문에 와일문으로 돌아가지 않습니다

    A 또는 B 를 찾으면 클릭하게 바꾸고 싶은데 가능한가요?
    픽셀서치문 하나로는 불가능, 지금 하고 있는게 결과적으로 똑같은 기능 아닙니까?
    픽셀서치 함수를 만들고 if문을 이용하면 간소화 할수는 있습니다.
    if 픽셀함수(색상a)=0 or 픽셀함수(색상b)=0
       클릭
  • dlslwl 2020.06.05 17:35

    지금 대괄호를 보시면

    첫번째 pixelsearch 가 끝나야 두번째 pixelsearch가 시작하게끔 되어있어요

    첫번째 pixelsearch 다음 {click, %vx%, %vy%    sleep,2000} 다음 { 괄호 지워주시면 되구요

    되도록이면 if구문이나 서치구문은 줄 맞춰서 보셔야 보기 수월해요~ 첫번째 픽셀 끝나고 대괄호를 열어주셔서 A를 찾아야지 B를 찾게끔 되어있는거구요. 동일선상으로 놓으시면 A찾고 없으면 B찾고 클릭, A찾고 있어도 클릭 후 B찾고 클릭 이렇게 진행되요.


    멈춤기능은 두번째픽셀구문 클릭 sleep,2000 } 끝나고 if(상태변수 = false) 줄바꿔서 { 줄바꿔서 break 줄바꿔서 } 넣으시면 되요.

  • dlslwl 2020.06.05 17:38

    상태변수 := false

    return


    GuiClose:

    {

    ExitApp

    }

    return

    -::

    Button시작:

    {

    상태변수 := true

    While(상태변수 = true)

    {

    Loop

    {

    PixelSearch, vx, vy, 0,0, A_ScreenWidth, A_ScreenHeight, 0xD2D2D3, 1, Fast RGB (A)

    if(ErrorLevel = 0)

    {

    Click, %vx%, %vy%

    Sleep, 2000

    }

    PixelSearch, vx, vy, 0,0, A_ScreenWidth, A_ScreenHeight, 0x12345, 1, Fast RGB (B)

    if(ErrorLevel = 0)

    {

    Click, %vx%, %vy%

    Sleep, 2000

    }

    if(상태변수 = false)

    {

    break

    }

    }

    }

    }


    return

    =::

    Button멈춤:

    {

    상태변수 := false

    }

    return

    Button종료:

    {

    ExitApp

    }


List of Articles
분류 제목 글쓴이 최근변경 추천
질문 몽길이 메클 질문드립니다... 1 헬로시드니 2014.12.09 0/0
질문 절전모드 전부 해제 시켰는데도 잘 때 매크로가 멈추네요 2 FKILLER 2014.12.14 0/0
질문 오토핫키가 다루기가 어려울까요? 7 그냥그래요 2014.12.13 0/0
질문 오토핫키 실행시키고.......... 3 맹물도사 2014.12.11 0/0
질문 비활성매크로 PostMessage 사용 시 클릭이 안되는 문제 13 시나브로 2015.01.20 0/0
질문 포스트메시지를 사용하여 조합키를 보낼수있을까요? 3 클래식나인 2014.12.15 0/0
질문 Dropdownlist 에 항목을 추가 하는 방법이 궁금합니다 3 레이븐 2014.12.16 0/0
질문 오토핫키 내에서 프로세스를 여러개 돌릴 경우 질문 4 클래식나인 2014.12.24 0/0
질문 오토핫키 메세지 박스 시간지나서 없어지게 하는방법좀... 6 맥스류 2015.01.03 0/0
자유 [잡담]요즘들어 매크로 만들고싶은 욕구가 점점 강해지... 9 외치기 2014.12.19 0/0
질문 이미지 서치 관련 질문점 드릴께요. 11 히얍 2015.01.20 0/0
질문 오토핫키 복사 ctrl v 명령어 알려주세요 2 튀니지사람들 2015.01.23 0/0
질문 GDI+이용한 screen capture 4 Works 2014.12.24 0/0
질문 오핫 실행전 배너출력 8 파더 2015.01.23 0/0
자유 작업을 하면할수록.. 잘할줄은모르지만.. 영상편집이.. 6 파더 2015.01.16 0/0
질문 WinMove 관련질문... 2 파더 2014.12.19 0/0
질문 컴파일시 다른 파일들도 포함시키고 싶습니다. 4 레이븐 2014.12.24 0/0
질문 오토핫키 질문 6 rh1406 2014.12.17 0/0
정보 윈도우의 타이틀바, 보더 없애는 방법. 7 모바게 2014.12.23 0/0
정보 간단한 단축키 ~ 5 앞프론뒷태 2015.03.13 0/0
Board Pagination Prev 1 ... 67891011121314 ... 209 Next
/ 209

전체 최신 인기글

전체 주간 인기글