매크로

조회 수 674 추천 0 댓글 2

현재 비활성 좌표클릭, 비활성 드래그로 원하는곳으로 캐릭이동.

최근에 할꺼엄따구님의 소중한 정보덕분에 비활성 이미지서치까지 완료되었습니다. (윈10기준)


이제 제가 원했던 시스템은 캐릭의 HP에서 약 40% 이하로 내려갔을 시에 귀환을 하는 시스템인데요.(전부 비활성으로)

(현재 제작중인 매크로는 린M을 위한겁니다. 저 말고도 린M 매크로 제작에 관심있으신분들은 함께 해결해보아요)


■■■■■■■■■■ << HP가 만피일때의 모습

■■■■□□□□□□ << 약HP가 40%남게 되면 귀환을 타게끔 조건문을 만들려고 합니다.


그러면 제가 생각했을때의 비활성 이미지 서치에 사용할 이미지는 

■■■■■ 약 50%정도의 HP바를 이미지 캡쳐해서 저장. 


50% 이상의 피 일때는 이미지를 서치 했을때 "참"에 해당하기 때문에 귀환을 누르지 않게 설정.

50% 이하로 내려갔을때는 설정한 이미지와는 "거짓"이 되어 찾지 못하기 때문에 찾지 못했을 때 귀환을 누르게 할려고합니다.


그러면 제가 공부한 토대로 스크립트를 적어보면 


#include Gdip.ahk


ImageSearch_Inactive(Title, ImgFileName)

{

If !pToken := Gdip_Startup()

{

MsgBox, 48, gdiplus error!, Gdiplus failed to start. Please ensure you ha ve gdiplus on your system

ExitApp

}

OnExit, Exit


pBitmapHayStack := Gdip_BitmapFromHWND(hwnd := WinExist(Title)) 

pBitmapNeedle := Gdip_CreateBitmapFromFile(ImgFileName)


Width1 := Gdip_GetImageWidth(pBitmapHayStack), Height1 := Gdip_GetImageHeight(pBitmapHayStack)

Width2 := Gdip_GetImageWidth(pBitmapNeedle), Height2 := Gdip_GetImageHeight(pBitmapNeedle)

E1 := Gdip_LockBits(pBitmapHayStack, 0, 0, Width1, Height1, Stride1, Scan01,BitmapData1)

E2 := Gdip_LockBits(pBitmapNeedle, 0, 0, Width2, Height2, Stride2, Scan02,BitmapData2)


MCode(Gdip_ImageSearch, "83EC148B4424309983E20303C28BC88B442434995383E2035503C2C1F80256C1F902837C24"

. "30005789442420C7442410000000000F8EBE0000008B5C24288B7C24388D048D00000000894424188B442430895C241CE"

. "B098DA424000000008BFFC74424440000000085C07E6D895C24148B6C242CC7442440000000008D6424008B4C24403B4C"

. "243C0F8D8600000033C985FF7E158BD58BF38B063B02751F4183C20483C6043BCF7CEF8B442420035C2418FF44244003C"

. "003C003E8EBC38B4C24448B5C24148B4424304183C3043BC8894C2444895C24147C978B4C24108B5C241C035C2418413B"

. "4C2434894C2410895C241C0F8C68FFFFFF8B5424488B44244C5F5E5DC702FFFFFFFFC700FFFFFFFF5B83C414C38B4C244"

. "48B5424488B44244C5F495E890A8B4C24085D89085B83C414C3")


VarSetCapacity(x, 8, 0), VarSetCapacity(y, 8, 0)

DllCall(&Gdip_ImageSearch, "uint", Scan01, "uint", Scan02, "int", Width1, "int", Height1, "int", Width2, "int", Height2, "int", Stride1, "int", Stride2, "int*", x, "int*", y)


;여기에 pos 좌표넣고 포스트메세지 함수 넣어놓는구간 같음


Gdip_UnlockBits(pBitmapHayStack,BitmapData1), Gdip_UnlockBits(pBitmapNeedle,BitmapData2)

Gdip_DisposeImage(pBitmapHayStack), Gdip_DisposeImage(pBitmapNeedle)

return

}


MCode(ByRef code, hex)

{

VarSetCapacity(code, StrLen(hex)//2)

Loop % StrLen(hex)//2 ;%

NumPut("0x" SubStr(hex, 2*A_Index-1, 2), code, A_Index-1, "char")

}


F9::

ImageSearch_Inactive("test","HP.png")    ; 테스트 창에 있는 설정한 HP바를 이미지서치한다.

if(errorlevel = 1)     ; 만약 설정한 HP바와 이미지가 같지 않다면 ex) 설정한 HP는 50%, 현재 HP는 40%

{

controlclick, x661 y381, test,, left  ;귀환 클릭

}

return



Exit:

Gdip_Shutdown(pToken)

ExitApp

return


이렇게 했는데 먹통이네요 반응이 없어요. HP를 거의 10% 정도만 남겨놔도 반응이 없습니다.

반대로 에러레벨을 0. 참으로 해놓았을 때는 귀환을 합니다.


뭐가 잘못 됐을까요...글 쓴 이후에도 원인을 찾고 열심히 구글링 하겠지만, 여기서 진전이 잘 안되서 기록겸 질문글 올립니다~

다들 좋은 하루 되세요~




List of Articles
분류 제목 글쓴이 최근변경 추천
질문 비활성이미지서치(성공)후 원하는 버튼 클릭질문. 2 테일하는병키 2017.10.10 0/0
질문 컴퓨터에 설치후 바로가기로 실행할때 A_WorkingDir 이... 1 JFLEE 2017.10.09 0/0
질문 edit 순서대로 받아서 반복하게 하려면 어떻게 해야하... 3 CM16 2017.10.08 0/0
질문 매크로 찾다가 오토핫키알게되고 몇시간 붙들어도 모르... 7 진짜궁금해요 2018.01.23 0/0
질문 이미지서치 → 랜덤딜레이 → 이미지 내 랜덤클릭 도움 ... 4 저콘 2017.10.09 0/0
질문 gui투명화할때요 text만 투명하지않게 할수없나요? 2 포천아지 2017.10.09 0/0
질문 이미지서치 방법좀 알려주실분 4 잘생긴욱이 2017.10.09 0/0
자유 와...비활성 이미지서치 진짜 힘드네요;; 7 테일하는병키 2017.11.11 2/0
질문 비활성 매크로 스크립트를 혼자서 만들어 봤는데... 1 비활성클릭 2017.10.06 0/0
질문 C# ImageSearch.dll 참조후그 다음 작업을 하는 함수에... KoreaDU 2017.10.06 0/0
질문 이미지 대량서치 빠르게 하려면 어떻게 해야하나요? 1 동생코코 2017.10.12 0/0
질문 내용수정할때 글씨가 자꾸깨지는데... 2 뿌히히히 2017.10.10 0/0
자유 메M 오토핫키 매크로 제작해주실분 구합니다 냐냐오오먀 2017.10.05 0/0
질문 마우스위치 기준으로 랜덤좌표 클릭할 수 있는 방법있... 1 박죠 2017.10.07 0/0
질문 gdip로 녹스화면 캡쳐시 초기화면만 캡쳐가되네요... 봉봉sss 2017.10.04 0/0
질문 체력인식을 어떻게 구현 해야할지 감이안잡히네요;; 8 꾸기 2017.10.11 0/0
질문 이미지서치 여러번 반복 도와주세요~ 2 CM16 2017.10.02 0/0
질문 Gui,2: 일때 listview 내용값추가 질문 뚤이 2017.10.02 0/0
질문 텍스트 문자열 분리(?) 질문 3 뚤이 2017.10.02 0/0
질문 시간마다 어떠한 행동을 동작하게 하고 싶은데요. 3 망나뇨옹 2017.10.02 0/0
Board Pagination Prev 1 ... 747576777879808182 ... 209 Next
/ 209

전체 최신 인기글

전체 주간 인기글