오토핫키 커뮤니티

조회 수 763 추천 0 댓글 7

Button시작:


SetTimer,timer,1000
goto, 시작1


return



timer:


GuiControl,Text, 팅김, 팅김 감지 시간 :? %t% 초
++t


if ( t >= 150 )
{
??ImageSearch, vx, vy, 0, 0, a_screenwidth, a_screenheight, *50 c:\이미지\꺼짐감지.png
??if errorlevel? = 0
???{
????sleep, 10000
????t = 0
????goto, Button시작
???}
}


if ( t >= 150 )
{
??ImageSearch, vx, vy, 0, 0, a_screenwidth, a_screenheight, *50 c:\이미지\재접속.png
??if errorlevel? = 0
???{
????vx := vx + 21
????vy := vy + 19
????sleep,3000
????MouseClick, left, %vx%, %vy%
????sleep, 20000
????t = 0
????goto, Button시작
???}
}


return


셋 타이머를 이용해서 150 초보다 크거가 같으면 2개의 이미지를 검색후 실행후에

다시 초를 0로 만들어서 다시 검색하게 하려고 하는데요.


1번만 작동후에 0으로 릿셋도 되질 않고 149에서 멈춰서 요부분을 뺀 나머지부분만 쭉 실행이 되네요.


이유가 무엇일까요?






  • 리체 2015.06.12 11:27

    이미지 찾았으면,

    if errorlevel? = 0

    {

    SetTimer,timer,off

    문구를 넣으세요.

  • 지니블렉션 2015.06.12 11:41
    해도 여전히 똑같네요 ㅜ_ㅜ
    149에서 멈추고 나머지 스크립트만 쭉쭉 실행되네요. ㅜ_ㅜ
  • 지니블렉션 2015.06.12 12:31
    타이머에 다른 명령어가 들어가있으면 멈추는듯하네요
    타이머 하나 추가해서 해결했습니다.
  • 암드래 2015.06.12 12:48

    이런식으로 쓰셔도 될 것 같습니다



    First = 1


    Button시작:


    SetTimer,Checker,1000


    Goto, 시작1


    Return






    Checker:

    {

    Critical, On ? ;Critical은 SetTimer를 쓰는 경우 최소한의 필수


    If (First == 1)

    {

    LimitTime:=A_TickCount

    First = 0

    }


    CountTime:=(A_TickCount-LimitTime)

    Time:=(CountTime/1000) ;1000 = 1초


    Time:=Floor(Time + 0.5) ;소수점 반올림

    GuiControl,Text, 팅김, 팅김 감지 시간 : ?%Time% 초


    If ( Time >= 150 )

    {

    ?ImageSearch, vX, vY, 0, 0, A_ScreenWidth, A_ScreenHeight, *50 C:\이미지\꺼짐감지.png

    ?If (ErrorLevel = 0)

    ?{

    Sleep, 10000

    First = 1

    Critical, Off ;Return 하기전에 Critical을 꺼주자

    Return

    ?}

    ?Else{

    ?ImageSearch, vX, vY, 0, 0, A_ScreenWidth, A_ScreenHeight, *50 c:\이미지\재접속.png

    ?If (ErrorLevel = 0)

    ?{

    vX:=(vX + 21)

    vY:=(vY + 19)

    Sleep, 3000

    MouseClick, Left, %vX%, %vY%

    Sleep, 20000

    First = 1

    Critical, Off

    Return

    ?}

    ?Else{

    First = 1

    Critical, Off

    Return

    ?}

    ?}

    }


    Critical, Off


    Return

    }


  • 지니블렉션 2015.06.12 13:45
    헛 감사합니다.
    크리티칼이 오핫 명령어였나보네요 전에 얼핏 본적이 있는데...

    한번 해봐야겠네요 또 이해할려면 한참 걸리겠어요 ㅠ_ㅠ
  • 암드래 2015.06.12 14:15
    Critical을 쓰는이유가 오핫이 멀티 쓰레드가 아니다보니

    Critical이 없으면 간혹가다가 명령어를 진행하다 다른 Settimer 명령어와 겹칠수도 있습니다

    하지만, Critical을 쓰면 off 시키기 전까진 다른 명령들이 현재 진행 중인 명령들을 방해하는 것을

    막아줍니다.
  • 암드래 2015.06.12 14:19
    그리고 Timer 방식은

    A_TickCount의 차이를 두는 방식으로 했습니다.

    A_TickCount는 OS가 기동하고 나서의 경과시간(밀리 세컨드)을 보여주는 오토핫키의 내장 변수입니다.

    정확한 시간재기가 가능합니다.

    하지만, puase 명령어로 스크립트를 멈추는 경우에도 시간은 계속 가기에

    A_TickCount 값이 변하는 건 막을 수가 없습니다.

List of Articles
분류 제목 글쓴이 최근변경 추천
질문 `키 스크립트에서 인식안하나요? 서시 2015.06.13 0/0
질문 일시정지(?) 스크립트? 한유진 2015.06.13 0/0
질문 핸콕님꺼 블레이드 매크로 질문좀드릴께요!! 2 가인아빠 2015.06.14 0/0
질문 핫키하나로 오토핫키를 온/오프 하고싶습니다. 7 서시 2017.09.08 0/0
질문 창을 가려도 이미지를 인식하게 할 수 있는 방법을..배... 궁금증호야 2015.06.12 0/0
질문 리스트 뷰 하나만 더 도와주세요 ㅜㅜ 1 뎅뎅 2015.06.16 0/0
자유 장난 삼아 만든 레이븐 지니모션 키보드 스킬... 2 헐키 2015.06.12 0/0
질문 비활성화에서 체크박스 실행은 어떻게 해야하나요? 민서s2아빠 2015.06.12 0/0
질문 셋타이머가 리셋이 되질 않네요... 이유가 무엇일까요? 7 지니블렉션 2015.06.12 0/0
질문 메모장은 되는 Postmessage, 크롬은 안되는이유는 뭘까요 1 법돌 2015.06.12 0/0
질문 이미지 서치 아닌 이미지서치(?) 가능할까요 4 home01 2015.06.11 0/0
질문 하나의 키로 pause를 변수와 함께 토글 형식으로 사용 ... 3 인형 2015.06.12 0/0
질문 질문 3번쨰......입니다.. 9 문의드립니다 2015.06.11 0/0
질문 리스트뷰 한가지만 도와주실분 4 뎅뎅 2015.06.11 1/0
질문 공부중에 궁금한점 8 문의드립니다 2015.06.12 0/0
질문 궁금 한게 있습니다... 이미지 자체를 찾지 못했다고 ... 14 케리의비밀 2015.06.19 0/0
질문 후 문의 2번째.. 드립니다......... 4 문의드립니다 2015.06.10 0/0
질문 세븐나이츠 명예보내기 오토핫키 질문드립니다.. 3 쇠파이프 2015.06.11 0/0
질문 프로그래밍에 아무지식이 없는 사람입니다. 7 별되매냐 2015.06.13 0/0
질문 오토핫키 질문입니다. 4 문의드립니다 2015.06.09 0/0
Board Pagination Prev 1 ... 162163164165166167168169170 ... 209 Next
/ 209

전체 최신 인기글

전체 주간 인기글