매크로

질문
2018.12.03 15:25

멀티서치 관련 질문있습니다.

조회 수 184 추천 0 댓글 0


;==============================================================global변수

global adb := "C:\Program Files (x86)\Nox\bin\nox_adb.exe"
global adbIP := "127.0.0.1:62001"
global imageCount := 0
global Title:= "Nox" 

;==============================================================cmd상주



Attach:
DetectHiddenWindows, on
;Run, %comspec% /k  cPid
Run, %comspec% /k  ,,hide UseErrorLevel, cPid
WinWait, ahk_pid %cPid%,, 10
DllCall("AttachConsole","uint",cPid)
hCon:=DllCall("CreateFile","str","CONOUT$","uint",0xC0000000,"uint",7,"uint",0,"uint",3,"uint",0,"uint",0)
global objShell := ComObjCreate("WScript.Shell")
return

Clean_up:
DllCall("CloseHandle", "uint", hCon)
DllCall("FreeConsole")
Process, Close, %cPid%
ExitApp

;==============================================================함수

;로그작성함수
WriteLog(msg){
FormatTime, nowTime, ,MM-dd HH:mm:ss
LV_Add("",nowTime,+msg)
LV_ModifyCol()
}


;ADB 드래그함수
ADB_Drag(x1,y1,x2,y2,duration){
    
    objExec := objShell.Exec(adb " -s " adbIP " shell input swipe " x1 " " y1 " " x2 " " y2 " " duration)
    
}

;발견이미지 개수 카운트
M_ImageCount(image){
result:=MultipleImagesearch(0,0,A_ScreenWidth,A_ScreenHeight,image)
;imageCount :=result

Loop,Parse,result,`n
{
If A_LoopField=  ;잘라진문자열을 참조할수있다.  안에 문자열이없으면 
{
imageCount := A_Index-1
Break
} ;문자열없으면 break
}
return imageCount
}


M_ImageSearch(image,imageCount){ ;이미지 2개서치후 드래그  돌합치기
dir:="image/start.bmp" ;앱플레이어의 상대적위치를 계산하기위해서
Imagesearch,s_x,s_y,0,0,A_ScreenWidth,A_ScreenHeight,%dir%
;MsgBox,%s_x%,%s_y%
result:=MultipleImagesearch(0,0,A_ScreenWidth,A_ScreenHeight,image)

Loop,Parse,result,`n ;문자열을 지정의 단락 문자로 분할하고, 각각 대해 반복 처리
{ ; x a yi 으로 잘렸다.
If (imageCount<2 || A_Index==3){  ; 이미지가  2개까지만  중복서치되도록
Break
} ;문자열없으면 break
StringSplit,Pos,A_LoopField,a ;a 단위로자른다 x y 분리
;ToolTip,%A_Index%,%Pos1%,%Pos2%,%A_Index%
if(mod(A_Index,2)==1){
x1:=pos1-s_x
y1:=pos2-s_y-40
}else if(mod(A_Index,2)==0){
x2:=pos1-s_x
y2:=pos2-s_y-40
}
}
;MsgBox,%x1%,%y1%,%x2%,%y2%
if(x1!="" && x2!=""){
ADB_Drag(x1,y1,x2,y2,"300") ;드래그
return false
}else return true
}


;==============================================================시작


F2::
{
GuiControl,,매크로상태,매크로상태 : 일시정지
    Gui,Submit,nohide
pause
}
return

F3:: ;테스트용
{
SetBatchLines,-1
CoordMode,Pixel,Screen
CoordMode,ToolTip,Screen
ImageCount:= M_ImageCount("image/stone8.bmp")
M_ImageSearch("image/stone8.bmp",ImageCount)
sleep,200

return
}

Button로그:
{
Gui,2:Show,w270 h220, 로그
return
}


while(1){

ImageCount:= M_ImageCount("image/stone.bmp")
M_ImageSearch("image/stone.bmp",ImageCount)
sleep,400

}


return
}

Button재시작:
{
Reload
return
}
Button종료:
{
ExitApp
}




MultipleImagesearch(xs,ys,xl,yl,image)
{
pos=     ;pos 초기화
xss:=xs
yss:=ys
loop
{
Imagesearch,x,yi,%xss%,%yss%,%xl%,%yl%,%image%
If Errorlevel=1
Break
pos=%pos%%x%a%yi%`n   ; = 는 이어붙이기니까 pos에  기존꺼랑 그 이미지 위치저장됨 x a yi `n 순
;처음은 그냥 이미지서치
loop
{
xss:=x+1 ;x좌표에 1씩더해서  중복서치를 없앤다.
If xss=%xl%
Break
Imagesearch,x,y,%xss%,%yss%,%xl%,%yl%,%image%
If Errorlevel=1
Break
pos=%pos%%x%a%y%`n
}
xss:=xs
yss:=yi+1
If yss=%yl%
Break
}
Sort,pos,u  ;u 차례대로 정렬하고 중복을없앤다.
return pos
}

GuiClose:
ExitApp

어떤분의 공유로 해당 스크립트를 계속 공부 중인데요. 궁금중이 있어서 올립니다.
해당 내용 테스트 결과 x1,y1값을 못찾고 있어서 진행이 안되는 것으로 보입니다. 이미지를 못찾을 가능성이 커보이기는 한데...
정확한 어느부분을 손대야 할지 모르겠네요...이미지 위치도 정확히 인식은 하는데..프로그램에서 동일 이미지를 못찾는건지..수정해야 하는 부분 좀 지적 좀 해주세요.



List of Articles
분류 제목 글쓴이 최근변경 추천
질문 postmessage명령어와 이미지서치 명령어 사용에 관해 ... 3 앙꼬호빵 2014.09.28 0/0
질문 Genymotion에서 PostMessage를 이용하기 에러 질문 6 무림공작 2015.09.07 0/0
질문 오토핫키 스마트 구이 Edit 적은시간 적용하기 7 품격의상징 2014.09.30 0/0
질문 매크로 만드시는분들 이미지 서치 위주로 하시나요? 5 너울 2014.11.11 0/0
자유 이미지 서치 관련 베이스(?) 스크립트는 어디서 참조하... 5 oxydhd 2014.10.16 1/0
질문 1004매크로 다운받는곳좀 ,, 6 앙탈소녀 2014.10.14 0/0
질문 andy에뮬에서 오토핫키를 이용한 이미지서치시에 마우... 2 하나비 2014.10.04 0/0
정보 지니모션 postmessage 미작동 관련 3 무사시무 2014.10.11 0/0
자유 몬스터 길들이기 모험 매크로를 만들어보았습니다. 4 페르니코 2014.10.14 0/0
정보 쿠키런 매크로(ImageSearch활용) 입니다. 10 멕아리 2015.02.09 1/0
자유 몬길 무한실행반복 쓰던건데... 4 오라컴퓨터 2015.09.07 0/0
질문 질문 드립니다. 고수분 답변 부탁 드려요 3 빈대왕 2014.10.10 0/0
질문 비활성공부하려면.. 4 은가람 2018.12.17 0/0
질문 오토핫키로 엘가드 메크로 가능한가요?? 2 미쓰광 2014.10.16 0/0
자유 오토핫키좀 배워보려는데 2 포테토스틱 2015.05.04 0/0
자유 쿠키런 비활성화 매크로 8 mauver 2015.03.25 3/0
정보 오토핫키 이미지 서치 테스트용 1 너울 2015.05.04 0/0
질문 숨어야 산다님 부탁드립니다. ㅜㅜ 5 vl타민 2014.10.17 0/0
질문 이미지서치 관련 문의 3 핸콕 2014.10.18 0/0
자유 첫 걸음마 중인데.. 5 나은 2015.05.04 0/0
Board Pagination Prev 1 2345678910 ... 209 Next
/ 209

전체 최신 인기글

전체 주간 인기글