'채집매크로'에 해당되는 글 1건

  1. 2018.01.12 메이플 채집 매크로 만들기 [타겟 추적및 이동] 57

메이플 채집 매크로 만들기



안녕하세요.


오늘은 메이플 채집매크로 만들기에 관한

포스팅을 하도록 하겠습니다.



포스팅은 채집 매크로에 이용 될

타겟 추적및 이동코드 구현에 대해서

작성및 코드 안내를 하도록 하겠습니다.



시작하기전 당부의 말씀을 드리면 본 포스팅에서 프로그램 배포는 하지않습니다.

제작방법을 알려드리는 포스팅 이며 제작방법에 대한 강의나 스크립트 의뢰는 가능합니다 :D


메이플스토리 채집 매크로


메이플스토리 채집 매크로

메이플 채집 매크로 만들기


[타겟 추적및 이동 코드 구현하기]



기본적으로 채집 매크로를 만들기 위해서는 타겟까지 찾아가도록 코드를 작성해야 합니다.

여러가지의 채집 대상중에서도 특정 타겟만을 채집하기 위함입니다.


다양한 방법이 있지만 해당 게임과 같이 직교좌표 에서는 메모리를 따는것보다

이미지 서치를 활용하는것이 더 간결하게 코드를 작성 할 수 있습니다.




여기서 이용되는 3개의 이미지가 있습니다.


첫번째, 화면내에서 타겟이 되는 이미지. 01.bmp

두번째, 화면내에서 자신의 기준이 되는 이미지. 02.bmp

세번째, 미니맵내에서 자신의 위치를 좌표화 하기위한 기준 이미지. 03.bmp


첫번째 조건은 화면내 타겟이미지가 있는가 입니다.

굳이 화면에 찾아갈곳이 없는데 쓰레드를 낭비할 필요는 없습니다.

때문에 화면내 타겟이미지가 있을경우 원하는 좌표화를 진행 할수있도록 조건문을 작성합니다.


두번째는 미니맵 내에서 자신의 좌표 위치를 찾고, 타겟이미지를 미니맵 내에 자신과 같이

좌표화를 진행하여 실제 미니맵내 타겟위치가 표시가 되는것처럼 작업을 할겁니다.


사실 이부분은 굳이 미니맵내에 자신과, 룬을모두 좌표화 

하지않고도 직접 이동을 하게 해주어도 무방 합니다. 


다만 이렇게좌표화를 특정공간에 진행하는 이유는 타겟위치까지 찾아가기 위해 

매번 이미지서치하는것보다 한번에 원하는 위치를 찍고 이동할때까지는 이동만 하도록 하게하면

코드는 좀더 내부적으로 간결해지고 구성상 조금더 깔끔한 구성이 될수 있습니다.




아래는 실제 채집 매크로를 만들면서 작성하였던 타겟이동및 추적에 관한 실제 코드중 일부입니다.



  ImageSearch, lx, ly, stx1, sty1, stx2, sty2, *80 %A_ScriptDir%/Image/01.bmp

  If Errorlevel = 0

  {

    ImageSearch, tx, ty, 7, 40, 170, 140, *60 %A_ScriptDir%/Image/03.bmp

    If Errorlevel = 0

    {

      ImageSearch, cx, cy, 5, 30, 1020, 680, *100 %A_ScriptDir%/Image/02.bmp

      If Errorlevel = 0

      {

        If (cx>lx)

          Setx:=cx-35

        If (cx<lx)

          Setx:=cx+10

      }

      Rxv1:=tx+floor((lx-Setx-65)/16.1)

      Rxv2:=tx+floor((lx-Setx+75)/16.1)

    }

  

  ....




      Rxv1:=tx+floor((lx-Setx-65)/16.1)

      Rxv2:=tx+floor((lx-Setx+75)/16.1)


목표위치는 하나인데 위 코드와 같이 두개의 지점을 둔이유는

멈추는 지점을 다르게 하고, 오차범위를 미리 설정해주기 위함입니다.

목표 지점은 하나이나 타겟으로부터 어디에 위치해있는지에 따라 조금 앞에서 멈추도록 말입니다.


위 계산식의 16.1은 좌표화 되는거리와 실제거리차의 비율 입니다.

SetX 를 설정한 이유는 타겟이미지로부터 어떤 방향에 있는지에따라 

기준치를 좀더 세밀하게 조정하기 위해 설정해둔 변수입니다.


계산식을 풀이하자면 미니맵내 자신의위치(tx) 로부터 얼만큼 떨어져있는지 계산하여 

변수 Rxv1~2 에 저장한다는 뜻입니다.





메이플스토리 채집 매크로


메이플스토리 채집 매크로

메이플 채집 매크로 만들기


위 영상은 실제 완성된 코드의 영상으로 

사실 하나의 완벽한 채집 매크로를 만들기 위해서는 다른 요소의 코드작성이 필요합니다.


문제의 소지가 있을수있어 전체 코드공개는 못하지만 작성된 코드의 원리는 같습니다.

그래픽 개체의 이용과 이미지서치의 활용 입니다.


추후 기회가 되면 더많은 오픈소스와 자료로 포스팅 하도록 하겠습니다 :)



코드 작성에 대해 궁금한점이 있으시거나 

오토핫키 스크립트 작성법 혹은 다른 스크립트 제작의뢰 요청시 아래 메일로 연락주세요.

이메일 : cai6452@naver.com



Posted by Khan64
,