매크로

조회 수 1382 추천 0 댓글 35

세븐나이츠에 사용할려고하는데요 


30레벨 확인할려고하는데


서치중에


이 함수를 찾아봤는데요


Gdip_ImageSearchWithHwnd(Hwnd,Image,Byref X,Byref Y,Variation=0, sX = 0, sY = 0, eX = 0, eY = 0, Trans="")

{

gdipToken := Gdip_Startup()

bmpHaystack := Gdip_BitmapFromHwnd(Hwnd)

bmpNeedle := Gdip_CreateBitmapFromFile(Image)

RET := Gdip_ImageSearch(bmpHaystack,bmpNeedle,LIST,sX,sY,eX,eY,Variation,Trans,1,1)

Gdip_DisposeImage(bmpHaystack)

Gdip_DisposeImage(bmpNeedle)

Gdip_Shutdown(gdipToken)

StringSplit, LISTArray, LIST, `,

X := LISTArray1

Y := LISTArray2

return RET

}



IF (Gdip_ImageSearchWithHwnd(title,,X,Y,오차값,좌표x, 좌표y ,좌표2x,좌표2y, Trans="0xFFFFFF"))


IF (Gdip_ImageSearchWithHwnd(title,,X,Y,오차값, 좌표x, 좌표y ,좌표2x,좌표2y, Trans="FFFFFF"))


이렇게 둘다 해보왔습니다만


무조건 찾았다고 하더라구요 ㅠ.ㅠ


msgbox, %x%%y% 로 확인해봤는데 아무것도 뜨질않습니다


어디가 문제인지 알수있을까요 ?



  • PlusK 2016.09.01 20:15

    세븐나이츠 한번 같이제작해보실 생각있으신가요?

  • 캔디염 2016.09.01 20:19
    제가 그렇게 잘하는게 아니라서 ㅠ.ㅠ
  • PlusK 2016.09.01 20:22
    저도 그렇게 잘하는게 아니에요.. 캔디님이랑 이야기하면서 모르는거 알려주면서 하는거죠
  • 캔디염 2016.09.01 20:24
    저야 좋죠 ㅎㅎ

    우선 trans 좀 어떻게 해야할듯한데 ㅠ.ㅠ
  • PlusK 2016.09.01 20:33
    winget,title,ID,BlueStacks App Player
    if (gdip_imagesearchwithhwnd(title,a.png,x,y,trans="색상코드"))
  • 캔디염 2016.09.01 20:36
    좌표를 지정할려면 어떻게 해야할까요
  • PlusK 2016.09.01 20:41
    예를들어 블루스택같은거요??
  • 캔디염 2016.09.01 20:42
    네 당연히 블루스택이죠 세나는 블루스택이 갑 아닌가요 ? ㅋㅋ
  • PlusK 2016.09.01 20:44
    title에 BlueStacks App Player 적으면 되지않을까요?
  • 캔디염 2016.09.01 20:46
    winget,title,ID,BlueStacks App Player

    이미 타이틀에 블루스택을 넣은걸요 ?!
  • PlusK 2016.09.01 20:51
    IF (Gdip_ImageSearchWithHwnd(BlueStacks App Player,,X,Y,오차값,좌표x, 좌표y ,좌표2x,좌표2y, Trans="0xFFFFFF")) 해보세요
  • 캔디염 2016.09.01 21:03
    해본결과 무조건 찾는다고 뜸 ㅠㅠ.
  • PlusK 2016.09.01 21:13
    Gdip_ImageSearchWithdHwnd(Hwnd,Byref X,Byref Y,Image,Variation=0,Trans="",sX = 0,sY = 0,eX = 0,eY = 0)
    {
    SysGet, wFrame, 7
    SysGet, wCaption, 4
    gdipToken := Gdip_Startup()
    bmpHaystack := Gdip_BitmapFromHwnd(Hwnd)
    bmpNeedle := Gdip_CreateBitmapFromFile(Image)
    if( sX!= 0 || sY!= 0 || eX!= 0 || eY != 0)
    {
    sX := sX + wFrame
    sY := sY + wCaption + wFrame
    eX := eX + wFrame
    eY := eY + wCaption + wFrame
    }
    RET := Gdip_ImageSearch(bmpHaystack,bmpNeedle,LIST,sX,sY,eX,eY,Variation,Trans,1,1)
    Gdip_DisposeImage(bmpHaystack)
    Gdip_DisposeImage(bmpNeedle)
    Gdip_Shutdown(gdipToken)
    StringSplit, LISTArray, LIST, `,
    X := LISTArray1 - wFrame
    Y := LISTArray2 - wCaption - wFrame
    ;GuiControl,,로그, %bmpHaystack%||%bmpNeedle%||%RET%
    ;msgbox, %bmpHaystack%,%bmpNeedle%,%RET%
    if(RET = 1)
    {
    return true
    }
    else
    {
    return false
    }
    }
    이걸로 해보세요
  • 캔디염 2016.09.01 21:32
    #Include Gdip.ahk
    #Include Gdip_ImageSearch.ahk
    winget,title,id,BlueStacks App Player


    f1::
    if(Gdip_ImageSearchWithdHwnd(title,X,Y,CheckHeroFullLevel.bmp,10,Trans="FFFFFF",100,125,135,150))
    {
    msgbox,찾음

    }
    else
    {
    msgbox,못찾음

    }
    return


    못찾네요 ㅠ.ㅠ

    왜이런걸까요
  • PlusK 2016.09.01 21:46
    #include, Gdip.ahk

    CoordMode,Pixel,Client

    Gdip_ImageSearchWithdHwnd(Hwnd,Byref X,Byref Y,Image,Variation=0,Trans="",sX = 0,sY = 0,eX = 0,eY = 0)
    {
    SysGet, wFrame, 7
    SysGet, wCaption, 4
    gdipToken := Gdip_Startup()
    bmpHaystack := Gdip_BitmapFromHwnd(Hwnd)
    bmpNeedle := Gdip_CreateBitmapFromFile(Image)
    if( sX!= 0 || sY!= 0 || eX!= 0 || eY != 0)
    {
    sX := sX + wFrame
    sY := sY + wCaption + wFrame
    eX := eX + wFrame
    eY := eY + wCaption + wFrame
    }
    RET := Gdip_ImageSearch(bmpHaystack,bmpNeedle,LIST,sX,sY,eX,eY,Variation,Trans,1,1)
    Gdip_DisposeImage(bmpHaystack)
    Gdip_DisposeImage(bmpNeedle)
    Gdip_Shutdown(gdipToken)
    StringSplit, LISTArray, LIST, `,
    X := LISTArray1 - wFrame
    Y := LISTArray2 - wCaption - wFrame
    ;GuiControl,,로그, %bmpHaystack%||%bmpNeedle%||%RET%
    ;msgbox, %bmpHaystack%,%bmpNeedle%,%RET%
    if(RET = 1)
    {
    return true
    }
    else
    {
    return false
    }
    }


    IsImageCheck(ByRef ClickX, ByRef ClickY, CKImage, errorRange, trans, sX = 0, sY = 0, eX = 0, eY = 0)
    {
    WinGet, Title, ID, BlueStacks App Player
    If(Gdip_ImageSearchWithdHwnd(Title, ClickX, ClickY, CKImage, errorRange, trans, sX, sY, eX, eY))
    {
    return true
    }
    }
    ;Gdip 함수 ▲

    플스:
    {
    if(IsImageCheck(x, y, "이미지\playerskill.bmp",60,0))
    {
    Click(x, y)
    sleep,750
    }
    }

    제가 사용하는 GDIP에요
  • 캔디염 2016.09.01 22:15
    trans 기능 어떻게 해야할지 진짜 감이 안오네요 ㅠㅠ

    30레벨확인을해야 쫄을 교체하든 할텐데
  • PlusK 2016.09.01 23:24
    trans기능을 쓰지않고 포토샵으로 30레벨 이미지를 딴다음에 바탕을 휜색으로 바꿔주면 될거같아요
  • 캔디염 2016.09.01 23:35
    혹시 잘되시나요 ?

    저는 안되는데 ㅠㅠ
  • PlusK 2016.09.01 23:40
    시도는안해봤어요,,
  • profile
    셋쇼마루 2016.09.05 21:43
    헛 눈에 익네요
  • 크루세이덩 2016.09.02 00:23

    Gdip_ImageSearchWithdHwnd(Hwnd,Byref X,Byref Y,Image,Variation=0,Trans,sX = 0,sY = 0,eX = 0,eY = 0)

    위에 함수를 이렇게 바꾸시고 아래처럼 넣으시거나 

    if (Gdip_ImageSearchWithdHwnd(Hwnd,X,Y,IMAGE,100,Transwhite)) 


    Trans="0xffffff" 이렇게 넣으셔야 되고, 레벨 30부분은 숫자만 남기고 흰바탕으로 까셔야 합니다.

  • 캔디염 2016.09.02 06:14
    혹시 좌표 설정은 어떻게 해야할까요 "?
  • 크루세이덩 2016.09.02 09:15
    트랜스 부분 뒤에 숫자를 넣지 않으시면 전체화면
    좌표를 넣으시면 그 부분을 서치합니다.
  • 캔디염 2016.09.02 17:19
    f2::
    if (Gdip_ImageSearchWithdHwnd(title,X,Y,lv.bmp,100,Transwhite,100,125,135,150)) 
    {
    msgbox,발견
    }
    else
    {
    msgbox,못
    }


    return

    못찾네요 ㅠ.ㅠ


    CPRm7j0.png


    이렇게 만들어봤는데
  • 크루세이덩 2016.09.02 18:21

    이미지파일을 직접 넣으시면 ""로 묶어주세요. "lv.bmp"

  • 캔디염 2016.09.02 18:47
    "" 로 묶었는데도 똑같네요 ㅠㅠ.

    전체화면으로 스캔해도 못찾네요 ㅠ.ㅠ
  • 크루세이덩 2016.09.02 19:01
    gdip_imagesearch 함수 return ret 위에
    msgbox, %bmpHaystack%,%bmpNeedle%,%RET%
    추가하셔서 이미지서치할때 값이 제대로 뜨는 지 확인해 보세요.
    bmphaystack (화면캡쳐) 0 뜨면 -> winget 명령어 확인
    bmpNeedle (이미지파일) 0 뜨면 이미지 같은 폴더에 있나 확인
    RET (이미지서치값) 0 뜨면 이미지를 못 찾는 상태

    값들이 제대로 들어갔으면 3번만 0이 뜨실거에요.
  • 캔디염 2016.09.02 19:04

    79506608 , 79507776 , 0

    이렇게 뜨네요

    첫번째 두번쨰 값은 실행 할때마다 바뀌고 세번쨰는 0 으로 고정되있네요..

    어디가 문제인건가요 ?

  • 크루세이덩 2016.09.02 19:12
    그럼 이미지를 못 찾는 게 맞네요.
    if (Gdip_ImageSearchWithdHwnd(title,X,Y,"lv.bmp",100,Transwhite,100,125,135,150))

    100 부분을 줄여서 해보시고, 혹시나 transwhite 빼시고 다른 이미지로도 테스트해보세요.
    제가 알려드린 함수가 잘못 됐을 수도 있으니까요.
  • 크루세이덩 2016.09.02 19:35

    결국 직접해서 문제점을 찾았고, 소스를 조금 수정했습니다.

    위 코드에서 문제점은 하얀배경을 날릴 때 좌표를 넣어줘야 정상적으로 서치가 되더군요.

    그래서 파라미터의 순서를 아래처럼 바꾸어 전체검색시에도 "0xffffff"만 넣으면 되도록 바꿨습니다.


    #include include\Gdip.ahk

    #include include\Gdip_imagesearch.ahk


    f1::

    winget, title,, BlueStacks App Player

    IF (Gdip_ImageSearchWithHwnd(title,"뒤로.bmp",X,Y,100,"0xffffff"))

    return


    Gdip_ImageSearchWithHwnd(Hwnd,Image,Byref X,Byref Y,Variation=0, Trans="",sX = 0, sY = 0, eX = 0, eY = 0)

    {

    gdipToken := Gdip_Startup()

    bmpHaystack := Gdip_BitmapFromHwnd(Hwnd)

    bmpNeedle := Gdip_CreateBitmapFromFile(Image)

    RET := Gdip_ImageSearch(bmpHaystack,bmpNeedle,LIST,sX,sY,eX,eY,Variation,Trans,1,1)

    Gdip_DisposeImage(bmpHaystack)

    Gdip_DisposeImage(bmpNeedle)

    Gdip_Shutdown(gdipToken)

    StringSplit, LISTArray, LIST, `,

    X := LISTArray1

    Y := LISTArray2

    msgbox %bmpHaystack% %bmpNeedle% %RET%

    return RET

    }


    f2::reload

  • 캔디염 2016.09.02 20:43
    전체화면으로했을때는 잘 찾습니다 하지만 좌표를 넣었을시 발견을 못합니다 ㅠ.ㅠ

    IF (Gdip_ImageSearchWithHwnd(title,"이미지\영웅\레벨30확인.bmp",X,Y,50,"0xffffff",100,120,145,150))
    {
    msgbox,발견%x% %y%
    mousemove,%x%, %y%
    click(x,y)

    }
    else
    {
    msgbox,못
    }
    return

    어떤 문제가 있을까요

    IF (Gdip_ImageSearchWithHwnd(title,"이미지\영웅\레벨30확인.bmp",X,Y,50,100,120,145,150,"0xffffff"))

    이렇게도 해보왔습니다

    일일이 답변 해주셔서 감사합니다 ..

    점점 고지가 보이는듯해요 ㅠ
  • 크루세이덩 2016.09.02 21:17

    좌표 넣어도 인식은 되는데, 이게 됐다 안됐다 하는 부분이 있는 듯 하네요.

    스타트 좌표를 0으로 넣으면 좌표를 넣어도 인식률이 좋아지긴 합니다.

    wingetpos로 검색하시면 창두께나 창좌표를 구하는 게 가능하니

    그걸 이용하셔서 블루스택창만 서치하시면 굳이 좌표 검색으로 안하셔도 됩니다. 

    (어차피 포스트 메세지 이용하시려면 필요하실테니 알아두시는 게 좋을 거에요.)

  • 캔디염 2016.09.02 21:44
    감사합니다 창두깨를 추가하여 성공하였습니다 감사드립니다 ㅠ.ㅠ
  • 크루세이덩 2016.09.02 21:46
    고생하셨습니다. 수고하셨어요
  • 비서민재aa 2016.09.18 12:25

    제가 그렇게 잘하는게 아니라서 ㅠ.ㅠ


List of Articles
분류 제목 글쓴이 최근변경 추천
질문 오늘 하루 열심히 해보고 비활성 질문하나 드립니다. 5 갈형 2016.09.05 0/0
질문 filecopydir 사용법 문의 글입니다 3 T7GG 2016.09.10 0/0
질문 매크로 프로그램들 장단점 3 졸려어 2016.09.04 0/0
질문 오핫 이미지서치에 관한 질문입니다 1 지니블렉션 2016.09.03 0/0
질문 메이플스토리 비활성 관련 질문 드립니다 7 Guri 2017.01.21 0/0
질문 대기서치 질문드립니다 2 PlusK 2016.09.01 0/0
질문 GDIP trans 기능 예제 힌트좀 주실수있으신가요? 35 캔디염 2016.09.18 0/0
질문 ImageSearch.ahk 파일 공유좀 해주세요. 2 별이죽다 2016.09.04 0/0
질문 리니지 매크로 제작 가능하신분 있나요? 1 뉴화청 2022.09.07 0/0
질문 비활성 이미지 서치에서 반복작업 질문 드립니다 2 배우고싶다 2016.09.07 0/0
질문 무한루프 이미지서치 질문드립니다. 5 아라아리 2016.08.31 0/0
질문 오토핫키 시작하려면 뭐부터해야되나요 3 너만하냐 2016.09.01 0/0
질문 녹스 비활성 질문입니다 소스좀 봐주세요 2 잘크 2016.08.30 0/0
질문 숫자 인식 매크로관련 질문 3 김수호 2016.10.21 0/0
질문 오토핫키와 같이 스크립트 기반이면서 3 테일스탈 2016.10.20 0/0
질문 오토핫키 FPS게임 마우스질문 1 dwodqw 2018.02.03 0/0
자유 이제 조만간 opengl의 캡쳐 장벽도 깨지겠네요. 크루세이덩 2016.08.27 0/0
질문 녹스 비활성 클릭 질문입니다. 2 지니블렉션 2016.08.26 0/0
질문 비활성 클릭에서 막혔습니다 4 복권상인 2016.08.29 0/0
질문 OCR 숫자 인식 관련해서 질문 드립니다. 3 247천사잉 2016.09.06 0/0
Board Pagination Prev 1 ... 108109110111112113114115116 ... 209 Next
/ 209

전체 최신 인기글

전체 주간 인기글