매크로

조회 수 2927 추천 2 댓글 59

1편 :?http://tailstar.net/hiromacro/1002422



1편에서 필요한 좌표 값 및 색값을 땄습니다.


그럼 이제는 자신이 원하는 내용을 스크립트로 옮겨 적어야 하는 과정이 남아 있죠.


우선 원하는 기능이 정확하게 어떤 것인지 정리할 필요성이 있습니다.?


제가 잡은 기능은 크게 "보라등급 이하의 아이템을 모두 판매" 라는 단 하나의 목적이 있었죠.?


오늘은 제가 실수를 한 스크립트를 가지고 제가 실수를 한 부분과 수정 과정에 대해 이야기를 해보도록 하겠습니다.?


처음 제가 생각을 했을 때는?


1. 아이템 창의 왼쪽 라인 아이템들의 색값을 읽은 다음?

2. 보라색 등급이하 이면 아이템을 클릭하여?

3. 판매 버튼을 누른 후?

4. 등급 이하 아이템 판매 버튼을?

5. 누르고 "나가기" 버튼을 누르자


라는 매크로 였습니다. ?변수 부분은 스크립트를 만드는 사람의 성격 차이긴 한데?


개인적으로는 변수를 좋아 합니다. 그 이유는 제가 보통 작업을 지니모션, 노트3 두 가지 환경에서 작업을 하고?

매크로를 짜게 되는데 변수를 지정하고 각각의 환경에서의 변수를 가지고 있으면 차후 스크립트를 수정을 할 때?

수정이 쉬워지는 장점이 있기에 거진 대다수의 값들을 변수 처리 하여 사용합니다.?


변수를 지정할 때의 주의 점은

1. 각각의 변수끼리 같은 이름이 되어서는 안되고?

2. 나중에 수정을 위해서 변수를 봤을 때 이해 할 수 있는 네이밍이 필요로 합니다.?


아래의 스크립트의 좌표값이나 색값은?


DEVICE: Samsung Galaxy Note 2 - 4.3 - API 18 - 720x1280 4.3

SCREEN_SIZE: 720x1280


와 같은 환경의 지니모션 입니다.?


=======================================================================================


//여기는 1편에서 확인한 X좌표와 Y좌표값 입니다.?

var #inx1 593

var #inx2 460

var #inx3 327

var #inx4 193

var #iny1 671

var #inych1 729


//좌표값을 넣어서 아이템 창 왼쪽 라인에 아이템들을 바꿔서 배치해 보면서 뽑아낸 색값입니다.?

var #invw 16777215 <흰색

var #invg 6148644 <녹색

var #invb 16748826 <파란색

var #invp 16725918 <보라색

var #invo 2332159 <주황색

var #invr 794579 <빨간색


//좌표 값에서 getcolor 코드로 색값을 받아와서 저장 시킨 후 기존의 아이템 색깔과 비교하기 위한 변수 입니다.?

var #invc1 0

var #invc2 0

var #invc3 0

var #invc4 0


//판매 좌표

var #sex 67

var #sey 852


//모두판매

var #asx 248

var #asy 497


// 뒤로가기버튼

var #backx 95

var #backy 54

var #back 6843088

var #backcheck 0


여기 까지가 필요한 변수 지정이 끝났고 이제부터 본격 스크립트가 시작됩니다.?

=====================================================================================


:start

:inven1 ? << 인벤토리에 왔을 때의 상황을 라벨로 지정한 것입니다.?

? ? ? ? ? ? ? ? ?반복 실행이나 스크립트를 중간에 뛰어 넘어야 할 경우 지정하시고?

? ? ? ? ? ? ? ? goto :inven1 과 같이 구문을 써 주시게 되면 됩니다.?


getcolor #backcheck #backx #backy ?

sleep 1000


if #backcheck == #back ? ?<< 나가기 버튼의 색값이 지정해놓은 색값과 같을 경우 1,2,3,4번째 줄의 왼쪽좌표값의 색값 확인

getcolor #invc1 #inx1 #iny1

getcolor #invc2 #inx2 #iny1

getcolor #invc3 #inx3 #iny1

getcolor #invc4 #inx4 #iny1

sleep 1000

log #invc1 _invc1_1

log #invc2 _invc2_1

log #invc3 _invc3_1

log #invc4 _invc4_1

else

goto :inven1

endif


<< 여기서 나가기 버튼에 대해서 색값을 찾은 이유는 게임 환경 상 네트워크가 불안한 상황에서 아이템 창을 여는데?

"가방을 불러오는중입니다." 라는 멘트와 함께 바로 열리지 않을 경우가 있어서?

그 경우를 방지 하기 위하여 색값을 읽어서 완벽히 열리고 난 후 다음 스크립트를 진행 하기 위하여 넣은 안전 장치 입니다.?


if #invc1 == #invw or #invc1 == #invg or #invc1 == #invb or #invc1 == #invp

touchpress 0 #inx1 #inych1

elseif #invc2 == #invw or #invc2 == #invg or #invc2 == #invb or #invc2 == #invp

touchpress 0 #inx2 #inych1

elseif #invc3 == #invw or #invc3 == #invg or #invc3 == #invb or #invc3 == #invp

touchpress 0 #inx3 #inych1

elseif #invc4 == #invw or #invc4 == #invg or #invc4 == #invb or #invc4 == #invp

touchpress 0 #inx4 #inych1

else

goto :invenout

endif


<< 여기는 바로 위에서 색값을 읽었을 때 각 색값을 비교하여 왼쪽 라인의 아이템이 보라색,파란색,녹색,흰색 일 경우?

그 아이템을 클릭하는 스크립트입니다.?

상위 등급의 아이템이 위로 올라가는 별되의 시스템상?

스크립트의 진행은 가장 위에 줄부터 시작하여 색값을 비교 하게 됩니다.?


sleep 1000

touchpress 0 #sex #sey ? <<판매 버튼 클릭

log touch sell_1

sleep 1000

touchpress 0 #asx #asy ?<< 등급이하 판매 버튼 클릭

sleep 1000

goto :invenout





:invenout

sleep 1000

getcolor #backcheck #backx #backy

sleep 1000

if #back == #backcheck

touchpress 0 #backx #backy

sleep 1000

goto :dun

else

goto :invenout

endif


여기서 다시 나가기 버튼의 색값을 확인 한 것은?

역시나 아이템을 판매 하고 나면 판매 하기까지 지연시간이 있습니다.?


나가기 색값을 가지고 온 후 색값이 같다면 나가기 버튼 클릭 후 다시 던전으로 진행?

그렇지 않으면 다시 색값확인으로 구성되어있습니다.


:end

=========================================================================================

하지만 이 스크립트를 실행 시킨 후 1시간이 채 되지 않은 상태에서 매크로가 이상 작동을 하게 됩니다.?

그 내용은 다음편으로....


혹시나 스크립트에 관련해 추가 설명이 필요하신 분들은 리플을 달아 주시면 시간 날 때 설명 해 드리겠습니다.?

미흡하지만 혹시나 강좌 내용을 퍼 가실 때는 마음껏 퍼가시되 출처만 밝혀 주시면 감사하겠습니다.?


List of Articles
제목 글쓴이 최근변경 추천
00시간 00분 동안 대기 하기 7 하늘보글이 2023.01.16 0/0
초보용 반복 강좌 159 존레넌 2023.09.21 5/0
초보의 초보를위한 매크로를 만들때 하나의 프로세스. 91 묵응 2023.08.27 15/0
한글로 만들어보는 매크로. 35 묵응 2019.11.22 5/0
생초보도 만들수 있는 매크로 (Feat.한글로 풀어보는 ... 73 묵응 2021.05.02 8/0
본격 매크로 스크립트 만들어보기(1) 66 샤먼 2023.07.27 4/0
if 구문 예제 31 샤먼 2022.01.12 5/0
기본 구문 설명 : if 36 샤먼 2019.08.20 5/0
기본 문구 설명 var, getcolor 55 샤먼 2019.01.15 6/0
기본 구문 설명 touchpress, touchdown, touchup, touc... 49 샤먼 2019.11.22 6/0
히로매크로에서 하드웨어키로 스크린샷을 찍어보자! 43 닷찌 2020.04.01 3/0
히로매크로 쉽게 알기 - 4 (별이되어라 스스스작 좌표... 126 태환은린 2021.07.19 12/0
히로매크로 쉽게 알기 - 3 (스크립트 복사와 수정법) 96 태환은린 2019.11.22 8/0
히로매크로 제작 강좌-4 (부제: 장비 판매) 40 샤먼 2018.05.24 2/0
히로매크로 쉽게 알기 - 2 (별이되어라 모든사냥터사냥... 160 태환은린 2019.11.22 9/0
히로매크로 쉽게 알기 - 1 308 태환은린 2023.07.21 33/0
히로매크로 제작 강좌-3 (부제: 장비 판매) 46 샤먼 2021.04.29 3/0
심심해서 발로 써보는 히로매크로 강좌_3 75 가풍기 2020.10.09 12/0
히로매크로 제작 강좌-2 (부제: 장비 판매) 59 샤먼 2022.02.18 2/0
히로메크로 제작 강좌-1 (부제: 장비 판매) 121 샤먼 2021.02.13 8/0
Board Pagination Prev 1 2 Next
/ 2

전체 최신 인기글

전체 주간 인기글