매크로

A B C D 단계로 이뤄진 루프를 돌리고 있다고 할때, 각 단계에서 if를 걸어 조건 불만족시 처음 A로 돌아가는 함수를 쓰려고 합니다


Loop

{

Loop

{

ImageSearch, FoundX, FoundY, 0, 0, A_ScreenWidth, A_ScreenHeight, *50 C:\Image1\001.bmp

if(ErrorLevel = 0)

{

Send {Click %FoundX% %FoundY%}

break

}

else

{

sleep, 1000

}

   }

sleep, 4000


Loop

{

ImageSearch, FoundX, FoundY, 0, 0, A_ScreenWidth, A_ScreenHeight, *50 C:\Image1\002.bmp

if(ErrorLevel = 0)

{

Send {Click %FoundX% %FoundY%}

break

}

else

{

sleep, 1000

}

   }

sleep, 2000




......요런식으로 진행하다가(여기까지는 문제가 없이 동작됩니다), 루프안에 if를 많이 넣을경우 문제가 생기고 있습니다(이것보다 쉽게 하는법을 모르겠네요; 뭔가 더 방법이 있을것 같긴 한데 초보라서...)




Loop

{

ImageSearch, FoundX, FoundY, 0, 0, A_ScreenWidth, A_ScreenHeight, *50 C:\Image1\010.bmp

if(ErrorLevel = 0)

   {

   Send {Click %FoundX% %FoundY%}

    

sleep, 3000

    

   ImageSearch, FoundX, FoundY, 0, 0, A_ScreenWidth, A_ScreenHeight, *70 C:\Image1\enemy.bmp

if(ErrorLevel = 0)

       {

mouseclick, L, 1000, 450

 

sleep, 4000

 

    Loop

           {

       ImageSearch, FoundX, FoundY, 0, 0, A_ScreenWidth, A_ScreenHeight, *70 C:\Image1\pause1.bmp

   if(ErrorLevel = 0)

{

Send {Click %FoundX% %FoundY%}

break

}

else

{

sleep, 300

}

}

sleep, 1000

Loop

           {

       ImageSearch, FoundX, FoundY, 0, 0, A_ScreenWidth, A_ScreenHeight, *70 C:\Image1\withdraw.bmp

           if(ErrorLevel = 0)

           {

       Send {Click %FoundX% %FoundY%}

       break

           }

           else

           {

       sleep, 300

           }

               }

   

    

           sleep, 4000

    

Loop

           {

       ImageSearch, FoundX, FoundY, 0, 0, A_ScreenWidth, A_ScreenHeight, *70 C:\Image1\hg.bmp

           if(ErrorLevel = 0)

           {

       Send {Click %FoundX% %FoundY%}

       break

           }

           else

           {

       sleep, 300

           }

               }

   

   sleep, 4000

    

Loop

           {

ImageSearch, FoundX, FoundY, 0, 0, A_ScreenWidth, A_ScreenHeight, *70 C:\Image1\stop1.bmp

           if(ErrorLevel = 0)

           {

       Send {Click %FoundX% %FoundY%}

       break

           }

           else

           {

       sleep, 300

           }

               }

   

 

           sleep, 2000

 

   Loop

   {

       ImageSearch, FoundX, FoundY, 0, 0, A_ScreenWidth, A_ScreenHeight, *70 C:\Image1\stop2.bmp

           if(ErrorLevel = 0)

           {

       Send {Click %FoundX% %FoundY%}

       break

           }

           else

           {

       sleep, 300

           }

               }

   

 

           sleep, 3000

 

   reload 


}

else

{

mouseclick, L, 1000, 450

break

}

}

else

{

sleep, 1000

}

   }




reload --->;요기가 문제인것 같습니다. 여기에서 다시 맨 처음 시작하는 곳으로 가고 싶은데 어떤식으로 표현해야 할지 모르겠습니다...실제로 적용해보니 reload가 맨 처음으로 돌아가게 하지는 않는것 같더라구요


reload라고 쓴 부분에 어떻게 해야 매크로를 처음으로 시작하는것 처럼 만들 수 있을까요??


(image 1,2를 찾는 앞부분은 잘 되다가 image10을 찾는것이 잘 안되는 상태입니다)


  • 리체 2017.08.19 09:10

    sss:

    loop

    {

       ...

       goto, sss

    }

    이렇게 라벨을 만들어 점프 하면 됩니다.


    님의 코드는 거짓일때만 reload를 하게 되어 있습니다.

    참일때는 루프를 벗어나서 reload를 실행하지 않아요.

    의도하신바가 맞고 reload 시켰을때 스크립트가 끊김없이 수행하는거라면 문제없습니다.


    그리고 로그를 넣어서 각 이미지서치마다 성공했을 경우 알수 있게 하는게 디버깅 하는데에도 좋습니다.

  • 병살타 2017.08.19 09:31

    라벨 만들어 점프! 감사합니다

  • 병살타 2017.08.19 09:32

     '로그를 넣어서 각 이미지서치마다 성공했을 경우 알수 있게 하는게 디버깅 하는데에도 좋습니다.'


    어떤 식으로 함수를 넣어서 적용하는 방법이 있을까요??

  • 리체 2017.08.19 18:16

    로그로 이용할수 있는건 여러가지 많습니다.

    간단하게 tooltip으로 표시하고 파일에 저장하여 나중 찬찬히 살펴볼수도 있고

    gui의 text나 edit를 이용할수도 있고 listview를 이용할수도 있습니다.



  • 병살타 2017.08.19 19:15

    친절한 답변 감사합니다 ^^


    덕분에 무사히 해결했네요

  • 포롤포포롤 2017.09.11 02:39
    어렵네요 ㅠㅠ 아무리봐도 머리만아파와요 ㅠ

List of Articles
분류 제목 글쓴이 최근변경 추천
질문 정말 초보적인 질문입니다만..마우스클릭의 위치를 조... 1 가느가다 2017.08.27 0/0
질문 모모 비활성 마우스클릭 도와주세요 자꾸 한곳만 클릭... 6 험블비 2018.10.17 0/0
질문 gdip 비활성 매크로에 if errorlevel 못쓰나요? 3 비구니 2018.05.11 0/0
자유 오토핫키로 세븐나이츠 비활성 매크로 공유된 자료나 ... 만렙찍자세븐 2017.08.24 0/0
질문 Window Info에 창 이름이 안뜨는건 어떻게 해야하나요? 3 ㅎㅈ2 2017.08.23 0/0
질문 Gdip 이미지 서칭시 특정 좌표에서부터 검색을 하고싶... 개발자의하루 2017.08.22 0/0
질문 길찾기 기능을 구현해볼려고 하는데요 3 곡산강씨 2017.08.31 0/0
정보 pixelGetColor 오차범위 만들기(10진수변환) 9 갈리토스 2022.07.21 0/0
질문 액셀에 사진이동후 사진속 숫자 및 글씨 엑셀로 이동하... 미쓰광 2017.08.22 0/0
질문 Pushbullet 윈도우 프로그램 비활성 클릭 질문드려요. 2 봉달이 2017.08.23 0/0
질문 어플이 간헐적으로 멈추는 변수를 어떻게 해결할까요? 3 프큼 2017.08.24 0/0
질문 오토핫키로 바람나라 하시는분 계신가요? 스피노프 2017.08.20 0/0
질문 우회하는건 게임사에서 막아놓은걸 뚫는 방법인가요? 5 woojin77 2017.08.24 0/0
질문 프메 매크로 만드려고 하는데.... 2 shhauwj 2017.09.13 0/0
질문 오토핫키에서 특정 좌표만 캡처할수 있을까요? 2 강문원 2017.08.21 0/0
질문 카톡 API라이브러리 질문입니다(KAKAO API LIBRARY) jhmun200 2017.08.19 0/0
질문 오토핫키 실행도중 다른 작업들을 무시하는 방법이 있나요 3 adde 2017.08.19 0/0
질문 루프중간에서 맨 처음으로 돌아가게 하는법(재시작 하... 6 병살타 2017.09.11 0/0
질문 이미지 서치 후 클릭 도중 다른 이미지가 서치되는건 ... 2 망나뇨옹 2017.08.18 0/0
질문 ControlClick 질문드립니다. 3 호반베르디움 2017.08.22 0/0
Board Pagination Prev 1 ... 798081828384858687 ... 208 Next
/ 208

전체 최신 인기글

전체 주간 인기글