매크로

정보
2014.11.20 16:07

폴더내 이미지 찾는 Loop

조회 수 854 추천 0 댓글 5

세나 쫄작을 구현해보고 있다가 괜찮아서 올리는 팁입니다.

아직 오토핫키 언어가 어려움이 있지만 공유합니다.


예로 설명하겠습니다. 아래와 같이 폴더가 구성되어 있을때입니다.
img\쫄작\만렙\아론
img\쫄작\만렙\아론\1아론30.bmp
img\쫄작\만렙\아론\2아론30.bmp???????????????????????????????????
img\쫄작\만렙\바론
img\쫄작\만렙\바론\1바론30.bmp
img\쫄작\만렙\바론\2바론30.bmp?????????????????
//사설로 위같이 만들어놓은 이유는 저만 그런지 모르겠는데 팀이랑 진형이 바뀌면 이미지 검색이 안되더라구요..

이렇게 있는 상태에서 아론을 검색하고, 바론을 검색하는 것을 하나의 루틴으로 처리하고자 할 때입니다.


그러면 1차 루프로 아론, 바론 폴더 이름을 얻어옵니다.

Loop, %A_ScriptDir%\img\쫄작\만렙\*,1,0
{
?? vMonsterName=A_LoopFileName
?? fChangeMonster(A_LoopFileName)??
?? ; 위 fChangeMonster는 제가 만들고 있는 함수입니다.
?? ; MsmBox를 해보면 A_LoopFileName에, 아론,바론이 있습니다.
??
}
설명 :
?? Loop, %A_ScriptDir%\img\쫄작\만렙\*,1,0
?? 만렙 폴더 밑에 있는 모든것, 폴더를 포함해서 루프를 돌자
?? 폴더 포함 Flag로 인해서 A_LoopFileName에 아론과 바론이 들어갑니다.
??

그러면 폴더 이름을 찾았습니다.

그럼 아래와 같이 다시 *.bmp로 하면 아론과 바론 밑에 있는 1아론30.bmp,2아론30.bmp,3아론30.bmp로
루프가 가능합니다.( vMonsterName은 위에서 얻어온것처럼 넘겼습니다. )

Loop, %A_ScriptDir%\img\쫄작\만렙\%vMonsterName%\*.bmp
{
?? vOldMonsterFile=쫄작\만렙\%vMonsterName%\%A_LoopFileName%
?? ;fFindImg도 사진을 넘기면 찾는 제가 만든 함수입니다...
?? If(? fFindImg( vOldMonsterFile ) = 0? )
?? {
????? vStatus=%vMonsterName%를 발견했습니다. 교체를 시도합니다.
?? }
}


위와 같이 루프속 루프를 돌려서 전체 bmp를 찾아 볼수 있습니다.

위에서 만약 아론, 바론 폴더 이름을 얻지 않고 전체 bmp를 루프돌고자 한다면
???? Loop, %A_ScriptDir%\img\쫄작\만렙\*.bmp,0,1
???? 이렇게 하면 A_LoopFileName에 bmp파일만 나오게 됩니다.


  • 생물 2014.11.20 16:10

    흠.. 참고로 말씀드리자면 세나의 경우 몇몇 창들이 게임의 뒷 배경의 영향을 받는 듯 합니다. 영웅관리창도 마찬가지로

    모든 자리가 픽셀값이 모두 다릅니다..ㅠㅠ 주륵..

  • 묵치기 2014.11.20 16:12
    역시는 역시나 역시군요... 그런거 같았습니다. 3번 자리에 나온 스샷이 4번 자리에서는 찾아지다가
    1,5,2에 가면 못찾고 그렇더라구요..
    답답 ㅎㅎㅎㅎ
  • 따기따기 2014.12.01 15:38
    거의 모든게임이 그럴듯 싶습니다. 포토샵등을 이용해보신분들은 아시겠지만
    이미지파일을 반투명으로 설정해서 뒤에 배경이 비쳐서 이미지서치도 픽셀서치도 어렵게 만들어놓았죠...
    맨눈으론 같아보이는데 같은곳을 배경이 다른곳에서 찍어서 알씨나 포샵등으로 확대해보시면 색이 다른것을 알수잇습니다
  • theruin 2014.11.20 23:05

    이미지를 폴더별로 나누워 두셨군요. 전 귀찮아서 이런경우 걍 파일이름을 1,2,3 같은 번호로 넣어 버리고

    ImageSearch, OutputVarX, OutputVarY, X1, Y1, X2, Y2, %i%.bmp

    이거 i++ 해주면서 루프 돌려버렸네요..

    다음에 이방법 참고해 봐야겠네요

  • 묵치기 2014.11.21 09:34
    파일 이름에 정보가 들어갈수 있을까 싶어서 고민했었습니다.
    저도 동일하게
    ImageSearch, OutputVarX, OutputVarY, X1, Y1, X2, Y2, 아론%i%.bmp
    이런식으로 구현했었습니다.. 저 특정 이름 "아론" 요녀석을 빼고 싶었습니다.

List of Articles
분류 제목 글쓴이 최근변경 추천
질문 controlsend,,{esc}, 2 헐키 2015.06.17 0/0
자유 오토 핫키?? 3 굵은팔뚝 2015.06.24 0/0
질문 버튼눌러진 상태에서 PixelGetColor가능하게할 수 있을... 2 서시 2015.06.16 1/0
질문 윈드로이에서 gdip 통한 비활성서치 해보신분 계신가요? 3 HyunsD 2015.06.16 0/0
질문 마우스를 GUI버튼에 갖다대면 도움말뜨게 하는방법 질... 6 우후훅 2017.10.28 0/0
질문 로그 라이브러리... 2 헐키 2015.06.16 0/0
질문 궁금한 부분이 있습니다. 궁금증호야 2015.06.15 0/0
질문 오토핫키는.. 매클중에 PC를 별도로 사용이 가능한가요? 5 HyunsD 2015.06.17 0/0
질문 명령어중에 창을 활성화 시키는 명령어가 있나요? 1 듯이 2015.06.14 0/0
질문 `키 스크립트에서 인식안하나요? 서시 2015.06.13 0/0
질문 일시정지(?) 스크립트? 한유진 2015.06.13 0/0
질문 핸콕님꺼 블레이드 매크로 질문좀드릴께요!! 2 가인아빠 2015.06.14 0/0
질문 핫키하나로 오토핫키를 온/오프 하고싶습니다. 7 서시 2017.09.08 0/0
질문 창을 가려도 이미지를 인식하게 할 수 있는 방법을..배... 궁금증호야 2015.06.12 0/0
질문 리스트 뷰 하나만 더 도와주세요 ㅜㅜ 1 뎅뎅 2015.06.16 0/0
자유 장난 삼아 만든 레이븐 지니모션 키보드 스킬... 2 헐키 2015.06.12 0/0
질문 비활성화에서 체크박스 실행은 어떻게 해야하나요? 민서s2아빠 2015.06.12 0/0
질문 셋타이머가 리셋이 되질 않네요... 이유가 무엇일까요? 7 지니블렉션 2015.06.12 0/0
질문 메모장은 되는 Postmessage, 크롬은 안되는이유는 뭘까요 1 법돌 2015.06.12 0/0
질문 이미지 서치 아닌 이미지서치(?) 가능할까요 4 home01 2015.06.11 0/0
Board Pagination Prev 1 ... 161162163164165166167168169 ... 209 Next
/ 209

전체 최신 인기글

전체 주간 인기글