매크로

조회 수 811 추천 0 댓글 6


#NoEnv?

#SingleInstance, force

sendmode input

SetWorkingDir %A_ScriptDir%

SetBatchLines,-1

ListLines, Off

ActiveID := "FIFA ONLINE3 - Developed by SPEARHEAD"

; ================================ 본문시작 =========================================



[:: ;start



if(checkimage("buy.bmp")=1)
{

clickposition(imgx,imgy)
}

else

{

msgbox, 이미지 못찾음

}

return




]::pause

\::reload



; ================================ 함수시작 =========================================

; 이미지 서치

; 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
}

; 비활성 좌표 클릭

; 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
}

; 비활성 마우스 드래그

; (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
}








이렇게 썻는데 이미지를 찾는건 확인하였지만 클릭이 안됩니다 ㅠㅠ 이유가 뭘까요

프로그램 자체내에서 비활성함수를 막은건가요 ?


  • profile
    외치기 2015.07.31 09:23

    보통은 게임가드가 영향이 크죠

  • 리사야 2015.07.31 09:28
    해보니 단순 마우스클릭은 되는거같은데 그럼 비활성을 포기하는게 좋을까요 ㅠㅠ? 소스상에서 잘못된점은 없나요 ?
  • 리사야 2015.07.31 10:06
    아니면 외부 라이브러리 dll을 사용하는건 어떤가요
  • profile
    외치기 2015.07.31 10:47
    그부분까지는 제가 잘 몰라서
    도움을 드리지못할거같네요.
  • KAZUYA 2015.08.02 18:32
    비활성 스킵때문에 많이 해봤는데 게임가드때문에 안되는걸로 알고있어요
  • jdbd12 2015.07.31 19:17
    죄송하지만 이런거 적용하는 방법좀 알수 있을까요

List of Articles
분류 제목 글쓴이 최근변경 추천
질문 다른 오토핫키 프로그램 제어 3 스피릿치 2015.08.25 0/0
자유 세나 매크로 소스같은데 맞나요? 8 7auto 2015.08.11 0/0
질문 오토핫키처녀작..역시나 안되네욤 ㅠ_ㅠ 4 뚜르따르또르 2015.08.06 0/0
질문 외치기님 글좀 봐주세요ㅠㅠ 5 오핫정보공유 2015.08.07 0/0
질문 여러분 정말 도움이 절실합니다. 1 오핫정보공유 2015.08.06 0/0
질문 버튼으로 어떻게 다른 구이를 띄울수 있을까요??ㅠㅠ 7 zzxxll 2015.08.07 0/0
질문 소스 자동 정렬 할수 있나요? 고파사탕 2015.08.05 0/0
질문 WinActive 메소드 on / off 스크립트좀 도와주세요 6 colt 2015.08.05 0/0
질문 엔젤스톤의 스테이지 선택을 매크로로 제작할 때. 8 시나브로 2015.08.06 0/0
질문 마우스좌표의 범위를 한자리로 치환하려면? 4 아마미 2015.08.03 0/0
질문 레이븐 가방정리 방법에대한 문의 4 스피릿치 2015.08.06 0/0
자유 효율적인 쫄작교체방법이 없을까요? 3 세나블텍 2015.08.06 0/0
질문 오토핫키 입문자의 비활성창 이미지서치 질문드립니다. 4 푸린느 2015.08.08 0/0
질문 레이븐 가방 비활성 클릭 안되는문제 5 스피릿치 2015.09.08 0/0
질문 버튼 클릭시 Gui 크기 변환 4 아잉뿌잉 2015.08.06 0/0
질문 gui버튼 눌렀을 때 새로운gui창 뜨게할려면 어떻게해야... 2 키다리원석 2015.08.04 0/0
자유 VMProtect도 더이상 안전하지 않네요. 3 외치기 2019.08.05 0/0
질문 피파3 비활성 이미지클릭 관련 질문 6 리사야 2015.08.02 0/0
질문 변수랑 루프 관련 질문..! 2 별있 2015.07.31 0/0
자유 오토핫키 공부하는데... 31 고파사탕 2015.08.16 0/0
Board Pagination Prev 1 ... 151152153154155156157158159 ... 209 Next
/ 209

전체 최신 인기글

전체 주간 인기글