매크로

조회 수 286 추천 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
분류 제목 글쓴이 최근변경 추천
자유 외부 커뮤니티로의 유입 광고 글에 대해 피카부 2023.10.19 0/0
자유 글이 베스트로 이동될 시 권한 부여 피카부 2021.06.07 0/0
자유 추천 금지를 권유/유도하는 행위는 제재 됩니다 피카부 2020.01.15 0/0
자유 이메일로 공유 요청하는 계정 제재 피카부 2018.09.14 0/0
자유 이곳은 매크로 장터가 아닙니다. 구매/판매 글 제재 피카부 2019.02.19 0/0
자유 운영 방해 목적의 매크로 관련 글 제재 피카부 2019.09.03 0/0
자유 테일스타 회원 레벨 정보 이용하기 피카부 2022.02.17 0/0
자유 외부 유료 매크로의 추천 유도 및 광고 추천 제재 피카부 2018.04.25 0/0
자유 매크로는 [공유] 분류를 지정해주세요 피카부 2022.02.17 0/0
질문 화이트세나랑 히든중 뭐가 좋나요? 2 게랑 2016.04.01 0/0
질문 녹스 세나 매크로 추천좀해주세요 3 정신차려세나 2016.04.18 0/0
질문 별되 매크로 하려고하는데 해결해주세요 2015.12.26 0/0
질문 히트 매크로 사용법좀알려주세요 13 맹물 2016.01.30 1/0
질문 히트로 매크로 사용법줌 알려주세요~ 39 악동사신 2017.07.22 2/0
정보 카카오토로 매크로 만드는 과정 동영상 모음 1~4단계 13 팟팟팟 2018.01.06 2/0
질문 세나 레이드 진입시 oMHo 2015.12.23 0/0
자유 네뷸라 아직두 잘되나요? 1 뽀레기 2015.12.23 0/0
질문 올해초부터쓰다가 중반에 네뷸라터지길래 거의안들어왔... 1 씹정상인 2016.01.08 0/0
질문 다들 네뷸라 어디서 다운받으시나요?? 7 하러시 2016.04.02 0/0
질문 네뷸라 메인에서 멈춥니다. 2 케이베어 2015.12.24 0/0
질문 세븐나이츠 네뷸라 매크로 11만원 팝업창 질문 드립니다. 3 amoure 2016.02.08 0/0
질문 노부랄] 상점 열쇠 해결하신분... `ㅡ`;; 1 무위진인 2015.12.22 0/0
질문 프랩 이미지 매치 질문좀 드립니다. 야스토 2015.12.21 0/0
자유 오늘 업뎃으로 플레이어스킬 에서 멈추시는분 19 번개번개 2016.11.07 1/0
질문 히트 블텍 쓰는데 팀뷰어 접속 끊으면 멈추내요... 4 날아라영계 2015.12.28 0/0
자유 히트로 매크로 0.4 버전 (12-18) 5 파더 2016.01.11 3/0
질문 네뷸라 세인각성관련 레이드 스킬추가 어떻게하는건가요? 붕붕드링크 2015.12.18 0/0
자유 히트로 매크로 0.3 버전 ( 2차 수정 ) 7 파더 2015.12.19 3/-1
자유 히트로 v0.3 (12-17 업데이트 대응) 14 파더 2015.12.18 3/0
Board Pagination Prev 1 ... 379380381382383384385386387 ... 513 Next
/ 513

전체 최신 인기글

전체 주간 인기글