매크로

조회 수 216 추천 0 댓글 6
▼ 어제 소스만 고치고 테스트는 너무 피곤해서 안해봤는데(집에 가면 해보려구요.)
혹시 고쳐야 곳이 있는지요?


Menu, Tray, Icon, Image\\Icon.ico
Gui, Add, GroupBox, x22 y19 w260 h270 , 동작
Gui, Add, Button, x42 y49 w110 h30 gRunApp, 게임실행
Gui, Add, Button, x42 y89 w110 h30 gStart, 경속시작
Gui, Add, Button, x42 y129 w110 h30 gOneShot, 한방기부
Gui, Add, Button, x42 y169 w50 h30 gGold, 원보
Gui, Add, Button, x102 y169 w50 h30 gCoin, 은화
Gui, Add, Button, x42 y209 w110 h30 gStop, 정지
Gui, Add, Text, x172 y39 w80 h20 +Center, [ 핫키 목록 ]
Gui, Add, Text, x162 y59 w100 h20 , F9 :  좌클릭 연타
Gui, Add, Text, x162 y79 w100 h20 , F10 :  동작정지
Gui, Add, Text, x162 y99 w100 h20 , F12 :  화면 넘기기
Gui, Add, Picture, x192 y119 w80 h160 , Image\\Icon2.png
Gui, Add, Text, x42 y259 w160 h20 , 문의 : m****@naver.com

; Generated using SmartGUI Creator 4.0
Gui, Show, x215 y645 h323 w315, HellSam v1.0
Return

GuiClose:
ExitApp
;-----------------------------------------------------------------------;



;------------------------------------------ Mouse Click
ClickHere(x, y) ; Sleep(1초) 클릭함수
sleep, 100
SysGet, wCaption, 4
SysGet, wFrame, 7

lX := x
lY := y
x := x  - wFrame
y := y - wCaption - wFrame
Coor := x | y<<16

WinGet, ActiveID, ID, BlueStacks App Player
if not getkeystate("Ctrl" , "p")
{
PostMessage, 0x201, 1, %Coor%,, ahk_id %ActiveID% ; 마우스 왼쪽 버튼 다운, 좌표 Coor
PostMessage, 0x202, 0, %Coor%,, ahk_id %ActiveID% ; 마우스 왼쪽 버튼 업, 좌표 Coor
sleep, 1000
}
}


ClickHere2(x, y) ; Not Sleep 클릭함수
sleep, 100
SysGet, wCaption, 4
SysGet, wFrame, 7
lX := x
lY := y
x := x  - wFrame
y := y - wCaption - wFrame
Coor := x | y<<16

WinGet, ActiveID, ID, BlueStacks App Player
if not getkeystate("Ctrl" , "p")
{
PostMessage, 0x201, 0, %Coor%,, ahk_id %ActiveID%
PostMessage, 0x202, 0, %Coor%,, ahk_id %ActiveID%
}


;-------------------------------------------- Image 함수
Bmp1(ByRef clickX, ByRef clickY, ImageName) ; @@색상오차57 이미지함수
{
CoordMode, Pixel, Screen
RealWinSize(posX, posY, width, height, "BlueStacks App Player")

appWidth := posX + width
appHeight := posY + height
ImageSearch, vX, vY, posX, posY, appWidth, appHeight, *57 %ImageName%
IfNotExist, %ImageName%
{
return false
}

  if (ErrorLevel = 0)
  {
    clickX := vX - posX
    clickY := vY-  posY
    return true
  }

  if (ErrorLevel = 1)
  {
    clickX := 0
    clickY := 0
    return false
  }
}


BmpArea(ByRef clickX, ByRef clickY, ImageName, sX, sY, eX, eY) ; @@색상오차80 이미지 영역 함수
{
CoordMode, Pixel, Screen
RealWinSize(posX, posY, width, height, "BlueStacks App Player")

sX := sX + posX
sY := sY + posY

eX := eX + posX
eY := eY + posY
ImageSearch, vX, vY, sX, sY, eX, eY, *80 %ImageName%
IfNotExist, %ImageName%
{
return false
}
if (ErrorLevel = 0)
  {
    clickX := vX - posX
    clickY := vY-  posY
    return true
  }

  if (ErrorLevel = 1)
  {
    clickX := 0
    clickY := 0
    return false
  }
}


BmpTransBlack(ByRef clickX, ByRef clickY, ImageName) ; @@색상오차55 TransBlack이미지함수
{
CoordMode, Pixel, Screen
RealWinSize(posX, posY, width, height, "BlueStacks App Player")

appWidth := posX + width
appHeight := posY + height
ImageSearch, vX, vY, posX, posY, appWidth, appHeight, *55 %ImageName%
IfNotExist, %ImageName%
{
return false
}

  if (ErrorLevel = 0)
  {
    clickX := vX - posX
    clickY := vY-  posY
    return true
  }

  if (ErrorLevel = 1)
  {
    clickX := 0
    clickY := 0
    return false
  }
}



;----------------------------------------- 기타 함수
RealWinSize(ByRef posX, ByRef posY, ByRef width , ByRef height, ProcessID)
{
WinGetPos, X, Y, W, H, %ProcessID%
SysGet, wFrame, 7
SysGet, wCaption, 4
posX := X 
posY := Y
width := W - wFrame * 2
height := H - wFrame * 2 - wCaption
return
}




;------------------------------- Gui Button 

RunApp: ; 게임실행 Button
run, "C:\Program Files (x86)\BlueStacks\HD-RunApp.exe" -p war.god.kingdom -a com.zhancheng.android.hjsg.HJSG ?HD-RunApp.exe ;게임실행
return


Start:
Loop
{
if(Bmp1(clickX, clickY, "Image\Main\End2.bmp")) ; 여포 클리어 완료
{
break
}
if(Bmp1(clickX, clickY, "Image\Main\End.bmp")) ; 여포 클리어 완료
{
break
}
if(Bmp1(clickX, clickY, "Image\Stage\ClearG.bmp")) ; 관문클리어
{
Click(322, 270)
Sleep, 2500
SelectGroup()
}
; 화살표 이미지 클릭
if(Bmp1(clickX, clickY, "Image\Hero\A1.bmp"))
{
Click(clickX, clickY)
}
if(Bmp1(clickX, clickY, "Image\Main\Waiting.bmp"))
{
AttackMonster()
}
if(Bmp1(clickX, clickY, "Image\Main\Attack.bmp"))
{
Click(clickX, clickY)
Sleep, 2500
}
if(Bmp1(clickX, clickY, "Image\Main\Next.bmp"))
{
Click(clickX, clickY)
}
}
return


SelectWorld()
{
Loop, 2
{
; 세계지도 이미지
if(Bmp1(clickX, clickY, "Image\Stage\W" A_Index ".bmp")=true) 
{
Click(clickX, clickY)
}
}
}
return


SelectGroup()
{
Loop, 2
{
if(Bmp1(clickX, clickY, "Image\Stage\G" A_Index ".bmp")=true) 
{
Click(clickX, clickY)
}
}
}
return


AttackMonster()
{
Loop, 2
{
if(BmpTransBlack(clickX, clickY, "Image\Hero\TransM" A_Index ".bmp")=true)
{
Click(clickX, clickY)
}
}
}
return

  • 제발등업좀2 2015.07.16 11:34
    if(Bmp1(clickX, clickY, "Image\Main\End2.bmp")) ; 여포 클리어 완료
    {
    break
    }

    요부분?? 잘되시는지요?
    if 문이붙으면 먼가 뭐라해야하나 .. 대조문 같은게 있어야 할것같은데
    if(Bmp1(clickX, clickY, "Image\Main\End2.bmp")=true) 
    이것처럼 해야 할듯한데요..
    해석하면  만약에 이미지서치를 했는데 리턴값이 참 이면 . 하위 명령을 실행하라...
    이렇게 되겠네요;; 개인적인 생각이였습니다 ^^ 참고하시길 ..
  • a_sec 2015.07.16 12:42

    bmp1 함수보면 리턴값이 ture false로 돌아 오죠

  • 리체 2015.07.16 13:34

    별도로 정의하지 않은 이상 true는 항상 1값을 가지고 false는 0값을 가집니다.
    if (bbb)
    이렇게 if문을 주었을때, 비교할 대상이 없으므로 단지 변수만을 따집니다.

    bbb에 어떤 값이 들어있다면 참, 없거나 0 이면 거짓이 됩니다.

  • 제발등업좀2 2015.07.16 13:42
    그렇군요.. 참과거짓은.. 컴오브젝 으로 엑셀.. 제어할때 써보고 안써봐서 ..몰라는대.. 기본적으로 0과 1 의값을 가지고있는군요... 또좋은거 배워가네요
  • 마토깽 2015.07.16 22:24
    모바게님, 등업님, 리체님, a_sec님 덕분에 현재 진행하고 있는 소스가
    엄청 가벼워 졌고 수월하게 작업하고 있습니다.
    감사합니다.
  • 모바게 2015.07.16 13:59
    if문에서 따로 대조문이 없으면 기본적으로 false 혹은 0 이 아니면 보통 참으로 해석합니다.
    함수를 사용해 true/false 가 확실한 경우 외에, 가능하면 비교문으로 작성하는 습관이 들면 좋겠죠^^

List of Articles
분류 제목 글쓴이 최근변경 추천
질문 혹시 리니지m 지금 되나요? melce1 2019.04.17 0/0
자유 프로그램 만들어봅니다~리세 , 오토 , 매크로 등 1 dark 2019.08.30 0/0
질문 이미지서치부분 문제점을 알고싶습니다. 맴맴맴 2019.04.21 0/0
자유 메이플 ngs 우회 10 aksdhd 2020.02.26 0/0
질문 메이플 장사나 사냥 큐브 스크립트 aksdhd 2019.04.23 0/0
질문 크롬 제어 질문 드립니다. 1 더러럭배 2019.05.02 0/0
질문 게임에서 이미지서치 2 aksdhd 2019.05.31 0/0
자유 앱플레이어 매크로만드는거 알려주실분... 1 Ruize 2019.04.29 0/0
자유 메이플 룬 위치 찾아가는 스크립트 구합니다 헤아림 2019.05.01 0/0
질문 광부 관심 가지던 매린이 질문입니다! 1 니리루 2019.05.12 0/0
질문 메이플 ngs관련 1 탱탱한푸키 2019.05.06 0/0
질문 처음으로 매크로 만들어보려 하는데 질문입니다! 3 니리루 2019.05.22 0/0
자유 메이플 지존오토말고 ngs만 우회해도 되나요? 1 니리루 2019.05.13 0/0
질문 메이플 스크립트 연습해볼만한 게임없나요 3 민짱 2019.05.22 0/0
질문 메이플 사냥, 서버변경 스크립트 오류 확인 좀... 용용 2019.05.13 0/0
자유 메이플 거탐 관련 민짱 2019.05.13 0/0
질문 비활성 클릭 질문드립니다. 더러럭배 2019.05.14 0/0
질문 프로세서이름이 같을때 각각의 pid값 질문 2 광대승천 2019.06.28 0/0
질문 이미지 서치와 비활성 클릭 질문입니다 1 오핫이 2019.05.31 0/0
질문 매크로랑 마우스녹화기능이랑 다른원리인가요 ? 2 응안사 2019.05.23 0/0
Board Pagination Prev 1 ... 158159160161162163164165166 ... 209 Next
/ 209

전체 최신 인기글

전체 주간 인기글