히로매크로 커뮤니티

질문
2015.03.08 22:27

get rgb 관련 질문이 있습니다.

조회 수 223 추천 0 댓글 18

:start


:point1

getRGB #cor1 #cog1 #cob1 100 200

#so1 =?#cor1 + #cog1 + #cob1


if #so1 = 123

goto :check


else

goto :point2


endif


:point2

getRGB #cor2 #cog2 #cob2 101 201

#so2 =?#cor2 + #cog2 + #cob2


if #so2 = 234

goto :check


else

goto :point3


endif


:point3

getRGB #cor3 #cog3 #cob3 102 202

#so3 =?#cor3 + #cog3 + #cob3


if #so3 = 345

goto :check


else

goto :battle

endif


:check

getRGB #cor4 #cog4 #cob4 102 202

#so4 =?#cor4 + #cog4 + #cob4


if #so4 = 567


goto :point1


else

goto :battle


endif


:battle

배틀관련 내용


:end

-------------------------------------------------------------------
이 매크로의 목적은 ?포인트3 군데의 ? RGB값은 체크하는 것입니다


3군데의 RGB값이 제가 설정한 값이 다 다를경우 Battle로 넘어가는 것이 목적입니다


Point1 체크 - 다른것을 확인하여 point2이동 - point2 체크 -다른것을 확인하여 point3이동- point3 체크

--다른것을 확인하여 battle이동?


이러한 메커니즘을 원하는 것입니다.


여기서 일단 첫번째 질문입니다.

1. point1~3 지점 모두가 제가 생각한 값과 다르다고 가정하였을때 ?

? ?battle까지 도달하는데 걸리는 시간은 몇초 정도일까요?
? ?즉 getrgb 라는 것을 3번 거치는 동안 걸리는 시간은 몇초 정도 되나요?
? ?제가 무엇을 잘못한건지 모르겠지만 거의 0.2초 안에 해결되는거 같은데 이게 정상인지 모르겠습니다.



2. 일단 지금 작성한 스크립트가 정상이 맞나요??
? Check 지점은 시간이 오래되면 변하는 지점이 있어서 그 지점을 잡고 시간이 오래 지나면

? rgb값이 변할테니 그걸 잡아서 강제로 전투로 넘어가게 해둔 부분입니다

??

? 일단 시간내 동안에는 point123의 값의 변화가 없다면 계속 루프하면서 체크하도록 해둔 부분입니다.

? 하지만 어찌된 건지 계속 point1만 변화해도 battle로 가서 이유를 모르겠내요..




제가 그냥 아무것도 모른상태로 겉핥기 식으로 독학을 한 것이라 너무 답답하실지도 모르겠습니다..


그 점에 대해서는 죄송합니다.. 잘못된 부분에 대해 알려주신다면 최대한 노력해서 수정하겠습니다.ㅠㅠ


  • sigg 2015.03.08 22:36

    님과는 다르지만


    저는 다른 rgb 컬러에 대한 고민을 가지고있읍니다


    스크린샷을 떠서 컴퓨터환경에서 읽어들인 rgb 값과

    실제 게임환경에서 rgb 값이 다르게 나오네요....

  • 비훑 2015.03.08 23:01
    기종이나 상황에따라 다르게 나오는 경우가 있구요
    게임 내 화면에서 직접 추출하는게 가장 정확합니다.. ㅎㅎㅎ
  • sigg 2015.03.08 23:47
    그렇긴한데
    필드에 있는 특정몹을 잡을려고 하는 매크로를 만들려고 하는데..
    필드에 있는 몹이 가만히 있는게 아니잖아요? ㅎㅎ
    그래서 매우 난감하네요

    스샷찍을당시와 몹의 위치가 같지않으니 ㅠㅠ
  • 비훑 2015.03.08 23:06

    getRGB 명령어의 API는 따로 본적이 없어서 정확히 모르겠지만

    님이 생각하신대로 0.2초 이내는 확실할 것 같구요

    텀을 주고싶으시다면 sleep을 이용하시면 됩니다.

    sleep 1000 //1초 대기

    라고 생각하시면 되구요... 이미 아실지 모르겠습니다만....


    사실 어떤 목적으로 스크립트를 구성하신건지 잘 모르겠습니다;

    특히 rgb값을 더한 값이 123, 234, 345인지 구분하는 부분이....;;


  • znpfg 2015.03.08 23:33
    #so1 이라는 것이 r g b값 하나하나 값을 더한거라고 하더라고요?
    저도 보고 따라한거라 정확한 원리는 모르지만 r g b 값 각자의 합이 맞다면 저 기능이 작동하더군요
    123 234 345는 그저 예시 숫자라 무시하셔도 됩니다

    그나저나 이거 스크립트 일단 작동은 제대로 하는게 맞나요?
    point123이 다 틀리면 battle로 가긴 가야하는데..
  • 샤먼 2015.03.08 23:43

    1. 히로매크로 자체에서 스크린캡쳐 딜레이를 주지 않으셧다면 순십간에 해결되는게 맞는겁니다.?

    2. 정상 아닙니다.?

    getrgb 로 나온 색값들을 그냥 더해버리시면 안됩니다.?

    히로 메크로에서는 R,G,B의 값을 256단계로 나눠서 표현을 하는데?

    다 합쳐 버리시면?

    예로 R:200, G:100, B:100 일경우와 R:100, G:200, B:100, R:100,G:100,B:200일경우 다 같은 값이 나오게 됩니다.?

  • 샤먼 2015.03.08 23:50
    :start

    :point

    getcolor #color1 100 200
    getcolor #color2 101 201
    getcolor #color3 102 202
    if #color1 == 색값 or #color2 == 색값2 or #color3 == 색값3
    goto :point
    else
    goto :battle
    endif
    :battle
    배틀관련 내용

    :end
    이렇게 짜시면 좀더 짧게 짜실수 있으시겠네요

    저도 예전에 한창 RGB 스크립트를 확인했었는데 변수만 많아지고 color 에 비해서 영 별로이길레,,,,
    위에 스크립트는 color1 color2 color3 번의 색값중 단하나라도 같은 색값이 있다면 다시 채크하고 다 다르다면
    battle 로 넘어가는 스크립트 입니다.

    슬립값은 따로 주지 않았는데 확인 해보시고 슬립값을 조금 주셔도 무관하실듯합니다.

    만약 getRGB 스크립트를 쓰시고 싶으시다면
    blue * 256 * 256 + green * 256 + red 이 스크립트로 나오는 값을 비교하시거나 (getcolor 코드와 동일합니다)
    RGB 색값을 각각 비교 하셔야 합니다.
  • znpfg 2015.03.08 23:50
    조언 감사합니다~

    RGB값의 총합의 경우는 제가 미리 해당 지점의 RGB값을 다 알아두고 작성하는 중이라서
    아마도 괜찮지 않을까 생각합니다
    극도로 재수없지 않은이상... 설마 다른값인데 똑같이 나올리가.. ㅠㅠ
  • 샤먼 2015.03.08 23:52
    총합이 문제가 되는게
    RGB 값을 합쳤는데 같은 값이 나온다면 전혀 다른 색상에서도 반응을 하게됩니다.

    제가 실지 1주일동안 고생했었던 문제였기도 하구요.
  • znpfg 2015.03.08 23:53
    그 사이에 댓글이 추가로 달렸구나 color 관련 글도 많이 보았는데 해당 설명글이 없어서

    도전 못해보았는데 한번 해볼게요

    if문에 or 사용하는건 생각도 못해보았내요. 제가 명령이 무엇이 있는지 전혀 몰라서

    or이 가능하다는건 처음 알았습니다

    왠지 or 사용하면 훨씬 깔끔해질거 같으니 한번 적용해보도록 할게요 감사합니다
  • 샤먼 2015.03.08 23:54
    RGB 값을 다 아시고 시작하신다면 RGB값을 직접 비교를 하시는 방법을 사용하시던지
    아니면 RGB 값을 색값코드로 변환 하셔서 사용하시는걸 추천드립니다.
  • znpfg 2015.03.08 23:58
    죄송하지만 말씀하신 2가지 명령문 이름만이라도 알려줄 수 있을까요?

    제가 공부없이 무작정 사람들이 작성한 글을 보면서 무작정 따라해온것이라..

    명령문 이름이 무엇인지도 모릅니다 ㅠㅠ
  • 샤먼 2015.03.09 00:05
    직접 비교를 하신다면
    start
    :point
    getRGB #cor1 #cog1 #cob1 100 200
    getRGB #cor2 #cog2 #cob2 101 201
    getRGB #cor3 #cog3 #cob3 102 202
    #so1 = #cor1 + #cog1 + #cob1
    #so2 = #cor2 + #cog2 + #cob2
    #so3 = #cor3 + #cog3 + #cob3
    if #cor1 != R1색값 and #cog1 != G2색값 and #cob1 != B1색값 and #cor2 != R2색값 and #cog2 != G2색값 and #cob2 != B2 and #cor3 != R3색값 and #cog3 != G3색값 and #cob3 != B3
    goto :battle
    else
    goto :point
    endif
    :battle
    배틀관련 내용
    :end

    이렇게 하셔야 하실것이고
    만약 RGB 값을 합치는 것으로 하신다면
    blue * 256 * 256 + green * 256 + red

    :start
    :point
    getcolor #color1 100 200
    getcolor #color2 101 201
    getcolor #color3 102 202
    #색값1 = B1색값 * 256 * 256 + G1색값 * 256 + R1색값
    #색값2 = B2색값 * 256 * 256 + G2색값 * 256 + R2색값
    #색값3 = B3색값 * 256 * 256 + G3색값 * 256 + R3색값
    if #color1 == #색값1 or #color2 == #색값2 or #color3 == #색값3
    goto :point
    else
    goto :battle
    endif
    :battle
    배틀관련 내용
    :end

    색값으로 사용 하신다면 저렇게 스크립트를 사용하시는것보다는
    이미 알고 계신 스크립트를 엑셀파일로 계산식을 만들어서
    색값코드 자체를 변수로 지정하여 사용하시는게 더욱 깔끔해 집니다.
  • znpfg 2015.03.09 00:09
    몇가지 실험해보면서 차근차근 해보아야 겠내요

    여러가지 조언들 정말 감사합니다!
  • 샤먼 2015.03.09 00:10
    별말씀을요 ㅎ
    getrgb
    참으로 계륵 같은 스크립트 입니다.
    예전에 사용해보려고 1주일동안 고생했었는데 전 포기했습니다..
    getcolor 에 비해서 좋은점을 못느껴서요...
  • sigg 2015.03.16 09:17
    맞아요
    사람눈에만 보기 쉽지
    연산만 한번 더들어가는 듯

    어차피 컬러값은 스크립트 짜는사람은 엑세스컬러가 더 낫은데 말이죠
  • 베스트yj 2015.04.30 09:54

    제경우 색값은 RGB와 Gray 명령어를 쓰는데..

    다들아시다시피 Gray는 rgb의 각값을 더해서 3으로 나눈 값이죠...

    gray 값으로 색값쓰는게 편하긴 하지만 간혹 색은 다르지만 같은 값이 나오는 경우가 생기더군요..

    그럴땐? rgb 로 도출해서 R G B 중 겹치지 않을 확실한 값을 선택해서 지정해줍니다...

    결론은 색값인식만 정확히 인식하고?겹치지 않음 되는데 나누고 곱하고 굳이 피곤하게 작성들 하실필요가..ㅋㅋㅋ

    이미 히로컬러명령어에 계산 다되어 있는것을....

  • 치우차황 2015.04.30 17:39
    제가막히던부분이였는데...덕분에좀해결이된것같네요~감사합니다!

List of Articles
분류 제목 글쓴이 최근변경 추천
질문 if문 작성 질문있는데요 if에 or을 붙이려면 어느게 맞... 3 상큼상큼 2015.03.16 0/0
자유 혹시 유료로도움주시는분계신가용? 주노주노 2015.03.16 0/0
질문 질문좀... 오안주 2015.03.16 0/0
자유 히로매크로.. 점점 사용자가 주네요 7 빈이푸 2015.03.24 0/0
질문 현재 모바일용 스크립트 15 푸치잉 2015.03.17 0/0
질문 별되 질문좀 할께요.. 5 오안주 2015.03.17 0/0
질문 안녕하십니까. 처음으로 질문게시판에 도움 요청 드립... 2 수직 2015.03.27 0/0
질문 색값이 지니모션 켤때마다.. 7 천신랑 2015.03.24 0/0
질문 히로에도 레이븐하시는분 계신가요?? 1 달콤달콤 2015.04.30 0/0
질문 비훑님 질문드려요 5 네이냠 2015.03.13 0/0
질문 픽셀 서치가 히로에서 되나요? 8 푸른호수 2015.03.16 0/0
자유 김용문님 2 비훑 2015.03.12 0/0
질문 히로메크로가 한번 오류나서 꺼지기 시작하면 재실행되... 8 지니블렉션 2015.03.15 0/0
질문 (별되) 티켓작 캐릭 질문 17 비훑 2015.03.12 0/0
질문 히로 매크로 || && 지원하나요 4 sigg 2015.03.15 0/0
자유 티켓작 스크립트 작업하시는분 안계신가요 2에서6 2015.03.09 0/0
질문 get rgb 관련 질문이 있습니다. 18 znpfg 2015.04.30 0/0
질문 히로 매크로 설정 및 기기변경? 5 하루s 2015.03.11 0/0
질문 히로매크로 시작이안됩니다. 1 smk 2015.03.25 0/0
질문 히로매크로 자꾸 재시작되는 문제? (내용추가) 4 아잉2 2015.03.11 0/0
Board Pagination Prev 1 ... 303132333435363738 ... 123 Next
/ 123

전체 최신 인기글

전체 주간 인기글