매크로

조회 수 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
분류 제목 글쓴이 최근변경 추천
질문 스크립트조언부탁드립니다 5 하하이거다 2022.12.14 0/0
질문 밑에 not(!)을 보고 올리는 급 궁금 질문.. 2 마토깽 2022.12.14 0/0
자유 lsearch 적용방법 아시분 계세요? 5 바유무 2022.12.14 0/0
질문 방향키 명령어가 궁금합니다 1 쉬르릴 2022.12.14 0/0
질문 !(느낌표) 가 주는게 무엇을 뜻하나요? 7 디스트로이어 2022.12.14 0/0
질문 클립보드에 저장된 이미지를 부분만 잘라서 저장하고 ... 3 은응 2022.12.14 0/0
질문 pixelsearch 이미지서치 둘다 좌표 검색이요 3 바유무 2022.12.14 0/0
질문 아무것도 모르는 초보인데요 ㅠ.ㅠ 삼성 싱크사이드 ... 1 김프로 2022.12.14 0/0
질문 많이 배우고 있습니다. 질문있습니다. 7 마토깽 2022.12.14 0/0
질문 오토핫키 처음 배울때 질문 3 colt 2022.12.14 0/0
질문 고쳐야 할 부분이 있는지 봐주실 수 있을까요? 6 마토깽 2022.12.14 0/0
자유 [클래시오브클랜] 자작오토핫키로 오토파밍하는 영상 7 ddart 2022.12.14 0/0
질문 세나 30렙 확인 ..아이디어좀 주세요^^ 5 사과좋아 2022.12.14 0/0
질문 이상하게 오토핫키 딜레이가 생겨서 질문드립니다~ 2 페르니코 2022.12.14 0/0
질문 오핫으로.. 문자빼기 가능한가요? 13 제발등업좀2 2022.12.14 0/0
질문 지니모션으로 한게임 여러개 오토핫키로 돌리고싶은데 ... 3 허밍의지 2022.12.14 0/0
질문 이미지써치를 한후에 써칭한 곳에 마우스클릭하는 질문... 2 짱용호짱짱 2022.12.14 0/0
질문 문자 정렬 2 제발등업좀2 2022.12.14 0/0
질문 오토핫키 이미지 서치 질문하려구 합니다~ 2 서영욱 2015.10.22 0/0
질문 오토핫키 스크립트문제좀 알려주세요. 6 흑콘 2015.07.16 0/0
Board Pagination Prev 1 ... 158159160161162163164165166 ... 209 Next
/ 209

전체 최신 인기글

전체 주간 인기글