NGMsoftware

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

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

    강좌 노하우

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


    스크립트 게임 매크로 자동 OCR 물약먹기 만들기 [게임 매크로 1탄]

    페이지 정보

    본문

    제가 만든 기능 일 부 중 ocr을 통해 실시간으로 체력의 % 를 구하고 % 를 가지고 

    원하는 % 에 원하는 작업을 하는 것을 간단하게 올려보려 합니다.

    음 어찌보면 노하우지만, 처음 접하시는 분들 어려움이 있으실 것 같아서

    저도 이것저것 해보다가 만들어본 부분입니다.

     

     

    먼저 원하는 게임의 핸들을 추가해주세요

     

     

     

    img.png

     

    반복할때 편하게 하기 위해서 그룹을 하나 만들어 주시고 그룹의 아이디는 시작 또는 원하는 것으로

    만들어주세요.

     

    img.png

     

    그리고 현재 체력의 % 를 구하기 위해서는

     

    1. 지금의 체력의 값

    2. 총체력의 값

    3. 전체 체력바의 값

    4. 체력의 % 값

     

    들이 있어야지만 게임에서 체력을 구해서 물약을 먹을 수 있습니다.

     

    일단 변수 선언을 해주도록 하겠습니다 위에 변수들을 넣어놓으면 언제든지 불러와서 쓸 수 있습니다.

     

    img.png

     

    저는 그냥 이렇게 만들어줬습니다.

     

    ocr 체크를 통해서 원하는 값을 읽어와야 합니다.

     

    img.png

     

    ocr을 넣어주었습니다. ocr 이 가져와야 할 게임에서의 좌표를 지정해준 뒤에

     

    img.png

     

     

    저는 위에 값을 읽어오도록 했습니다. 게임마다 설정 값들이 다르기에 ocr 테스터를 이용하시면

    값을 읽어오시는데 좀 더 편하게 읽어 오실 수 있습니다.

     

    그리면 ocr 체크를 통해서 가져온 값이 3455 / 3455 가 들어 있습니다.

    이 값을 변수 전체 hp bar 에다가 넣어주고 앞으로 이 값을 통해서 계산하려 합니다.

     

    img.png

     

    판독 문자를 전체 hp bar라는 변수에다가 값을 추가하기 하였습니다.

     

    그리고 문자열 분리를 통해서 지금의 체력의 값을 분리하고 총체력의 값도 분리할 것입니다.

     

    img.png

     

    위 이미지에서 앞의 값은 현재 체력 뒤에 값은 총체력입니다.

     

    먼저 앞의 수치를 가져오겠습니다.

     

    img.png

     

    문자열 분리를 통해서

     

    img.png

     

    가져오기를 해줍니다.

     

    img.png

     

    저장해놓았던 전체 현재 체력과 전체 체력을 가져와서 원본 문자열에 넣어줍니다.

     

    img.png

     

    그리고 분리자 / <-- 로 넣어주시면 앞의 현재 체력과 전체 체력으로 나눌 수 있습니다.

     

    img.png

    인덱스를 0으로 해주시면 앞의 현재 체력을 가져옵니다.

     

    그리고 현재 체력을 변수 추가하기를 통해서 지금 hp 에다가 넣어줍니다.

     

    img.png

     

    이렇게 넣어주시면  분리자 / <-- 값으로 잘라서 앞의 값을 원하는 변수에다가 넣어 주었습니다.

    위와 마찬가지로 총 hp 값도 잘라서 총 hp라는 변수에다가 넣어 주시면 되시며,

    분리자는 / 와 같지만, 인덱스는 1로 해주셔야 뒤에 값을 잘라서 가져올 수 있습니다.

     

    다시 한번 그림으로 설명하자면 아래와 같습니다.

     

     

    img.png

     

    변수 가져오기

     

    img.png

     

     

     

    변숫값을 원본 문자열에 넣어서

     

    / 값으로 분리한 후에

     

    img.png

     

    뒤에 값을 변수에 넣기 위에 인덱서 1 뒤에 값을 가져옵니다

     

    img.png

     

    그럼 뒤에 값을 가져온 뒤에 변수에다가 똑같이 변수 추가하기를 통해서 넣어줍니다.

     

    img.png

     

    결괏값을 총 hp 에다가 넣어주면 됩니다.

     

    그럼 일단 지금까지 ocr을 통해서 구한 것이

     

    % 값만 빼고 모두 구하였습니다.

     

    위에서 구한 값들을 가지고 현재 전체 체력으로 현재 체력의 %를 구할 수 있습니다.

     

    스마트 사칙연산으로 구할수 있는데요

     

    img.png

     

     

    스마트 사칙연산을 넣어주시고 

    위에서 사용하신 방법처럼 위에서 구했던 값들을  가져오기 합니다.

     

    img.png

     

     

    img.png

     

    각 값들을 가져와서 변수 A 와 변수 B 에 넣어줍니다.

     

    이렇게 하시면 사칙연산을 하기 위한 준비가 완료되었습니다.

     

    현재의 체력을 가지고 전체 체력을 구하는 공식은 아래와 같습니다.

     

    ({B} * 100 / {A})

     

    지금의 체력에다가 X 100을 한 후에 전체 체력으로 나누어 주면 지금의 체력이 %로 구해집니다.

     

     

    스마트 사칙연산에 작업에다가 

     

    img.png

     

    넣어주시면 현재 체력을 %로 구해집니다

     

    여기서 나오는 결괏값을 다시 % hp 에다가 넣어줍니다.

     

    변수 추가하기를 통해서 가능합니다.

     

     

    img.png

     

    이렇게 추가하기를 통해 결과값을 변수에다가 넣어주었습니다.

     

    이제 구했던 값을 통해 비교문 숫자 체크를 하여 원하는 값 밑으로 내려가면

     

    원하는 작업을 해주도록 해보겠습니다.

     

    img.png

     

     

    숫자 체크를 넣어주시고 위와 같이 변수 가져오기를 통해 % 값을 가져오시고

    % 값을 비교대상 숫자에 넣어줍니다.

     

    img.png

     

    위와 같이 넣어주시면 비교 대상 숫자에 % 체력 값이 들어갑니다

     

    여기서 비교 조건을 통해서

     

    GreaterThan =  이상일 때는 다시 그룹으로 정해놓았던 시작으로 돌리고

    값이 다를 때는 물약 먹기 쪽으로 보내줍니다.

     

    img.png

     

     

    비교할 숫자만 넣어주시면 위에 변수 가져오기를 통해서

    비교 대상 숫자는 자동으로 가져옵니다.

     

    비교할 숫자는 현재 체력 % 부분입니다.

     

    값이 다름이라는 것이 비교 대상의 숫자가 비교할 숫자보다 이상일 때는

    시작으로 그리고 다를 때(이하이거나 같다면) 물약 먹기 그룹으로 보내준다 라는 것입니다.

     

    이렇게 해놓으면 수치가 90 밑으로 내려간다면 체크해서 물약 먹는 곳으로 보내주는 것이죠

    90% 보다 위라면 다시 시작으로 돌려서 무한반복해주는 것이고요.

     

    물약 먹기 쪽으로 보낸 후에도 원하는 작업을 해주고 다시 액션 이동을 통해서 시작으로

    돌려주셔야지만 계속 무한 반복으로 ocr을 통해 물약을 먹어줍니다.

     

     

    img.png

     

    위에 것 익히시면 그룹, 변수, ocr 문자열 분리, 스마트 사칙연산, 숫자 체크, 액션 이동 등을 다

    익히시게 되는 것입니다.

     

    본인 게임에 맞게 한번 만들어 보시길 바랍니다^^

    긴 글 읽어주셔서 감사합니다.

     

    궁금하신 점 댓글 남겨주세요.

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

    댓글목록

    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

    여리여리님의 댓글의 댓글

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

    항상 도음되는 글 잘 보고 있습니다. 감사합니다 ^^

    profile_image

    히어로이즈님의 댓글

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

    저런방법이 있었군요 감사합니다

    profile_image

    gorhff님의 댓글

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

    와~! 정말 좋은 꿀팁입니다. 여러가지 응용할 것이 보이네요!감사합니다

    profile_image

    초보초보님의 댓글

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

    OCR에 대한 설명 감사합니다. 자동 물약도 구현이 가능하겠네요!

    profile_image

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

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

    잘써보세요^^ 잘 응용하면 자동물약도 가능하죠 ㅎ

    profile_image

    이지니스님의 댓글

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

    잘보고 갑니다~ 궁금한게 있는데,

    만약  1000 / 2000 / 3000 이라면 분리자에 / 를 넣고 인덱스를 2를 넣으면 3000 값을 가져오는건가요??

    아니면 분리자 / 를 이용해서 인덱스 1값 (2000 / 3000) 을 가져온 뒤 인덱스 1값을 가지고 다시 한번 분리를 시켜야 3000 값을 가져올 수 있을까요??

    profile_image

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

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

    분리자로 나눠 지는것을 배열이라고 합니다 1000이 0번 2000이 1번 3000이 2번이 됩니다

    profile_image

    비단빛향기님의 댓글

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

    잘 활용하겠습니다 감사합니다~!

    profile_image

    엔트리1님의 댓글

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

    강의 감사합니다

    profile_image

    거너스님의 댓글

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

    안되는게 있어서 다시 보고있는데 잘 봤습니다 감사합니다

    profile_image

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

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

    최고 인기글이네요~!!!

    profile_image

    에이스리아님의 댓글

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

    하앍.. 원하던 강좌입니다.

    profile_image

    기타맨이야님의 댓글

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

    스크립트에 잘 참고하고 있습니다! ㅎㅎ

    profile_image

    쿨준님의 댓글

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

    좋은 강좌 감사합니다.

    profile_image