매크로

조회 수 1632 추천 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

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


최근 추천글

오핫 제작합니다 1 설입 2024-06-18 23:45 +2
List of Articles
분류 제목 글쓴이 최근변경 추천
질문 [해결] 비활성 드래그 오작동합니다. 14 마토깽 2015.10.24 0/0
질문 SciTE4AutoHotKey 설정 관련 질문드려요 2 킴푸른 2015.09.27 0/0
질문 mousegetpos로 딴 좌표에다가 3 이아이온 2015.09.28 0/0
질문 레이븐매크로만드는거도움좀주실분부탁드려요 3 개부리 2015.10.02 0/0
질문 menu bar fnwj 2015.09.29 0/0
정보 Menu bar 근접하게 만들어봄 4 fnwj 2017.11.26 0/0
질문 GuiControl롤 Tab2이동. 3 fnwj 2015.10.05 0/0
질문 이미지서치 오차율 질문 3 fnwj 2015.10.05 0/0
질문 RAW 파일 열수있는 방법이나 .. 읽는 방법이 뭘가요 ㅠㅠ 12 제발등업좀2 2015.10.07 0/0
질문 혹시 뮤오리진 질문이여, 2 사잉다유 2015.10.05 0/0
질문 카트라이더 매크로는 없나요? 2 성혀니요 2015.10.05 0/0
질문 항상위 4 가자야 2015.10.05 0/0
질문 오토핫키 문의합니다. 답변부탁드려요. 6 운매력임 2015.10.07 0/0
질문 마우스드래그 1 가자야 2015.10.06 0/0
자유 gdip_imagesearch 사용하시는분 팁좀주세요! 8 횬히 2015.10.10 0/0
질문 변수대입 줄문입니다 고수님들 좀봐주세요 11 제발등업좀2 2015.10.08 0/0
질문 postmessage 질문드립니다. 이미지 6 jh91 2016.03.30 0/0
질문 gdip_imagesearch 관련 클릭 질문드립니다 2 영웅거북 2016.07.19 0/0
자유 GUI만들기 너무 귀찮네요. 15 외치기 2015.10.21 0/0
질문 숫자 "배수"를 나타내려면? (반복작업 중 시간간격으로... 6 서시 2015.10.12 0/0
Board Pagination Prev 1 ... 555657585960616263 ... 209 Next
/ 209

전체 최신 인기글

전체 주간 인기글