- Elkha - Blue
- 오토핫키 커뮤니티
- 오토핫키
오토핫키 돌리고 있는데 프레임이 너무 떨어져요 ㅠㅠ
-
-
스크립트 내용에 딱히 그런건 없어요 ㅠㅠ
저는 쿠키런을 하는데, 8가지 항목으로 이미지 서치
구동중이거든요. -
스크립트 돌리기전후 cpu랑 메모리 사용량은 어떤가요?
이미지서치를 짧은시간에 과도하게 수행해서 그럴수도 있을거같은데.. -
스크립트 돌리기 전 cpu 점유율 50퍼센트 정도,,
스크립트 돌리면 98%네요 ㅠㅠ
게임 시작 스크립트와 종료 사이에 쉬는 시간을 주는 스크립트를 만들수 있을까요?
전 단독으로 이미지서치 해서 마우스 클릭하는 스크립트를 8개정도로 연속으로 붙여 놓고 실행하고 돌리고 있어요. -
이미지서치 스크립트 8개 만들어서 동시수행중이시라는건가요?
그렇게 수행중이신거면 비효율적으로 만들어서 쓰시는거같네요.http://tailstar.net/autohotkey/384325 이분 작성 하시는거처럼
게임 진행 패턴에 맞게 순차적으로 이미지 서치 하는게 좀더 효율적이겠죠
-
loop,{
imagesearch, x960, y734, 0, 0, 1680, 1050, *50 C:\image\start2.png
if(ErrorLevel = 0)
{
mouseclick, left, 960, 734
sleep, 3000
Pause
}else{
break
}
}
loop,{
imagesearch, x614, y122, 0, 0, 1680, 1050, *50 C:\image\confirm.png
if(ErrorLevel = 0)
{
mouseclick, left, 790, 837
sleep, 3000
}else{
break
}
}
제가 하고 싶은 매크로는 첫번째 구문 매크로 시작시, 시작 후 매크로 일시정지.
두번째 구문 매크로 시작시 다시 매크로 일시정지 해제(매크로 다시 재생)
하는 스크팁트를 만들고 싶거든요.
스크립트를 시작하면 ?start2.png 이미지를 찾아서 클릭 후 게임이 시작.?
그리고 3초 후 pause 명령어 때문에 스크립트 일시 중지.
제가 궁금한건 두번째 스크립트에서 confirm.png 라는 이미지를 찾으면?
pause 명령어로 다시 스크립트를 구동시키는 방법을 알고 싶습니다.ㅠㅠ
두번째 구문?
loop,{
imagesearch, x614, y122, 0, 0, 1680, 1050, *50 C:\image\confirm.png
if(ErrorLevel = 0)
{
pause
mouseclick, left, 790, 837
sleep, 3000
}else{
break
}
}
두번째 구문에 이미지를 찾으면 pause ?명령어를 이용해서, 스크립트를 다시시작 하려고 만들어 봤는데,,,
오토핫키 정지는 가능한데, 두번째 구문 다시 시작이 안되네요..ㅠㅠ
도움 부탁드립니다!!
-
Pause로 멈춰두는 특별한 이유가 있나요?
-
F1::
Loop
{
Gosub, 1st
Gosub, 2nd
}
Return
1st:
loop,
{
imagesearch, x960, y734, 0, 0, 1680, 1050, *50 C:\image\start2.png
if(ErrorLevel = 0)
{
mouseclick, left, 960, 734
sleep, 3000
Break
}
else
{
}
}
Return
2nd:
loop,
{
imagesearch, x614, y122, 0, 0, 1680, 1050, *50 C:\image\confirm.png
if(ErrorLevel = 0)
{
mouseclick, left, 790, 837
sleep, 3000
Break
}
else
{
}
}
Return
이렇게하면 f1누르면
1st 실행 1st에서 0반환할때까지 돌고 0반환받으면 1st 종료후
2nd 실행 2nd에서 0반환할때까지 반복후 0 반환받으면 2nd 종료후 1st수행
이렇게 해서 사용하시면 되지 않나요? -
오 감사합니다!! 제가 명령어를 잘 몰라서 헤메고 있었어요 ㅠㅠ
오늘 한번 시도해보겠습니다!!! -
F1::
Loop
{
Gosub, 1st
Gosub, 2nd
}
Return
1st:
loop,
{
imagesearch, x960, y734, 0, 0, 1680, 1050, *50 C:\image\start2.png
if(ErrorLevel = 0)
{
mouseclick, left, 960, 734
sleep, 3000
Break
}
else
{
}
}
Return
2nd:
loop,
{
imagesearch, x614, y122, 0, 0, 1680, 1050, *50 C:\image\confirm.png
if(ErrorLevel = 0)
{
mouseclick, left, 790, 837
sleep, 3000
Break
}
else
{
}
}
Return여기에 기존
loop,{
imagesearch, x614, y122, 0, 0, 1680, 1050, *50 C:\image\confirm.png
if(ErrorLevel = 0)
{
mouseclick, left, 790, 837
sleep, 3000
}else{
break
}
}
이러한 구문을 계속 추가해서 붙여도?
이렇게하면 f1누르면
1st 실행 1st에서 0반환할때까지 돌고 0반환받으면 1st 종료후?
2nd 실행 2nd에서 0반환할때까지 반복후 0 반환받으면 2nd 종료후 1st수행이게 수행이 가능한지 궁금합니다!!
일단 오늘 저녁에 한번 도전해볼께요!! ㅎㅎ 감사합니다!!!
-
8개 돌리신다는거 다 붙여서 수행 가능하냐는 말이신가요?
그런거면 가능합니다
1st 2nd 처럼 특정이름 붙여주고
Gosub로 아동하는곳 아래 추가로 작성해주시면 되요 -
F12::
Pause
F10::
loop 100000000
{
loop,{
imagesearch, x1185, y834, 0, 0, 1680, 1050, *50 C:\image\start.png
if(ErrorLevel = 0)
{
mouseclick, left, 1185, 834
sleep, 3000
}else{
break
}
}
Loop
{
Gosub, 1st
Gosub, 2nd
}
Return
1st:
loop,{
imagesearch, x960, y734, 0, 0, 1680, 1050, *50 C:\image\start2.png
if(ErrorLevel = 0)
{
mouseclick, left, 960, 734
sleep, 3000
}else{
}
}
Return
2nd:
loop,{
imagesearch, x614, y122, 0, 0, 1680, 1050, *50 C:\image\confirm.png
if(ErrorLevel = 0)
{
mouseclick, left, 790, 837
sleep, 3000
}else{
}
}
Return
loop,{
imagesearch, x864, y826, 0, 0, 1680, 1050, *50 C:\image\box_open.png
if(ErrorLevel = 0)
{
mousemove, 864, 826
sleep, 3000
mouseclick, left
mousemove, 845, 826
sleep, 3000
mouseclick, left
}else{
break
}
}
loop,{
imagesearch, x786, y586, 0, 0, 1680, 1050, *50 C:\image\present.png
if(ErrorLevel = 0)
{
mousemove, 786, 586
sleep, 3000
mouseclick, left
}else{
break
}
}
loop,{
imagesearch, x770, y355, 0, 0, 1680, 1050, *50 C:\image\before.png
if(ErrorLevel = 0)
{
mousemove, 845, 600
sleep, 3000
mouseclick, left
}else{
break
}
}
loop,{
imagesearch, x852, y268, 0, 0, 1680, 1050, *50 C:\image\crystal.png
if(ErrorLevel = 0)
{
mousemove, 860, 600
sleep, 3000
mouseclick, left
mousemove, 800, 732
sleep, 3000
mouseclick, left
}else{
break
}
}
loop,{
imagesearch, x390, y190, 0, 0, 1680, 1050, *50 C:\image\restart.png
if(ErrorLevel = 0)
{
mousemove, 390, 190
sleep, 3000
mouseclick, left
}else{
break
}
}
}
------------------------------------------------------------------------------------
가르쳐 주신 명령어를 적용해봤는데요 ㅜㅜ
첫번째, 두번째, 세번째 스크립트 구문이 게임 시작과 관련된 부분이구요.
나머지 부분들은 돌발상황에 대비하는 구문들입니다.
글씨 진한 부분이 숨어야산다님이 수정해주신 구문들이구요.
게임 시작은 되는데 (가르쳐주신 첫번째 진한색 부분은 구동이 가능),
게임 끝나고 확인하는 부분이 작동이 안되요.(진한색 부분 2번째 구문,, gosub 2nd가 작동이 안되는듯함 ㅠㅠ)
이유가 뭘까요?ㅠㅠ -
Loop 문에서 break를 왜 쓰고 어떤때 쓰는지 이해를 못하신거같네요
그걸 먼지 이해 하시고 작성하셔야 될거같네요
오토핫키 스크립트 내용에 문제가 있어서 과부하를 일으킨다거난 하는건 아닌가요?