매크로

조회 수 1010 추천 1 댓글 9
Checker:

gui, submit, nohide

if(imageSearcher(x,y, "\Image\팅김확인.bmp")=1)
{
formattime , nowtime,,MM-dd HH:mm:ss
     guicontrol,,notice_2, %message_2%
     listMessage =%nowtime% 레이븐팅김감지 %message_2%|%listMessage%
     guicontrol,,notice_list, |%listMessage%
     재시작발생++
     Guicontrol,,재시작발생,재시작발생 : %재시작발생%회
     
winkill, ahk_class WindowsForms10.Window.8.app.0.33c0d9d

formattime , nowtime,,MM-dd HH:mm:ss
     guicontrol,,notice_2, %message_2%
     listMessage =%nowtime% 5초후 시작됩니다 %message_2%|%listMessage%
     guicontrol,,notice_list, |%listMessage%

sleep, 5000

IniWrite,%업적발생%, option.ini, LOG 기록,업적발생
IniWrite,%통신실패%, option.ini, LOG 기록,통신실패
IniWrite,%결투패배%, option.ini, LOG 기록,결투패배
IniWrite,%결투승리%, option.ini, LOG 기록,결투승리
IniWrite,%행동물약%, option.ini, LOG 기록,행동물약
IniWrite,%연속탐험%, option.ini, LOG 기록,연속탐험
IniWrite,%레이드성공%, option.ini, LOG 기록,레이드성공
IniWrite,%레이드실패%, option.ini, LOG 기록,레이드실패
IniWrite,%길드전승리%, option.ini, LOG 기록,길드전승리
IniWrite,%길드전패배%, option.ini, LOG 기록,길드전패배
IniWrite,%재시작발생%, option.ini, LOG 기록,재시작발생
IniWrite,%요일레이드%, option.ini, LOG 기록,요일레이드
IniWrite,%보상획득%, option.ini, LOG 기록,보상획득

sleep, 1000


Reload
}

else
{
sleep, 300
}

gui, submit, nohide

if(imageSearcher(x,y, "\Image\통신실패.bmp")=1)
{
formattime , nowtime,,MM-dd HH:mm:ss
     guicontrol,,notice_2, %message_2%
     listMessage =%nowtime% 서버끈김김감지 %message_2%|%listMessage%
     guicontrol,,notice_list, |%listMessage%
     통신끈김++
     Guicontrol,,통신끈김,통신끈김 : %통신끈김%회

winkill, ahk_class WindowsForms10.Window.8.app.0.33c0d9d
;winkill, ahk_class #32770

formattime , nowtime,,MM-dd HH:mm:ss
     guicontrol,,notice_2, %message_2%
     listMessage =%nowtime% 5초후 시작됩니다 %message_2%|%listMessage%
     guicontrol,,notice_list, |%listMessage%

sleep, 5000

IniWrite,%업적발생%, option.ini, LOG 기록,업적발생
IniWrite,%통신실패%, option.ini, LOG 기록,통신실패
IniWrite,%결투패배%, option.ini, LOG 기록,결투패배
IniWrite,%결투승리%, option.ini, LOG 기록,결투승리
IniWrite,%행동물약%, option.ini, LOG 기록,행동물약
IniWrite,%연속탐험%, option.ini, LOG 기록,연속탐험
IniWrite,%레이드성공%, option.ini, LOG 기록,레이드성공
IniWrite,%레이드실패%, option.ini, LOG 기록,레이드실패
IniWrite,%길드전승리%, option.ini, LOG 기록,길드전승리
IniWrite,%길드전패배%, option.ini, LOG 기록,길드전패배
IniWrite,%재시작발생%, option.ini, LOG 기록,재시작발생
IniWrite,%요일레이드%, option.ini, LOG 기록,요일레이드
IniWrite,%보상획득%, option.ini, LOG 기록,보상획득

sleep, 1000


Reload



}

else
{
sleep, 300
}

gui, submit, nohide

if(imageSearcher(x,y, "\Image\탐험실패.bmp")=1)
{
formattime , nowtime,,MM-dd HH:mm:ss
     guicontrol,,notice_2, %message_2%
     listMessage =%nowtime% 탐험실패감지 %message_2%|%listMessage%
     guicontrol,,notice_list, |%listMessage%
     탐험실패++
     Guicontrol,,탐험실패,탐험실패 : %탐험실패%회

winkill, ahk_class WindowsForms10.Window.8.app.0.33c0d9d

formattime , nowtime,,MM-dd HH:mm:ss
     guicontrol,,notice_2, %message_2%
     listMessage =%nowtime% 5초후 시작됩니다 %message_2%|%listMessage%
     guicontrol,,notice_list, |%listMessage%

sleep, 5000

IniWrite,%업적발생%, option.ini, LOG 기록,업적발생
IniWrite,%통신실패%, option.ini, LOG 기록,통신실패
IniWrite,%결투패배%, option.ini, LOG 기록,결투패배
IniWrite,%결투승리%, option.ini, LOG 기록,결투승리
IniWrite,%행동물약%, option.ini, LOG 기록,행동물약
IniWrite,%연속탐험%, option.ini, LOG 기록,연속탐험
IniWrite,%레이드성공%, option.ini, LOG 기록,레이드성공
IniWrite,%레이드실패%, option.ini, LOG 기록,레이드실패
IniWrite,%길드전승리%, option.ini, LOG 기록,길드전승리
IniWrite,%길드전패배%, option.ini, LOG 기록,길드전패배
IniWrite,%재시작발생%, option.ini, LOG 기록,재시작발생
IniWrite,%요일레이드%, option.ini, LOG 기록,요일레이드
IniWrite,%보상획득%, option.ini, LOG 기록,보상획득

sleep, 1000


Reload

}

else
{
sleep, 300
}

gui, submit, nohide

if(imageSearcher(x,y, "\Image\인증실패.bmp")=1)
{
formattime , nowtime,,MM-dd HH:mm:ss
     guicontrol,,notice_2, %message_2%
     listMessage =%nowtime% 탐험실패감지 %message_2%|%listMessage%
     guicontrol,,notice_list, |%listMessage%
     재시작발생++
     Guicontrol,,재시작발생,재시작발생 : %재시작발생%회

winkill, ahk_class WindowsForms10.Window.8.app.0.33c0d9d

formattime , nowtime,,MM-dd HH:mm:ss
     guicontrol,,notice_2, %message_2%
     listMessage =%nowtime% 5초후 시작됩니다 %message_2%|%listMessage%
     guicontrol,,notice_list, |%listMessage%

sleep, 5000

IniWrite,%업적발생%, option.ini, LOG 기록,업적발생
IniWrite,%통신실패%, option.ini, LOG 기록,통신실패
IniWrite,%결투패배%, option.ini, LOG 기록,결투패배
IniWrite,%결투승리%, option.ini, LOG 기록,결투승리
IniWrite,%행동물약%, option.ini, LOG 기록,행동물약
IniWrite,%연속탐험%, option.ini, LOG 기록,연속탐험
IniWrite,%레이드성공%, option.ini, LOG 기록,레이드성공
IniWrite,%레이드실패%, option.ini, LOG 기록,레이드실패
IniWrite,%길드전승리%, option.ini, LOG 기록,길드전승리
IniWrite,%길드전패배%, option.ini, LOG 기록,길드전패배
IniWrite,%재시작발생%, option.ini, LOG 기록,재시작발생
IniWrite,%요일레이드%, option.ini, LOG 기록,요일레이드
IniWrite,%보상획득%, option.ini, LOG 기록,보상획득

sleep, 1000


Reload

}

else
{
sleep, 300
}

gui, submit, nohide

if(imageSearcher(x,y, "\Image\wifi.bmp")=1)
{
formattime , nowtime,,MM-dd HH:mm:ss
     guicontrol,,notice_2, %message_2%
     listMessage =%nowtime% wifi감지 %message_2%|%listMessage%
     guicontrol,,notice_list, |%listMessage%
     재시작발생++
     Guicontrol,,재시작발생,재시작발생 : %재시작발생%회

winkill, ahk_class WindowsForms10.Window.8.app.0.33c0d9d

formattime , nowtime,,MM-dd HH:mm:ss
     guicontrol,,notice_2, %message_2%
     listMessage =%nowtime% 5초후 시작됩니다 %message_2%|%listMessage%
     guicontrol,,notice_list, |%listMessage%

sleep, 5000

IniWrite,%업적발생%, option.ini, LOG 기록,업적발생
IniWrite,%통신실패%, option.ini, LOG 기록,통신실패
IniWrite,%결투패배%, option.ini, LOG 기록,결투패배
IniWrite,%결투승리%, option.ini, LOG 기록,결투승리
IniWrite,%행동물약%, option.ini, LOG 기록,행동물약
IniWrite,%연속탐험%, option.ini, LOG 기록,연속탐험
IniWrite,%레이드성공%, option.ini, LOG 기록,레이드성공
IniWrite,%레이드실패%, option.ini, LOG 기록,레이드실패
IniWrite,%길드전승리%, option.ini, LOG 기록,길드전승리
IniWrite,%길드전패배%, option.ini, LOG 기록,길드전패배
IniWrite,%재시작발생%, option.ini, LOG 기록,재시작발생
IniWrite,%요일레이드%, option.ini, LOG 기록,요일레이드
IniWrite,%보상획득%, option.ini, LOG 기록,보상획득

sleep, 1000


Reload

}

else
{
sleep, 300
}



return










F12::
SEND,#+{Left}
return




guiclose:

exitapp
return








; =============================== 함수선언 ==========================================


; 이미지 서치
; seconds : 시간 지정 (기본설정상 1초 = 10번 시도, 0.5초 = 5번 시도함)
; imgX, imgY : 리턴받기 위해 사용
; fromX , fromY , toX , toY : 이미지 서치 범위 지정
; 리턴값 : 1 = 이미지 찾음 , 0 = 이미지 못찾음, -1 = 이미지 파일 없음
CheckImage(img, seconds=0, ByRef imgX="", ByRef imgY="", fromX=0, fromY=0, toX=0, toY=0) {
    global ActiveID, DebugMode
    Sleep, 10

    If ( ActiveID)
        WinGetPos, winX, winY, winW, winH, % ActiveID
    Else
        winX := 0, winY := 0, winW := A_ScreenWidth, winH := A_ScreenHeight

    sleepTime := 100
    times := seconds * (1000 / sleepTime)
    If ( times=0)
        times := 1

    x := winX, y := winY, w := winX+winW, h := winY+winH
    If (fromX && fromY && toX && toY)
    {
        w := x+toX, h := y+toY, x := x+fromX, y := y+fromY

        If ( DebugMode = 1)
        {
            ToolTip, 범위시작, x, y, 11
            ToolTip, 범위끝, w, h, 12
        }
    }

    Loop, %times%
    {
        ImageSearch, oX, oY, x, y, w, h, *50 %A_ScriptDir%\%img%
        If ( ErrorLevel = 0)
        {
            imgX := oX
            imgY := oY
            If ( DebugMode = 1)
            {
                ToolTip, %img%, imgX, imgY, 10
            }
            Return 1
        }
        Else If ( ErrorLevel = 2)
        {
            MsgBox, , , 이미지 없음 : %img% , 1
            Return -1
        }
        Sleep, %sleepTime%
    }
    Return 0
}

; 비활성 이미지 클릭
; seconds : 시간 지정 (CheckImage 설정에 따름)
; fromX , fromY , toX , toY : 이미지 서치 범위 지정
; 리턴값 : 1 = 이미지 찾음 , 0 = 이미지 못찾음, -1 = 이미지 파일 없음
ClickImage(img, seconds=0, fromX=0, fromY=0, toX=0, toY=0) {
    Sleep, 10

    result := CheckImage( img, seconds, x, y, fromX, fromY, toX, toY)
    If (result = 1)
    {
        global ActiveID, DebugMode, WindowCaptionHeight, WindowBorderWidth, WindowBorderHeight

        WinGetPos, winX, winY, winW, winH, % ActiveID

        px:=x-winX-WindowBorderWidth
        py:=y-winY-WindowBorderHeight-WindowCaptionHeight

        p := px|py<<16

        If ( DebugMode = 1)
        {
            ToolTip, 이미지 클릭 %img%, x, y, 10
        }

        PostMessage, 0x201, 0, %p%, , % ActiveID
        PostMessage, 0x202, 0, %p%, , % ActiveID
    }

    Sleep, 200
    Return result
}



; 비활성 마우스 드래그
; (fromX, fromY) 좌표에서 (toX, toY) 로 드래그함
MouseDrag(fromX, fromY, toX, toY) {
    global ActiveID, DebugMode, WindowCaptionHeight, WindowBorderWidth, WindowBorderHeight
    Sleep, 10

    px1 := fromX-WindowBorderWidth/2
    py1 := fromY-WindowBorderHeight/2-WindowCaptionHeight

    p1 := px1|py1<<16

    px2 := toX-WindowBorderWidth/2
    py2 := toY-WindowBorderHeight/2-WindowCaptionHeight

    p2 := px2|py2<<16

    PostMessage, 0x201, 0, %p1%, , % ActiveID
    PostMessage, 0x200, 0, %p2%, , % ActiveID
    PostMessage, 0x202, 0, %p2%, , % ActiveID

    If ( DebugMode = 1)
    {
        WinGetPos, winX, winY, winW, winH, % ActiveID
        ToolTip, 드래그시작, winX+px1, winY+py1, 11
        ToolTip, 드래그종료, winX+px2, winY+py2, 12
    }
    Sleep, 200
    Return 1
}



; 비활성 좌표 클릭
; x, y 좌표를 클릭
ClickPosition(x, y) {
    global ActiveID, DebugMode, WindowCaptionHeight, WindowBorderWidth, WindowBorderHeight
    Sleep, 10

    px:=x-WindowBorderWidth/2
    py:=y-WindowBorderHeight/2-WindowCaptionHeight

    p := px|py<<16

    PostMessage, 0x201, 0, %p%, , % ActiveID
    PostMessage, 0x202, 0, %p%, , % ActiveID

    If ( DebugMode = 1)
    {
        WinGetPos, winX, winY, winW, winH, % ActiveID
        ToolTip, 좌표클릭, winX+px, winY+py, 10
    }
    Sleep, 200
    Return 1
}



;이미지 서치
imageSearcher( ByRef imgX, ByRef imgY, img)
{
    global ActiveID
    WinGetPos, winX, winY, winW, winH, %ActiveID%

    ImageSearch, oX, oY, winX, winY, winX+winW, winY+winH, *50 %A_ScriptDir%\%img%
    If ( ErrorLevel = 0)
    {
        imgX := oX
        imgY := oY
        return 1
    }
    else If ( ErrorLevel = 1){
        return 0
    }
}

;클릭
sendClick( x, y) {
    global ActiveID
    WinGetPos, winX, winY, winW, winH, %ActiveID%
    SysGet, capH, 4 ; 캡션Height
    SysGet, bordW, 32 ; 보더Width
    SysGet, bordH, 33 ; 보더Height

    px:=x-winX-bordW
    py:=y-winY-bordH-capH

    p := px|py<<16

    PostMessage, 0x201, 0, %p%, , %ActiveID%
    PostMessage, 0x202, 0, %p%, , %ActiveID%
    Sleep, 200
    Return
}

sendClick2( x, y)
{
    global ActiveID
    SysGet, capH, 4 ; 캡션Height
    SysGet, bordW, 32 ; 보더Width
    SysGet, bordH, 33 ; 보더Height

    px:=x-bordW/2
    py:=y-bordH/2-capH

    p := px|py<<16

    PostMessage, 0x201, 0, %p%, , %ActiveID%
    PostMessage, 0x202, 0, %p%, , %ActiveID%
    Sleep, 200
    Return
}

;서치앤클릭
imageSearchClick(img)
{
    If imageSearcher( x, y, img) = 1
    {
        sendClick( x, y)
        Return 1
    }
    Return 0
}

;이미지 찾을때까지 대기
waitImage(img) {
    Loop {
        If imageSearcher( x, y, img) = 1
        {
            Break
        }
        Sleep, 500
    }
    Sleep, 200
    Return
}

;이미지 찾을때까지 대기후 클릭
waitImageClick(img) {
    Loop {
        If imageSearchClick( img) = 1
        {
            Break
        }
        Sleep, 500
    }
    Sleep, 200
    Return
}


sendDrag10( x, y)
{
    global ActiveID
    SysGet, capH, 4 ; 캡션Height
    SysGet, bordW, 32 ; 보더Width
    SysGet, bordH, 33 ; 보더Height

    px:=x-bordW/2
    py:=y-bordH/2-capH

    p := px|py<<16
    p1 := px+100|py<<16
    PostMessage, 0x201, 1, %p%, , % ActiveID
    Sleep, 100

    PostMessage, 0x201, 1, %p1%, , % ActiveID 
    Sleep, 200
    Return 
}

sendDrag11( x, y)
{
    global ActiveID
    SysGet, capH, 4 ; 캡션Height
    SysGet, bordW, 32 ; 보더Width
    SysGet, bordH, 33 ; 보더Height

    px:=x-bordW/2
    py:=y-bordH/2-capH

    p := px|py<<16

    PostMessage, 0x200, 1, %p%, , % ActiveID
    
    Sleep, 100
    Return 
}

sendDrag12( x, y)
{
    global ActiveID
    SysGet, capH, 4 ; 캡션Height
    SysGet, bordW, 32 ; 보더Width
    SysGet, bordH, 33 ; 보더Height

    px:=x-bordW/2
    py:=y-bordH/2-capH

    p := px|py<<16

 PostMessage, 0x202, 2, %p%, , % ActiveID
    
    Sleep, 100
    Return 
}

sendDrag20( x, y)
{
    global ActiveID
    SysGet, capH, 4 ; 캡션Height
    SysGet, bordW, 32 ; 보더Width
    SysGet, bordH, 33 ; 보더Height

    px:=x-bordW/2
    py:=y-bordH/2-capH

    p := px|py<<16
    p1 := px+50|py+100<<16
    PostMessage, 0x201, 1, %p%, , % ActiveID
    Sleep, 100

    PostMessage, 0x201, 1, %p1%, , % ActiveID 
    Sleep, 200
    Return 
}

sendDrag21( x, y)
{
    global ActiveID
    SysGet, capH, 4 ; 캡션Height
    SysGet, bordW, 32 ; 보더Width
    SysGet, bordH, 33 ; 보더Height

    px:=x-bordW/2
    py:=y-bordH/2-capH

    p := px|py<<16

    PostMessage, 0x200, 1, %p%, , % ActiveID
    
    Sleep, 100
    Return 
}

sendDrag22( x, y)
{
    global ActiveID
    SysGet, capH, 4 ; 캡션Height
    SysGet, bordW, 32 ; 보더Width
    SysGet, bordH, 33 ; 보더Height

    px:=x-bordW/2
    py:=y-bordH/2-capH

    p := px|py<<16

 PostMessage, 0x202, 2, %p%, , % ActiveID
    
    Sleep, 100
    Return 
}



sendDrag30( x, y)
{
    global ActiveID
    SysGet, capH, 4 ; 캡션Height
    SysGet, bordW, 32 ; 보더Width
    SysGet, bordH, 33 ; 보더Height

    px:=x-bordW/2
    py:=y-bordH/2-capH

    p := px|py<<16
    p1 := px-100|py<<16
    PostMessage, 0x201, 1, %p%, , % ActiveID
    sleep, 100

    PostMessage, 0x201, 1, %p1%, , % ActiveID 
    sleep, 200
    Return 
}

sendDrag31( x, y)
{
    global ActiveID
    SysGet, capH, 4 ; 캡션Height
    SysGet, bordW, 32 ; 보더Width
    SysGet, bordH, 33 ; 보더Height

    px:=x-bordW/2
    py:=y-bordH/2-capH

    p := px|py<<16

    PostMessage, 0x200, 1, %p%, , % ActiveID
    
    sleep, 100
    Return 
}

sendDrag32( x, y)
{
    global ActiveID
    SysGet, capH, 4 ; 캡션Height
    SysGet, bordW, 32 ; 보더Width
    SysGet, bordH, 33 ; 보더Height

    px:=x-bordW/2
    py:=y-bordH/2-capH

    p := px|py<<16

 PostMessage, 0x202, 2, %p%, , % ActiveID
    
    sleep, 100
    Return 
}

  • T7GG 2015.09.11 18:47

    이미지 찾는 분들이 있어서 일단 링크 드립니다..


    http://tailstar.net/macro_tips/11626695


    페이지 가셔서 매크로 받으시면 안에 이미지 파일 있습니다


    일단은 그냥 쓰셔도 되고요 추후 업데이트만 대응해서 쓰시면 됩니다

  • 쨍애 2015.09.12 02:31
    레벨 안되는 사람들은 다운받을 수 없는건가요? ㅜㅜ
  • T7GG 2015.09.12 12:26
    베스트클은 2렙부터 이용가능하십니다...

    제기억으로 2렙은 3일이면 충당 가능한 렙이였습니다..

    이번 업데이트 까지 대충 수정해 놓았기 때문에 조금만 수정해서 쓰시면 됩니다
  • 쨍애 2015.09.12 15:27
    네 조언 감사합니당.. ㅎㅎ
  • 코드맨 2015.09.13 03:18

    오 개인적으로 만들어서 쓰던 메크로랑은 완전 차원이 틀리군요..

    대단하십니다.. (__) 

    Log 기록 만들어볼려고 생각중이었는데 딱 있네요 우히힣..

    잘 볼께용~~

  • 그린라이프 2015.09.19 13:41

    이미지 받을 수 없을까요 올리신 주소는 접근불가 뜨는데 ㅜㅜ

  • 그린라이프 2015.09.19 16:32

    이미지 가지고 계신분 있으시면 공유좀 부탁 드려도 될까요?

  • 은비 2015.09.30 17:12

    이미지를 위해서 조금만 노력을 하시면은 될꺼 가따염 ㅡ;;``

  • 무드 2015.10.12 03:41

    정말감사합니다아


List of Articles
분류 제목 글쓴이 최근변경 추천
정보 복사 붙여넣기 프로그램 3 아잉뿌잉 2015.04.09 1/0
질문 매크로 만드는거좀 도와주세여 17 백곰e 2015.04.07 1/0
질문 gdip_imagesearch 사용하시는 분들 중에 tolerance 건... 12 매크로맨서 2015.10.08 1/0
질문 FTP 실시간 파일다운로드 질문 5 _Crash 2015.04.20 1/0
질문 세나 매크로 만드는중인데요 6 똬똬 2015.05.09 1/0
자유 폰으로원격제어 하시는분! 14 벚꽃날리는날 2015.05.19 1/0
정보 레이븐 블루스택용 소스 오픈 9탄 - 마지막 추천X 9 T7GG 2015.10.12 1/0
정보 랜덤알파벳출력 1 _Crash 2015.05.11 1/0
질문 winhttp.send() 이 문구가 너무 오래걸립니다. 3 _Crash 2015.05.28 1/0
질문 RegExMatch 에 변수 지정이 가능할까요? 2 영웅거북 2015.05.29 1/0
자유 몬길 블루스택매크로 3 som 2015.06.03 1/0
질문 리스트뷰 한가지만 도와주실분 4 뎅뎅 2015.06.11 1/0
질문 버튼눌러진 상태에서 PixelGetColor가능하게할 수 있을... 2 서시 2015.06.16 1/0
질문 오토핫키 속도 질문입니다. 4 김또깡뮤 2019.08.17 1/0
정보 탭타이탄 연타 매크로 입니다. (초보만) 2 피겨맨 2015.07.01 1/0
자유 해외 오픈 소스를 기반으로 한 fps 오토 에임 소스 입... 16 요롬 2017.02.13 1/0
질문 오토핫 질문입니다 6 알렉트론 2015.07.06 1/0
자유 요즘 오토핫키 공부중입니다 36 고파사탕 2015.08.17 1/0
정보 레이븐 블루스택용 소스6탄 - 필요하신분쓰세요 추천X T7GG 2015.09.13 1/0
질문 이미지 서치에 대해서 궁금한 것이 있습니다 7 zzxxll 2015.09.21 1/0
Board Pagination Prev 1 ... 197198199200201202203204205 ... 209 Next
/ 209

전체 최신 인기글

전체 주간 인기글