NGMsoftware

NGMsoftware
로그인 회원가입
  • 커뮤니티
  • 강좌 노하우
  • 커뮤니티

    사용자가 직접 강좌와 노하우를 작성하는 공간입니다.

    강좌 노하우

    사용자가 직접 강좌와 노하우를 작성하는 공간입니다.


    스크립트 픽셀체크 하여 90%에 알아서 먹는 자동물약 만들기 [게임매크로 5탄]

    페이지 정보

    본문

    안녕하세요 게임 매크로를 만들어 보는 것을 하고 있습니다.

     

    얼마 전에는 OCR을 통해서 수치를 파악해서 만들어 보는 부분이었는데 OCR 이 값을 못 가져올 때도 있고,

     

    픽셀로 만든 부분보다 느릴때도 있고, 픽셀로만 해야 할 경우도 있다 보니 이번에는 OCR을 사용하지 않고

     

    게임의 HP 그래픽만 가지고 해보려 합니다.

     

    혹시 OCR 을 이용한 방법이 궁금 하시면

     

    http://ngmsoftware.com/bbs/board.php?bo_table=user_tip_and_tech&wr_id=5&page=2

     

    참고하세요

     

     

    img.gif

     

    위 이미지와 같이 리니지m 의 경우 그래픽적인 요소가 있어서 hp의 색 값이 실시간으로 바뀌다 보니 이럴 땐?

     

    어떤 식으로 제작 가능할까요?

     

    일단은 hp의 그래픽을 가져와야 합니다 

     

    img.png

    hp 부분의 가장 하단의 한 픽셀을 가져올 건데요 

     

    img.png

     

    이라는 것을 통해서 이미지를 가져올 것입니다.

     

     

    img.png

     

    작업 부분에 덮어쓰기로 해주시고 저장 위치를 잡아 주신 후에 

     

    img.png

    의 캡처 영역을 잡아 주시고 

     

     

    img.png

     

    기본 설정 부분에 보시면 가로 274 크기에 세로 1픽셀의 크기로 이미지가 잡혀 있을 것입니다.

    그런데 세로 픽셀 1 픽셀이 너무 작다 보니까 구분하기도 힘들고 사람 눈으로도 보기도 힘들어서

    저장될 이미지의 크기를 수정해 주려 합니다.

     

    img.png

     

     

    세로의 크기를 10배 키워서 10 픽셀로 해주었습니다.

     

    img.png

    위 버튼을 눌러서 실행을 합니다

     

    저장된 이미지를 확인해보면 아래와 같이 저장되어 있을 겁니다.

     

    img.png

     

    위와 같은 이미지가 저장되어 있습니다.

     

    추후 hp 가 있는 부분과 없는 부분을 구분하기 위해서 체력이 빠져 있을 때

    이미지 필터 저장을 가지고 저장한 부분입니다.

     

    이제는 위 이미지를 

     

    img.png

     

    위와 같이 만들어주어야 hp 가 얼마나 있는지 구분해볼 수 있을 텐데요 필터 저장의 속성 값들을

    알아내기 위해서 

     

    새로 만들기 -> 이미지를 진행해줍니다.

     

     

    img.png

     

    위 버튼을 눌러서 이미지 가져오기를 합니다.

     

    img.png

    이렇게 불러오기 한 후에

     

     

     

    img.png

     

    저는 대비와 밝기를 100 씩 줬더니

     

    img.png

     

    위 이미지처럼 확연하게  체력 이미지 부분이 변경되신 것을 보실 수 있습니다.

     

    그럼 위에 처럼 체력이 있는 부분과 없는 부분이 확실히 구분이 됩니다.

     

     

    이제 여기에서 알아낸 값을

     

     

    img.png

     

    에서 적용하여 줍니다.

     

    img.png

     

     

    img.png

     

    img.png

     

    위와 같이 속성을 지정해주고

     

     

    img.png

     

     

    실행 버튼을 돌려주면

     

     

    img.png

     

     

    위와 같이 우리가 hp 부분이 있는 부분과 피가 빠져있는 이미지가 처리되어 있으신 것을 보실 수 있을 것입니다.

     

    이미지 필터 저장을 하는 이유는 위에 hp 바를 필터 처리해서 위 이미지처럼

    움직이는 hp 이미지라도 붉은색과 흰색으로 구분하여 저장 가능합니다.

     

    게임마다 속성이 다르겠지만 위 방법과 비슷한 방법으로 지금의 hp 체력의 바를 구해낼 수 있는 것입니다. 

     

    그럼 구해낸 hp 바를 가지고 지금 hp 가 몇 %에 해당되는지를 구해보도록 하겠습니다.

     

    img.png

     

     

    img.png

     

    변수를 하나 추가해줍니다. 변수명은 만피hp좌표로 해주었습니다. (원하시는 걸로 하셔도 됩니다)

     

    이미지 크기에 해당되는

     

    가로 274 X 세로 10입니다 그중에 1 픽셀의 크기를 가지고 피가 몇 % 인지 알아볼 것이라

     

    문자열에는 274, 9, 1, 1을 넣어줬습니다. 

     

     

    img.png

     

     

     

    위 이미지에서 보시면 저기 끝에 검은색이 273, 9, 1, 1 위치에 해당합니다.

     

    이제 저기 검정색 좌표를 하나씩 줄여가면서 빨간색이 나올 때까지 줄여 그 좌표가 어딘지를 구해보겠습니다.

     

     

    img.png

     

    빨간색 좌표값을 만나면 넣어줄 변수도 하나 만들어 줍니다.

     

    img.png

     

    퍼센트를 계산해서 넣을 변수를 하나 만들어줍니다.

     

    img.png

    속성은 아래와 같습니다

     

    img.png

     

    img.png

     

    img.png

    그리고 저장된 이미지를 확인해 봅니다.

     

    img.png

     

    빨간색과 흰색이 나뉘어 있습니다. 빨간색은 체력이 있는 부분이고 흰색 부분은 체력이 빠진 부분입니다

     

    img.png

    되돌리기 해줄 분기점을 만들어줍니다.

     

    img.png

    직사각형 사칙연산을 통해서 1픽셀씩 마이너스시켜줄 것입니다.

     

     

    가져오기를 통해서

     

    img.png

     

    왼쪽 피연산자에  만피hp좌표 값을 넣어줍니다.

     

     

    img.png

     

    왼쪽 피연산자에 값을 받아 온 후 1, 0, 0, 0 씩 좌표를 차감해갑니다.

     

    그러면 처음에는 X 값이 274-1 =273 이 되고 이 값을 픽셀 서치의 값으로 넣어서 픽셀 값이 있는지 검사해볼 것입니다.

    이제 만들어진 결괏값을 다시 만피hp좌표값에 추가하기를 통해서 넣어줍니다. 그리고 X좌표의 값도 지금 hp좌표값에 추가하기로 넣어줍니다.

     

    img.png

     

    img.png

     

    두 개의 값을 두개의 변수에 넣어줬습니다.

     

     

    이제 픽셀 서치를 통해서 위 위 좌표의 값에 체력 값이 있는지 체력값이 없는지를 확인할 것입니다.

     

     

    img.png

     

    픽셀 서치를 할 수 있습니다 얼마전 패치를 통해서 파일에서도 픽셀 서치를 할수 있도록 되었는데요

     

     

    img.png

     

    작업 부분에서 파일을 선택 주시고 찾기 파일 선택 주시고

    색상 선택은 흰색으로 해주시면 흰색 부분을 찾습니다.

     

    찾기 영역은 위에서 차감해놓은 변수를 통해서 대입해줍니다.

     

    img.png

     

     

    이렇게 찾기 영역에 가져온 값을 넣어줘서 픽셀 값을 확인합니다.

     

     

    img.png

     

    조건 설정에서 위 좌표에 흰색이면 다시 시작점인 분기점으로 돌려서 1픽셀씩 차감하면서 내려오고

    흰색의 픽셀이 아니라면 밑으로 내려가게 다름에는 비워 둡니다.

     

    img.png

    이제 위에서 계속 1픽셀씩 줄여서 반복하다가 빨간색 픽셀을 만나면 위에 스마트 사칙연산을 시작합니다.

     

    img.png

    274는 전체 hp 체력 바의 크기입니다. 퍼센트를 구하려면 지금의 hp 바에서  전체 hp를 나누고 거기에 100을 곱해주면 됩니다.

    변수 A는 전체 체력 픽셀 수 변수 B에는 지금의 hp 바 픽셀을 가져오기로 넣어줄 것입니다.

     

    img.png

     변수 B에 지금의 hp좌표값을 넣어줬습니다.

     

    이제 스마트 사칙연산으로 구해진 % 값을 퍼센트 변수에 넣어줍니다

     

    img.png

     

    저는 돌려보니까 

     

    img.png

     

    지금 hp좌표 값의 픽셀 값이 254 좌표에서 흰색 좌표가 아니게 바뀌게 되면서

    254 / 274 * 100을 하여 92%가 나왔습니다.

     

    지금 체력이 92% 에 해당되는 것입니다.

     

    이제 숫자 체크를 통해서 90% 해당되면 마우스로 물약을 클릭해주도록 해보겠습니다.

     

    img.png

     

    숫자 체크 하나 넣어주시고요 

     

    img.png

     

    비교 대상 숫자에다가 퍼센트 변수의 값을 넣어줍니다.

     

     

    img.png

     

    비교대상 숫자는 위에 가져오기를 통해서 % 값을 가져오고

     

    비교조건은 Less Than (보다 작음)으로 해주시면 됩니다.

     

    비교할 숫자는 90입니다 90% 비교를 한다는 뜻입니다.

     

    img.png

     

     

    같음 조건은 비워 두시고  다를 경우 모든 변수를 다시 초기화하고 다시 매크로를 초기화하기 위해

    젤 위에 피체크라는 그룹을 만들어 분기점으로 위로 올려주겠습니다.

     

    img.png

    그룹은 젤 위에 만들어 주었습니다.

     

     

    img.png

     

    그리고 더블 클릭을 통해서 물약을 클릭해주도록 하였습니다.

     

    끝나면 다시 피체크 부분으로  액션 이동을 시켜 다시 반복되도록 하였습니다

     

    img.png

    설명이 길어져서 좀 복잡한 것 같지만 어려워하시는 분들이 계실 것 같아서 최대한 여러 번 중복적으로 설명하였습니다.

     

    사실 12줄 밖에 되지 않습니다.......

     

     

    img.png

     

    짜잔 완성되었습니다.

     

     

    img.gif

     

    90% 가 되면 물약을 먹고 있습니다~ 뭐 더 쉬운 방법도 있겠지만 픽셀을 1픽셀씩 줄여가며

    %를 구해보는 예제를 만들어보면서

     

    변수의 활용 반복문, 조건문 등등 여러 가지를 이용해보았습니다~ 학습의 목적이라 여러가지를

    활용해 보았습니다. 직접 자기에 맞는 게임으로 만들어 보시고 궁금하신 점은 댓글 남겨주세요 ㅎ

     

    [ 자동 물약 먹기 / 자동 마을 귀환하기 스크립트 다운로드 ]

    • 네이버 공유하기
    • 페이스북 공유하기
    • 트위터 공유하기
    • 카카오스토리 공유하기
    추천2 비추천0

    댓글목록

    profile_image

    롤로노이님의 댓글

    no_profile 롤로노이 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일 Date

    오호? 전 저렇게 하지 않고 원시적인방법을 사용했었는데
    픽셀을 고정위치에서 감지하여 그 픽셀이 안보이면 물약을먹겠금 바꿨었는데  저건 좋아 보이네요 ㅋㅋ
    체력게이지로 하는것도 좋아보이니 픽셀은 읽어오는 시간이 너무 길어서 ㅠㅜ
    And 서치로 감지해서 한개라도 보이지 않으면 바로 물약을 먹게 했는데 저거 신박하네요
    제껀 조금만 창 위치를바꿔도 다시 설정해줘야하는 번거로움이 있었는데 나중에 꼭 해봐야 겠습니다

    profile_image

    시네라리아님의 댓글의 댓글

    no_profile 시네라리아 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일 Date

    저는 픽셀값이 자꾸 바뀌어서 이렇게 만들어 보았습니다 ^^
    꼭 한번 만들어보세요 ㅋ

    profile_image

    엔지엠소프트웨어님의 댓글

    엔지엠소프트웨어 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 작성일 Date

    대박이네요... 이런식으로 할 수 있을줄은 몰랐어요.
    보통은... 픽셀 값이 피가 있냐 없냐로만 하는데...ㅋ
    시네라리아님 강좌같이 만들면 플레이어에서 물약 먹을 구간을 설정할 수 있겠네요.

    profile_image

    시네라리아님의 댓글의 댓글

    no_profile 시네라리아 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일 Date

    좋은 프로그램 만들어 주셔서 감사합니다
    소심비형님 프로그램 덕분에 손쉽게 만들수 있습니다^^

    네  말씀 하신것처럼 70%로 잡으면 70%에서 사용되고
    80%로 잡으면 80%에서 사용됩니다.

    이런식으로 여러 구간을 나눠서 보호 마법을 써준다던지
    hp 가 30% 이하면 마을로 간다던지 숫자 체크를 통해서 가능할것 같습니다~

    profile_image

    거너스님의 댓글

    no_profile 거너스 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일 Date

    와 진짜 대박... 정말 좋은 팁 감사합니다!!!

    profile_image

    시네라리아님의 댓글의 댓글

    no_profile 시네라리아 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일 Date

    ㅎㅎ 감사합니다~ 좋은 팁이길 바랍니다 ㅎ

    profile_image

    소르지르즈님의 댓글

    no_profile 소르지르즈 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일 Date

    진짜 대단하신분..

    profile_image

    애플리드님의 댓글

    no_profile 애플리드 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일 Date

    아주 획기적인 방법이네요. 나중에 저도 만들어봐야겠네요!

    profile_image

    애플리드님의 댓글

    no_profile 애플리드 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일 Date

    이미지 필터저장이라는 액션이....이미지 변화 체크 액션이랑 같은건가요??
    속성창이 달라서요.. 어디 있는지 못찾겠네요 ㅠ

    profile_image

    트릴리온님의 댓글

    no_profile 트릴리온 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일 Date

    와 정말... 대단하세요

    profile_image

    zest님의 댓글

    no_profile zest 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일 Date

    자동물약 대박이네요 ㅎㅎ

    profile_image

    엔지엠소프트웨어님의 댓글

    엔지엠소프트웨어 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 작성일 Date

    아래 방식으로도 할 수 있습니다.
    http://ngmsoftware.com/bbs/board.php?bo_table=tip_and_tech&wr_id=293

    profile_image

    던힐한정판2님의 댓글

    no_profile 던힐한정판2 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일 Date

    감사합니다 공부에 도움이되요