오토핫키 커뮤니티

조회 수 865 추천 0 댓글 2

이거로 3일정도 계속 찾아보고 시도하다 너무 스트레스 받아서 질문글을 올립니다^_T..

제가 하고싶은 건 대략 10초정도 일정 이미지를 찾다가, 찾아진다면 다음 이미지를 찾고, 못찾아진다면 그냥 그 아래 스크립트로 가게끔 하고싶습니다


참고한 게시글은


https://tailstar.net/autohotkey/9382218

https://tailstar.net/autohotkey/8512015


이 두곳이랑 구글에서 검색해서 나온 것들이구요8ㅅ8.. 

두곳에 나와있는 스크립트를 거의 그대로 사용했습니다ㅠ_ㅠ


F2::

loop

{

~~~~~~~~~~~~~~~~~~~~~~~~

~~~~제가짜놓은스크립트~~~~~

~~~~~~~~~~~~~~~~~~~~~~~~

startTime:=A_TickCount

loop

{

ImageSearch,vx,vy, 0, 0, A_ScreenWidth, A_ScreenHeight, *50 *transwhite *0 A.png

If errorlevel = 0 ;찾았을 경우

{

ImageSearch,vx,vy, 0, 0, A_ScreenWidth, A_ScreenHeight, *50 *transwhite *0 B.png

IF ErrorLevel = 0 ;찾았을 경우

{

sleep, 400

break

}

if (A_TickCount = startTime >= 10000) ;10초간 찾기

break

}

}

If errorlevel = 1 ;못찾았을 경우

{

sleep 100

break

}

~~~~~~~~~~~~~~~~~~~~~~~~

~~~~제가짜놓은스크립트~~~~~

~~~~~~~~~~~~~~~~~~~~~~~~

}


이런식으로 해봤구요(제가 초보자라 아무렇게나 검색해서 집어넣고 수정하고 하고 있습니다ㅠㅠ)

결과는 아예 가동이 안되더라구요.. 딱 이 부분만 넘기고 파일이 실행됩니다ㅠㅠ

원래는 못찾았는데도 찾았다고 뜨거나 그래서 이래저래 계속 수정해보고 검색해보고 했는데ㅠㅠ 현재는 아예 안됩니다..


그래서 아예 새 파일로 만들어서 실행되면 붙여넣자는 마음에 이래저래 검색해서


F2::

startTime:=A_TickCount

loop

{

Imagesearch, ax, ay, 0, 0, 890, 890, *20 A.PNG

If errorlevel = 0

{

MsgBox, 찾았다

Sleep 100

if (A_TickCount = startTime >= 10000)

break

}

}


If errorlevel = 1

{

MsgBox, 못찾았다

sleep 100

}


이나


F2::

startTime:=A_TickCount ; <<--startTime에 시간을 기록

loop

{

if (A_TickCount = startTime >= 10000) ;;기준으로 10초 뒤에 루프탈출 하라 (1000단위가 1초)

{

break

}

Imagesearch, oX, oY, 1, 1, A_ScreenWidth, A_ScreenHeight, *50 A.PNG

If ( ErrorLevel = 0)

{

msgbox, 찾앗다

break

}

else if ( ErrorLevel = 1)

{

msgbox, 못찾았다 ㅠㅠ

break

}

}


혹은


F2::

startTime := A_TickCount ; 시작시간 기록

loop

{

ImageSearch,vx,vy, 0, 0, 890, 1150, *transwhite *0 A.PNG

if !errorlevel

MsgBox, 찾았다

 break ; 루프끝내기


if( A_TickCount - startTime >= 30000 ) ; 시작한지 30초가 경과됐으면

MsgBox, 못찾았다

 break ; 루프끝내기

}


등등..


이런식으로 새로 파일을 만들어서 되는지 해보고, 되면 원래 파일에 붙여넣으려고 했는데

이렇게 따로 파일을 만들어도 즉각즉각 찾는 건 되는데, 못찾았을 경우에 일정 시간동안 찾은다음에 못찾았다고 하는 게 아니고 바로바로 "못찾았다"라고 뜨더라구요ㅠㅠ(미칠 지경입니다..)


당연히 아예 수정해달라는 말이 아닙니다8ㅅ8.. 

혹시 보시고 어느쪽이 문제인지 아신다면 조금이라도 조언을 해주십사 찾아왔습니다ㅠㅠ 그럼 늦은 새벽에 고맙습니다ㅠㅠ...!


  • 할거엄따구 2017.09.15 08:46

    if( A_TickCount - startTime >= 30000 ) ; 시작한지 30초가 경과됐으면

    MsgBox, 못찾았다

     break ; 루프끝내기

    if 문 다음을 { } 대괄호로 묶어주지 않으면 if 다음 첫줄만 if문의 영향을 받고 두번재 줄부터는 if문에 걸린 조건과 관계 없이 실행이됩니다.

    때문에 위와 같이 작성하시면 if문 조건을 만족하지 않더라도 바로 break가 실행이 되어 loop를 탈출하게되죵..

    if( A_TickCount - startTime >= 30000 ) ; 시작한지 30초가 경과됐으면

    {

    MsgBox, 못찾았다

     break ; 루프끝내기

    }

    요렇게 묶어보세요.

    그리고 if (A_TickCount = startTime >= 10000) ;;기준으로 10초 뒤에 루프탈출 하라 (1000단위가 1초) 요부분은

    if (A_TickCount >= startTime + 10000) ;;기준으로 10초 뒤에 루프탈출 하라 (1000단위가 1초)

    이렇게 되는게 맞습니다.

  • 가태 2017.09.15 20:13
    ㅠㅠ정말 감사합니다. 친절히 설명해주신 덕분에 교체하고 다른 부분도 손보면서 정확히 수정되었습니다ㅠㅠ!! 좋은 하루 보내세요!!

List of Articles
분류 제목 글쓴이 최근변경 추천
질문 세븐나이츠 강화시 스크롤관련...(중복질문) 가족오락관 2017.09.19 0/0
질문 린M 매크로 만들려고 하는데 고수님들의 소중한 의견을... 3 강경이 2017.11.12 0/0
질문 계속 질문글을 올려서 죄송합니다.. gdip trans기능 질... 2 hiki 2017.09.18 0/0
질문 노트북에서만 gdip 비활성관련 코딩이 안먹힙니다... 6 hiki 2017.09.19 0/0
자유 오~~좋은싸이트를 늦게서야 발견하였네요... Tammy_M 2017.09.18 0/0
질문 (허접질문)adb 리니지M 매크로 제작되나요? 2 테일하는병키 2017.09.18 0/0
질문 녹스에 PostMessage로 한글입력이나 붙여넣기는 안되나요? 9 Rabbit 2019.11.20 0/0
질문 gdip이용 비활성 서치를 하려는데 인식을 못합니다.. 9 hiki 2017.09.18 0/0
질문 settimer는 그라벨이 다끝날때까지 대기하나요? 1 adde 2017.09.18 0/0
질문 오토핫키 앱플레이어 개별 지정과 비활성모드 가능한가요? 4 도영아빠 2017.09.23 0/0
질문 아직 초보라서.. 어떤부분이 오류나는건지 알려주세요. 1 동생코코 2017.09.18 0/0
질문 자주쓰이는 해상도는 뭘까요? 포천아지 2017.09.17 0/0
질문 adb shell sendevent 사용법 질문.. 2 샤랄랄라 2017.09.18 0/0
질문 비활성으로 짜려면 뭐부터 시작해야 하나요? 1 잘해보자잉 2017.09.18 0/0
질문 오토핫키의 상태를 표시해줄수있는 방법을 고민중입니다. 4 포천아지 2017.09.16 0/0
질문 이미지서치 시간정하기 질문드려요 2 가태 2017.09.15 0/0
질문 오토핫키 이미지서치 질문 & 숫자 1씩 증가 질문 8 snfwld 2018.07.23 0/0
질문 디컴파일에 관해 알려주실분 아슈레인 2017.09.14 0/0
질문 요즘도 단풍잎 매크로돌아가나요? 세나블텍 2017.09.13 0/0
질문 이미지 서치시 해당그림에서 일부분만 판독해서 서치할... 4 hiki 2017.09.14 0/0
Board Pagination Prev 1 ... 777879808182838485 ... 209 Next
/ 209

전체 최신 인기글

전체 주간 인기글