매크로

조회 수 272 추천 0 댓글 6

오토핫키를 배운지 3일째인데요.

막히는 부분이 잇어 문의드립니다.

아래 내요을 한마디로 요약하지면 이미지를 찾아서 평타3번>>스킬1>>스킬2>>스킬3>>스킬4를 무한반복하는 내용입니다.

블루스택에 비활성클릭으로 해놨습니다.

문제점은 매크로 실행시 평타3회>>스킬4번만 반복한다는건데요.

나머지 스킬1~3번에 대한 이미지를 못찾는것도 아닙니다.

수동으로 나머지 스킬은 한번씩 사용하면 이미지를 찾아서 스킬을 사용하기 때문인데요.

수동으로 누르지 않아도 나머지 스킬이 눌려지게끔 할수 있는방법이 없을까요?


gui, add, text, x30 y5 w100 h20, 러스티블러드
gui, add, text, x110 y5 w50 h20 vA, 준비
gui, add, checkbox, x20 y35 w100 h20 v공격 checked, 공격
gui, add, checkbox, x20 y55 w100 h20 v난무 checked, 난무
gui, add, checkbox, x20 y75 w100 h20 v바칼 checked, 바칼
gui, add, checkbox, x20 y95 w100 h20 v사분 checked, 사분
gui, add, checkbox, x20 y115 w100 h20 v회피 checked, 회피
gui, add, button, x20 y150 w50 h20 v시작버튼, 시작
gui, add, button, x80 y150 w50 h20 v종료버튼, 종료
gui, add, text, x50 y180 w90 h20, F2 : 정지
gui, show

global 매크로시작 := false

return

button시작:
{
 GuiControl, disable, 반복횟수,
 GuiControl, disable, 공격,
 GuiControl, disable, 난무,
 GuiControl, disable, 바칼,
 GuiControl, disable, 사분,
 GuiControl, disable, 회피,
 GuiControl, disable, 시작버튼,
 
 gui, submit, nohide
 GuiControl,  , A, 시작
 
 CoordMode, pixel, screen
    CoordMode, mouse, screen
 
 매크로시작 := true
 global 클리어횟수 := 0
 
 while((매크로시작 = true) && ((클리어횟수 < 반복횟수)  || (반복횟수 =0)))
 {
  WinGetPos, pos_x, pos_y, width, height, BlueStacks App Player
  x_right := width + pos_x
  x_bottom := height + pos_y
  
  if (공격 = 1)
     loop
   {
  ImageSearch, FoundX, FoundY, %pos_x%, %pos_y%, %x_right%, %x_bottom%, *50 %A_ScriptDir%\image1\공격.bmp
     if ((errorlevel=0) && (매크로시작 = true))
         {
       비활성왼쪽클릭(foundX, FoundY) ;찾은좌표 클릭
       sleep, 1000 ;대기시간 0.7초)
   }
   if a_index = 3
  break
   }
    
  if (난무 = 1)
   {
  ImageSearch, FoundX, FoundY, %pos_x%, %pos_y%, %x_right%, %x_bottom%, *50 %A_ScriptDir%\image1\난무.bmp
     if ((errorlevel=0) && (매크로시작 = true))
         {
       비활성왼쪽클릭(foundX, FoundY) ;찾은좌표 클릭
       sleep, 1000 ;대기시간 0.7초)
   }
   }
 
  if (바칼 = 1)
  {
  ImageSearch, FoundX, FoundY, %pos_x%, %pos_y%, %x_right%, %x_bottom%, *50 %A_ScriptDir%\image1\바칼.bmp
     if ((errorlevel=0) && (매크로시작 = true))
         {
       비활성왼쪽클릭(foundX, FoundY) ;찾은좌표 클릭
       sleep, 1000 ;대기시간 0.7초)
   }
  }
 
   if (사분 = 1)
  {
  ImageSearch, FoundX, FoundY, %pos_x%, %pos_y%, %x_right%, %x_bottom%, *50 %A_ScriptDir%\image1\사분.bmp
     if ((errorlevel=0) && (매크로시작 = true))
         {
       비활성왼쪽클릭(foundX, FoundY) ;찾은좌표 클릭
       sleep, 1000 ;대기시간 0.7초)
  }
  }
 
  if (회피 = 1)
  {
  ImageSearch, FoundX, FoundY, %pos_x%, %pos_y%, %x_right%, %x_bottom%, *50 %A_ScriptDir%\image1\회피.bmp
     if ((errorlevel=0) && (매크로시작 = true))
         {
       비활성왼쪽클릭(foundX, FoundY) ;찾은좌표 클릭
       sleep, 1000 ;대기시간 0.7초)
   } 
  }  
  
 } 
}
return

guiclose:
exitapp

Button종료:
{
    GuiControl, enable, 반복횟수,
 GuiControl, enable, 공격,
 GuiControl, enable, 난무,
 GuiControl, enable, 바칼,
 GuiControl, enable, 사분,
 GuiControl, enable, 회피,
 GuiControl, enable, 시작버튼,
 
 gui, submit, nohide
 GuiControl,  , A, 종료

 매크로시작 := false
}
return

f2::
{
 매크로시작 := false
 
 gui, submit, nohide
 GuiControl,  , a, 정지
}
return

비활성왼쪽클릭(x좌표, y좌표)
{
 wingetpos, w_x, w_y, w_w, w_h, BlueStacks App Player
 
 내부좌표x := x좌표 - w_x
 내부좌표y := y좌표 - w_y
 
 Iparam := 내부좌표x|내부좌표y<<16
 postmessage, 0x201, 1, %Iparam%,  ,BlueStacks App Player
 postmessage, 0x202, 0, %Iparam%,  ,BlueStacks App Player
 sleep, 100
}


  • 제발등업좀2 2015.10.06 20:06
    블루스택도 포스메세지도 클린 아닌가요?
    내부좌표x := x좌표 - w_x
    내부좌표y := y좌표 - w_y
    좌표 x값에서.. 왜 창의 x값을 빼주시나요?
    걍 포스메세지는 창의 캡션과 보더값만 빼주시면 되는게 아닌지?
    툴팁으로 해당좌표애 잘뚜는 지 확인해보세요 ㅎㅎ.
    음 간만이라 내가헤갈리는건가 ㅋ
  • 리체 2015.10.07 10:30

    스크린좌표이기 때문에 그렇습니다.

  • 쨍애 2015.10.06 21:44

    혹시 각 스킬에 대한 딜레이가 잘못 계산된건 아닐까요?

  • 운매력임 2015.10.06 23:18
    딜레이는 문제 없어요 스킬에 이미지를 무한반복으로 찾으면서 해당 이미지가 있으면 클릭해주느 식이라.
    앞에서도 설명햇듯이 수동으로 한번 눌려주고 난 스킬은 이미지로 잘 찾더라구요.
  • 리체 2015.10.07 10:27

    클릭함수에서 스크린상의 창위치만 빼주셨습니다. 보더와 캡션도 빼주셔야 합니다.

  • 운매력임 2015.10.07 16:58

    공부할게 많군요 ㅠㅠ


List of Articles
분류 제목 글쓴이 최근변경 추천
질문 루프중인 스레드 중지 4 엑시노트 2015.10.12 0/0
질문 오토핫키 여러사진 이미지 서치 질문 3 aces 2015.10.12 0/0
질문 이에러좀 봐주세요 ... 9 제발등업좀2 2015.10.12 0/0
질문 이미지서치 픽셀서치를 여러개 할때 3 위험인물1 2015.10.11 0/0
질문 ADB IP 얻어오는법 관련 질문드립니다 (__)(--)(__) 굽... 24 제발등업좀2 2015.10.10 0/-1
질문 adb방식이 구체적으로 어떤건가요? 5 세븐나이쯔 2015.11.24 1/0
질문 gui 질문드리겠습니다. 8 doprop 2015.10.15 0/0
질문 오토핫키 설치시 에러 1 별사탕 2015.10.09 0/0
질문 이미지서치 오차율 질문 다시한번 5 fnwj 2015.10.11 0/0
자유 흠냐 오토핫키와 c++ 연관성 34f35 2015.10.09 0/0
정보 MS오피스 스타일 GUI 프로토타입 6 예지력1 2016.04.16 4/0
자유 함수 파라메터 질문좀 드리겠습니다. 7 횬히 2015.10.08 0/0
질문 숫자 "배수"를 나타내려면? (반복작업 중 시간간격으로... 6 서시 2015.10.12 0/0
자유 gdip_imagesearch 사용하시는분 팁좀주세요! 8 횬히 2015.10.10 0/0
질문 gdip_imagesearch 관련 클릭 질문드립니다 2 영웅거북 2016.07.19 0/0
질문 변수대입 줄문입니다 고수님들 좀봐주세요 11 제발등업좀2 2015.10.08 0/0
질문 마우스드래그 1 가자야 2015.10.06 0/0
질문 오토핫키 문의합니다. 답변부탁드려요. 6 운매력임 2015.10.07 0/0
질문 항상위 4 가자야 2015.10.05 0/0
질문 카트라이더 매크로는 없나요? 2 성혀니요 2015.10.05 0/0
Board Pagination Prev 1 ... 141142143144145146147148149 ... 209 Next
/ 209

전체 최신 인기글

전체 주간 인기글