매크로

조회 수 1631 추천 0 댓글 12

https://i.imgur.com/zO6xmlS.png


맨 위에 부터 시작해서 HP , MP , SP 입니다. 


여기에서 50% 를 기준으로 해서 물약을 먹게 하고 싶은데요.. 


보통 Pixelgetcolor 을 사용한다고 해서 그렇게 해 봤는데 잘 안 되더라구욤.. msgbox를 이용해서 


디버깅을 해보고 했습니다만은.. OTL..


HP : 0x4179DE

MP : 0xD5787F

SP : 0xCEDF76


16진수로 HP , MP , SP 를 구하니깐 저렇게 나왔습니다.


#persistent

coordmode, pixel, Relative


F10::

F11::Pause


X1 := 100

Y1 := 100

SetColor1 := 0x4179DE


X2 := 100

Y2 := 100 

Setcolor2 := 0xD5787F


X3 := 100

Y3 := 100

Setcolor3 := 0xCEDF76


loop

{

gosub, A

}

return


A:

Pixelgetcolor, color, %X1%, %Y1%

if(color = setcolor1)

{

send, {F1}

sleep, 20

}


Pixelgetcolor, color, %X2%, %Y2%

if(color = setcolor2)

{

send, {F2}

sleep, 20

}


Pixelgetcolor, color, %X3%, %Y3%

if(color = setcolor3)

{

send, {F3}

sleep, 20

}

return


이렇게 하는게 아닌가요?



  • 제발등업좀2 2015.08.29 08:13

    HP : 0x4179DE  이색값이 RGB 인가요?  아니면 BGR 인가요? 기본적으로 오토핫키 는 BGR

    로구해오는걸로 알고있습니다. 즉 . 저 HP 의 색값이 RGB 로 구해왔다고 가정하면.

    Pixelgetcolor, color, %X1%, %Y1%,RGB   이렇게 구해줘야 되지않을까합니다..

    물론 메세지 박스로 ..확인하셔서. 구하셧다면 상관없겠지만.. 참고하시라고 적어봅니다.

  • 꿈을낚는아이 2015.08.29 12:15
    아! 댓글 쓰는게 늦었습니다. ㅎ 메세지 박스로 확인 해서 구해서 저렇게 나온 값입니다. ㅎ
  • 리체 2015.08.29 08:53

    잘못된점과 주의할점을 짚어 드리겠습니다. 참고하세요.


    hp,mp,sp 각 좌표는 spy로 보았을시 relative 좌표입니까?

    hp의 중간(50%지점)이 100,100 이라면 mp 와 sp의 y 좌표는 100이 아니죠.

    변화를 줘야할 필요가 없는 부분에서는 변수대입보다는 직접 적어주는게 좋습니다.

    Pixelgetcolor, color, 100, 100 ; hp 50% - 헷갈릴수 있다면 이런식으로 주석처리하세요.

    if (color = 0x4179DE) {

    pixelgetcolor 명령은 defalt가 relative 입니다. 다른곳에서 coordmode로 변화를 주지 않았다면 사용할 필요가 없어요

    relative를 이용하기 때문에 대상 window가 활성이 되어 있어야 합니다.(winactivate 명령을 사용할수도 있습니다)

    색값의 경우, spy로 보면 BGR(pixelgetcolor 의 defalt) , window info로 보면 RGB 순서로 나옵니다. 색값 확인해보세요.

    code를 정리해보자면, 아래와 같습니다.



    ; #persistent ; 왼만해서는 굳이 이 명령을 사용할 필요가 없어요

    ; coordmode, pixel, Relative ; 이것도 삭제

    X1 := 100

    Y1 := 100

    SetColor1 := 0x4179DE


    X2 := 100

    Y2 := 200 ;수정요함

    Setcolor2 := 0xD5787F


    X3 := 100

    Y3 := 300 ;수정요함

    Setcolor3 := 0xCEDF76

    return


    F10::

    loop

    {

    gosub, A

    }

    return


    A:

    Pixelgetcolor, color, %X1%, %Y1%

    if(color = setcolor1)

    {

    send, {F1}

    sleep, 20

    }


    Pixelgetcolor, color, %X2%, %Y2%

    if(color = setcolor2)

    {

    send, {F2}

    sleep, 20

    }


    Pixelgetcolor, color, %X3%, %Y3%

    if(color = setcolor3)

    {

    send, {F3}

    sleep, 20

    }

    return


    F11::Pause ; 이런 명령은 주코드의 뒤로 빼는게 좋습니다.

    return ;본문에는 없지만 리턴을 넣어야 합니다.

  • 제발등업좀2 2015.08.29 09:00
    리체님이시당 ~ ^^ 안녕하세요 좋은 주말 되십시요 .. 자세하게 적어주셨네요 ㅎㅎ.. 덕분에 저도 좋은거 배워갑니다 ^^
  • 리체 2015.08.29 09:30
    제발등업좀2님이시당~ ^^ 안녕하세요. 좋은 주말 되십시요.. ㅎㅎ.. 제발님 수준은 위 댓글에서 배울게 없으시다는것쯤은 앱니다.
  • 제발등업좀2 2015.08.29 10:35
    ㅎㅎ 아니에요 리체님 댓글 보면서 .. 기초 많이 쌓놓고있습니다 ㅋ 기초가 부족해서.. ㅠㅠ 이런건 이렇구나 감으로 만 터득하다보니.. 이런 지식이 많이 부족하네요
  • 꿈을낚는아이 2015.08.29 12:16
    제발등업좀2 님도 제 형편 없는 글에 댓글 달아 주셔서 감사 합니다! 좋은 주말 되세요 ㅎ
  • 제발등업좀2 2015.08.29 13:08
    형편없다뇨 전혀그렇치않습니다. ㅎㅎ 저도 잘멀라요.. 아는것이 나와서 답변드렸을뿐이에요 ㅠㅠ
  • 꿈을낚는아이 2015.08.29 12:17
    아.. 역시.. 리체님.. 감사 합니다 ㅠㅠ 정말로 공부가 열심히 되고 있습니다!

    리체님 즐거운 주말 되세요!
  • 할거엄따구 2015.08.31 17:08

    다른분들이 답변을 잘 달아주신거 같은데 위에 적으신 색값이 붉은색 파란색 녹색에 대한 색값을 적으신거면 

    if(color = setcolor1)

    if(color != setcolor1) 이 되어야하는게 아닌가요?

    색값을 가져와서 비교했는데 피가 차있을땐 저 색값이 나올텐데..같으면 F1(물약 먹는건가요?) 누르게하셨으니

    피가 있을땐 약빨고 없으면 안빨고 할거 같네요^^

  • 모바게 2015.09.01 13:29
    정확하시네요.. 색상비교를 비어있는 부분의 색상을 지정하던가, 아닐 경우를 비교해야 하는거죠..
    프로그램을 좀더 유연하게 하자면..
    HP, MP, SP 의 x좌표 최소/최대를 구해서
    minX + (maxX-minX) * 퍼센트 의 좌표와 위에서 구한 색상 비교를 하면 물약먹는 타이밍도 조절할 수 있겠죠^^
  • 호랑ho 2020.02.16 20:16

    와.... 많이 배우고 갑니다.


List of Articles
분류 제목 글쓴이 최근변경 추천
질문 재질문... #IfWinActive 사용할 경우.. Rabbit 2016.08.17 0/0
질문 재시작후 설정 초기화 문제.. 5 파더 2014.11.29 0/0
질문 잠수타면 일부명령어가 실행이 안되는데 동영상녹화할... 3 꾸앙이 2018.10.22 0/0
질문 잘되던 매크로가 오작동을 하는이유? 1 zuzag 2017.03.29 0/0
질문 작업장 동업해보실분? 주7일 12시간교대근무 1 루릇 2019.08.28 0/0
질문 작동자체가 전혀 안되요 왜그럴가요?ㅠ 4 헬미미미 2017.10.10 0/0
질문 작동을 안하네요 ㅠㅠ 도와주세요.. 1 제작의뢰 2018.11.15 0/0
질문 자주쓰이는 해상도는 뭘까요? 포천아지 2017.09.17 0/0
질문 자동재부팅 / 재실행 질문드립니다. 7 파라마타 2018.06.06 0/0
질문 자동업데이트 2 천진 2018.05.29 0/0
질문 자동물약을 한번 만들어 볼려고 합니다. 12 꿈을낚는아이 2020.02.16 0/0
질문 자동물약을 만들고 있는중인데 막히는부분이 있어서요 2 에임1 2019.08.09 0/0
질문 자동 인터넷검색 질문 영창이염 2018.11.07 0/0
질문 자동 들여쓰기 질문 2 토스트 2015.08.23 0/0
질문 자꾸 매크로 실행하면 응답없음이 뜹니다 1 뿌뿌08 2021.03.19 0/0
질문 자기자신말고 다른오토핫키프로그램 모두종료 3 _Crash 2015.04.24 0/0
질문 입문자입니다. 오토핫키 클릭관련 질문있습니다! 7 헌잉 2015.02.07 0/0
질문 임의의 숫자가들은 변수를 소트하는방법을 좀 부탁드려요. 14 우후훅 2015.04.15 0/0
질문 일정시간마다 캡처후 메시지 보내는 매크로 7 초밥인간 2020.05.11 0/0
질문 일정시간마다 앱정지여부 체크해서 리스타트 하는 방법? 2 HyunYu 2015.05.14 0/0
Board Pagination Prev 1 ... 222324252627282930 ... 173 Next
/ 173

전체 최신 인기글

전체 주간 인기글