매크로 커뮤니티

조회 수 287 추천 0 댓글 13

이번 20일 패치 이후로 영웅이 꽉찼을떄 멈추는 현상을 해결하려고 했습니다.


이건 해결됐습니다만, 코드에 대해 질문 있습니다.


if(IsImagePlus(clickX,clickY,"Image\Events\FullHeros.bmp",60,0))
{            
     log := "# ?곸썒 ??理쒕?: ?먮ℓ"
    AddLog(log)
    if(IsImagePlus(clickX,clickY,"Image\Hero\Hero.bmp",60,0))
    {
        Click(clickX, clickY)
        SleepLog( TIME_WAITPOPUP )
        AutoStrengthenHero()
        HeroAutoSelling()
    }
}


fullheros가 영웅이 꽉 찼을떄의 이미지입니다. 전체 코드에서 이 이미지가 쓰이는건 위의 내용 하나 뿐이더군요.

어쨋든 처음 문제가 생겨서 코드를 봤을떄는


1. if문으로 fullheros 이미지 인식

2. log에 문구를 집어넣은 후 해당 문구를 로그에 저장

3. 이 상태에서 if문으로 hero이미지가 화면에 떠 있다면

4. X,Y 좌표를 클릭

5. 슬립로그...이건 어떤기능인지 모르겠고

6. 이후 사용자정의된 자동강화 함수 실행 후 자동판매 함수 실행


이렇게 1 -> 6 순서로 차례대로 실행할거라 생각하고 1-5 사이에 확인용으로 sleep을 집어넣어봤는데 무시하고 바로 자동강화 함수로 빠져나가더군요. 줄마다 순서대로 처리하는게 아닌건가요?


  • 단백질 2016.01.25 18:13

    SleepLog(

    부분을 가지고 만들어놓은 명령어를 찾아보세요

    어떤용도로 사용하는건지...

  • amoure 2016.01.25 18:38
    1. 슬립로그 기능은 따로 찾아보면 되겠지만
    2. 위 본문에서 1-3에 해당하는 부분(아예 if문 들어가기 이전)에 sleep를 넣어도 정의함수로 빠져나가는 이유가 뭘까요? 모든 코드를 동시에 처리하는건가요?
  • 단백질 2016.01.25 18:44
    별로 아는게 없는 1인이다보니
    정의함수로 빠져나간다는게 뭔말인지 저는 모르겠네요

    참고로
    최근 마지막 업데이트 이전에
    영웅 풀일때 모험시작버튼을 누를경우
    취소버튼, 영웅관리창버튼, 계속하기버튼 3개가떳었는데
    업데이트이후 영웅관리창으로 들어갈수있는 Hero.bmp이미지에 해당하는 버튼이 사라지고
    취소, 계속하기버튼만 나오게 바꼈습니다.
    그러니 직접 영웅관리창으로 들어가게끔 수정하셔야됩니다.
  • amoure 2016.01.25 20:23
    어, 문제 자체는 그 업데이트 한 당일날에 해결했었어요. 다만 생각했던 곳이 아니라 다른 코드에서 해결해서 그렇지...
    정의함수는 네뷸라 제작하신 분이 임의로 AutoStrengthenHero()를 만든걸 보고 말한거에요. 표현을 좀 잘못했나보군요.
  • 지루박영롼 2016.01.26 03:42

    풀히어로.bmp 클릭하게 해놓으시고 그다음이미지는 이미지대기로 하시면 인식되실겁니다.

  • amoure 2016.01.26 08:50
    안되는 것 자체는 첫날에 이미 해결했는데요...
  • amoure 2016.01.26 08:55
    매크로가 영웅교체에서 막힌거라 생각하고 답변해주신 분들께는 감사드리지만 그 문제는 이미 패치 당일날에 해결했다고 본문에도 써놨었는데요..
    제가 질문하려던건 윗줄에서 아랫줄로 순차적으로 작동해나가야 할 코드가 재귀함수나 goto문 같은걸 만난것도 아닌데 왜 중간의 코드들을 무시하고 가장 밑바닥에 있는 함수로 빠져나가냐는 거였습니다.
  • 단백질 2016.01.27 12:40

    네뷸라 방식이 순서대로 실행이라고 하기 좀 애매한게

    이미지가 발견이 될때까지 대기하는 명령어보다

    IsImagePlus라고 이미지가 발견이 되면 작동하는 서치명령어가 대부분이라

    Loop

    {

    IsImagePlus 

    작동할 명령


    IsImagePlus

    작동할 명령


    IsImagePlus

    작동할 명령

    }

    위와같이 빠르게 인식하기위해

    이미지가 발견이된걸 우선 작동하게 되어있다보니

    게임상에서 어떤 작동중인데 이미지가 맞지않거나해서 작동이 안될경우 에도 멈추고

    다음이미지도 인식이 안되니 멈추고..

    그러니 멈추는 명령어부분 위아래를 다 훑어봐야되요

  • amoure 2016.01.28 11:15
    그럼 이미지 인식을 우선시해서 먼저 넘어가버린다는거니 오토핫키 자체의 문제인가보군요..
  • 지루박영롼 2016.01.27 18:48

    제가 설명을 좀난해하게 했나보네요 아래와 같은식으로 변경해주시면 됩니다. 히어로 아니오 누르면 그다음은 이미지가 대기하여 서치하기때문에 바로 넘어가는일이 없을것입니다. 해결하시기 바랍니다. 히어로.bmp가 소스에 여러군대 있으니 아래처럼 이미지대기를 다추가해주셔야 됩니다.

    {
    if(IsImagePlus(clickX, clickY, "Image\Hero\Hero.bmp", 60, 0, 208, 264, 282, 290))
    {
    Click(clickX, clickY) 
    if(WaitImagePlus(clickX, clickY, "Image\Hero\Hero2.bmp", 70, 0, 85, 348, 159, 374)) 

    if(checkHero)
    {
    Click(clickX, clickY)
    AutoStrengthenHero()
    HeroAutoSelling()

  • amoure 2016.01.28 11:27
    음...상세하게 달아주신건 감사하지만, 제가 한 질문은
    이렇게 막힐 땐 이렇게 하면 된다는 해결법이 아니라
    이렇게 막히는데 왜 막히는가? 같은 원인을 묻는 질문이었습니다...본문과 윗 댓글에서 말했듯 이미 문제는 해결한 상태였으니까요. 좀더 정확히는 영웅강화 함수autoherost어쩌고의 윗부분에에 클릭으로 영웅관리창을 누르게 만들어서 해결했었죠..
    그래도 waitimage를 쓰는건 아예 생각을 안해봤었는데 이후에 비슷한 문제가 생길때 응용할 수 있겠지요...감사합니다.
  • 맛킹 2016.01.29 06:00

    음??


     if(IsImagePlus(clickX,clickY,"Image\Hero\Hero.bmp",60,0))
     {
            Click(clickX, clickY)
            SleepLog( TIME_WAITPOPUP )
            AutoStrengthenHero()
            HeroAutoSelling()
     }


    여기서

     if(IsImagePlus(clickX,clickY,"Image\Hero\Hero.bmp",60,0))

    이부분이 hero.bmp를 인식하면 {  } 안에 내용을 실행하라..이런 의미입니다

    IsImagePlus()는 해당 이미지를 찾으면 true를 못찾으면 false를 리턴하고요


    그래서 hero.bmp를 못찾아서 { }의 내용인 sleep를 실행하지 않고 바로 강화로 넘어간겁니다.

    if는 프로그래밍 기본적인거고요


    if(조건)

    {

        조건이 참이면 여기로 진입

    }

    else <--조건이 거짓이면

    {

        여기로 진입

    }


    오토핫키의 경우  { } 이걸로 감싸주지 않으면 조건문 바로 아래 한줄만 인식하고요


  • amoure 2016.01.29 08:52
    친절한 설명 감사드립니다.
    하지만 본문에 말했듯 1~6 순서인 풀히어로, 히어로 if문 모두에 sleep을 집어넣었는데도 반응이 없었기에 문제가 됩니다.
    둘 다 이미지를 제대로 인식한다는건 확실합니다.
    풀히어로가 인식되어야 히어로if문이 발생하는데 저기서 이미지를 교체했을때 제대로 해당 이미지 좌표를 클릭하니까요.
    (현재 hero.bmp는 영웅이 가득찼다는 화면에서 '아니오'버튼을 나타냅니다.)
    그런데 저 두개의 if문 안에서만 제가 입력한 코드가 마치 없는것처럼 무시된다는거죠.
    히어로 이미지가 인식이 안된다면 버튼 인식이 안되니 영웅창이 닫힐리가 없고 이는 풀히어로 이미지 인식이 선행되어야하니 결국 둘다 문제가 없다는건데 저 두 if문 어디에 코드를 넣어도 무반응이라 질문 드렸습니다.
    웃긴건 이미 말한대로 자동강화 함수 내부에 집어넣은 sleep이나 click은 제대로 동작합니다. 함수를 잘못 쓴건 아니란거죠.

List of Articles
분류 제목 글쓴이 최근변경 추천
자유 운영 방해 목적의 매크로 관련 글 제재 피카부 2019.09.03 0/0
질문 프렙 vs 카카오토 7 wangae 2016.04.10 0/0
정보 #.[블루스택] 상,하 테두리(풀스크린)관련 오류 해결법 8 seadog 2016.01.29 3/0
질문 히트히트로 사용중인데요,.... 5 lollpp 2016.01.30 1/0
질문 세븐나이츠 매크로 2 god대웅 2016.03.19 0/0
자유 히트메크로 진짜 대박이네요.. 19 ssoks 2016.04.21 0/0
질문 히트로 난투장 질문 1 장난입문 2016.01.26 0/0
질문 히트로를 사용중인데 모두 잘 구동하나 모험포인트 구... 4 스컹컹 2016.01.29 0/0
질문 파더님의 히트로 궁금합니다. 깡말 2016.01.26 0/0
질문 블택1 (히트로매크로 실행이안되요..도와주세요 ㅠ_ㅠ) 5 크로우즈제로 2016.01.29 0/0
질문 별이되어라 블루스택 매크로 1 은빛다이스 2016.04.18 0/0
질문 네뷸라의 오토핫키 코드에 대해 질문 있습니다. 13 amoure 2016.01.29 0/0
질문 매크로중에 네뷸라가 제일 빠른가여?? 오리왕김오리 2016.01.22 0/0
질문 네뷸라를 수정해서 쓰시는 분들은 2 탄력성 2016.04.02 0/0
질문 네뷸랴 영웅 가득 차서 멈추네요ㅠㅠ 고수님들.. 1 무위진인 2016.01.22 0/0
질문 매크로 소스 3 은피스 2016.01.24 0/0
질문 금일 업데이트 이후 네뷸라 질문드립니다. 12 까스배달소년 2016.02.18 0/0
질문 네뷸랴 금일업뎃 후 영웅최대치 에서 안넘어갑니다 2 별사탕 2016.01.21 0/0
질문 블루스택 양매크로관련 질문좀 클릭을 안하네요 2 pshcro 2016.02.01 0/0
질문 별이되어라 매크로좀 공유해주실분 ㅠ 2 허민 2016.01.22 0/0
질문 매크로 직접만들어보고싶은데 . . 11 정근 2016.01.31 0/0
Board Pagination Prev 1 ... 384385386387388389390391392 ... 521 Next
/ 521

전체 최신 인기글

전체 주간 인기글