- Elkha - Blue
- 오토핫키 커뮤니티
- 오토핫키
이미지서치시 못찾았을때 goto가 안먹힐까요?ㅜㅠ
-
-
네, 근데 이미지를 못찾았는데
스테이지찾기:
로 가는게아니고
전투:
이곳으로 가는거 같아서요.ㅠㅠ
이걸 모르겠네요.ㅠ
이미지가 너무 작아서 그런가요??
그리고
GuiControl,, A,영혼검검색 이건
구이에 어디까지 작동되는지 알기위해서 글씨로 보이게 하려고
Gui, Add, Text, x5 y5 w215 h28 +Center cred vA, f5 시작
Gui, Show, w200 h200
return
GuiClose:
ExitApp
구이를 이렇게 만든후
현재 작동되는 위치를 텍스트로 나오게 하기위해서 넣은 구문입니다. -
이분 참 답답하시네
ImageSearch, ax, ay, 1, 1, A_ScreenWidth, A_ScreenHeight, *50 영검.png
;;이순간 에러레벨은 1이죠
GuiControl,, A,영혼검검색
;;이때 Guicotrol이 성공했으니 에러레벨이 0이 된다고요
sleep, 1000
if (errorlevel=1){ ;;그럼 여기가 false가 나올거고
goto, 스테이지선택
}
else{ ;;여기로 진입하겠죠.
goto, 전투
} -
Guicontrol의 위치를 이미지서치위로 바꿔주면 되는건가요??
제가 너무 초보라서
에러레벨이 이미지서치에만 해당하는줄 알았네요ㅠ
구이컨트롤이 성공했으니 에러레벨이 0이되는걸 몰랐습니다.
하나배웠네요
그럼 궁금한거 하나만 더 여쭙겠습니다.
구이컨트롤의 위치는 이미지서치윗줄에다가 넣는게
좋은거죠? -
좋고 나쁘고라고 표현하기는 애매합니다만
에러레벨은 명령어의 성공과 실패를 의미하기에 이미지서치 이외의 명령어에서도 작동합니다.
구이컨트롤을 이미지서치 위로 넣으시면 오류는 해결되실것같습니다. -
네. 감사합니다.
실험해봤습니다.
또 하나 깨우치고가네요
항상 많이 배우네요 -
이미지 서치 잘되신가요? 차라리 함수로 만드시지;;
event(img_X,img_Y,img)
{
global ActiveID
WinGetPos, winX, winY, winW, winH, %ActiveID%
num=1
img1=%img%
startTime:=A_TickCount
loop
{
??? if (A_TickCount-startTime>2000)
??? {
??????? ;tooltip,MISS,%winx%,%winy%
??????? return 0
??? }
??? ImageSearch, oX, oY, winX, winY, winX+winW, winY+winH, *100 %A_ScriptDir%\JRimg\event\%img1%%num%.png??????? If ( ErrorLevel = 0)
??????????? {
??????????????? img_X:=oX
??????????????? img_Y:=oY
??????????????? ;sleep 800
??????????????? ;MsgBox,%img1%%img_X%/%img_Y%
??????????????? ;break
??????????????? return 1
??????????? }??????? if ( ErrorLevel = 2)
??????????? {
??????????????? num=1
??????????? }
??????????????? ;tooltip,IMGNUM:%num%,%winx%,%winy%
??????????????? num++
}
}예전에 모바게님 이 주신 이미지 서치 함수 이렇게 제나름대로 만들어서 쓰고있네요
아~생각해보니 오래전에 처음배울때;; 만드거네요 .. 어설프지만 그래도 일단 올려나 봅니다
-
헉. 초보자인 저에겐 이 함수는 너무 어렵게만 보이네요 아직은ㅠㅠ
엄청나게 초보라서요ㅠ -
전에도 말씀드혀지만 저도 초보라 ㅠㅠ조금만더 보시면 매우간단한걸아실꺼에요
-
사용법은;;
if (event(x,y,"A")=1)???????
??????? {
???????????? MsgBox,ggg
??????? }???간단하게 ; 2초동안 찾고 몾차으면 리턴 0? 찾으면 리턴 1
이미지 저장방식은 A1,A2,A3 이런식으로 저장해놓으면
2초동안 A1~A3까지 찾고 못차으면 다시 A1로 복귀해서 다시 A1~A3까지 찾고;
이런식으로해서 어설프지만 미지 찾게 만들어봤습니다.
?펑션으로 만드시는게 정말 편합니다 일일이 다쓸려면;; 힘들더라구요 ㅠㅠ
-
죄송한데 이 함수 퍼온곳의 주소좀 알수 있을까요??
공부해 보고싶네요.
설명자세히 읽어보니
무척 도움되는 함수인듯해서요 -
모바게님.. 이미지서치 모음.. 보고 제나름대로 만든곱니다 ㅋ...ㅋ 그래서 이함수관련해서는 없습니다. ㅋㅋ 다테일스타 나.. 타카페 여쭈어보고 해서 만들어서.. 혹 궁금하신거 있음 물어보시면 아는 한도내에서 알려드리겠습니다.
-
댓글 답변 내용들이 알차네요.
-
ㅋㅋ 오해 하신듯 참고는 하였으나.. ㅠㅠ 나름제가생각해서 만든 함수입니다. ㅋㅋ
-
이게 다 처음보는 구문이라서요ㅠ
다 물어봐야될거같아서 죄송해서 정리된게있으면 보고 공부 하려고요 -
저번에 비활성 하시지않으셨나요? 음.. 이건펑션입니다. 저 함수를 한번만 써넣고.. 사용법만.. 써서 펑션내 함수를 불러만오는겁니다..
예로
F4::
event(x.y.img)=1
{블라 블라.}
Sleep 400
Return
펑션함수...
요럴게 어떤부분이 어려우신지요..? -
비활성을 하기위한 준비단계중입니다ㅠㅠ
하루에 한두시간정도도 컴터를 못해서ㅠ
지금도 모바일로 테일스타만 하고있습니다
이제막 명령어 하나하나 익히고있습니다.
비활성도 떠돌아다니는 소스를 가지고 공부하느라 글을 썼던거구요...
답글이 한두개 달리면서 하나하나 배우고있습니다 -
goto문은 안쓰시는게 좋습니다..
전투:
GuiControl,, A,전투
ImageSearch, vx, vy, 1, 1, A_ScreenWidth, A_ScreenHeight, *50 전투.png
if errorlevel=0
{
mouseclick, left, %vx%, %vy%
sleep, 6000
gosub, 영혼검검색
}
else{
mouseclick, left, 176, 946
gosub 전투
}
return
;===== 스테이지선택에서 영혼검 유무확인 ============
영혼검검색: ?;스테이지에서 영혼검검색하기
GuiControl,, A,영혼검검
sleep 1000
ImageSearch, ax, ay, 1, 1, A_ScreenWidth, A_ScreenHeight, *50 영검.png
if errorlevel=1
{
gosub, 스테이지선택
}
else{
gosub, 전투
}
return
-
Goto 문과 gosub문의 차이가많은가요??
전 거의 같은줄 알고 goto로 사용했거든요ㅠ -
음.. 차이라긴보다는... 어떻게 쓰는냐의 차이 겠네요 ㅋㅋ
Goto라는건 일단 해당 테이블로 바로 가버리는 겁니다
Gosub 는 해당 테이블로 가되 return를 만나면 다시 복귀하라 이런뜻 으로 알고있습니다. -
예로..
A:
MsgBox. 1
Sleep 500
MsgBox. 2
Sleep 500
Goto.B
MsgBox. 3
Return
B:
MsgBox. 4
Return
요래하면.. 메세지 박스 3은 나오지않습니다. -
goto는 그냥 갔다가 돌아오지 않는거
gosub는 갔다가 할일 끝나면 돌아오는거
문제는 혼용해서 쓰다보면 gosub로 진입해서 그안에서 goto로 탈출하고 이런식으로 짜놓고
gosub인데 왜 안돌아오냐 이런말도 나오고 그걸 파악하지 못하고 버그잡는다고 고생하는경우도있고 그렇죠. -
감사합니다.
배우는거 하나하나 정리해둬야겠네요.
한두개 늘다보니 헷갈릴수 있어서 ㅎㅎ
하루에 한개이상배우는듯하네요
항상 감사합니다^^ -
goto와 gosub의 역할 자체가 다른데 그렇게 일괄적으로 교체해도 되는것은 아닌것 같습니다
goto를 쓰는곳엔 goto를 쓰고 gosub이 필요한곳에는 gosub을 쓰는것이지요
예시의 스크립트에서는 goto를 gosub으로 대체하였을 시 이점이 하나도 없는데 굳이 교체한 이유가 무엇일지 설명을 덧붙여주셔야 보시는분께서 하나라도 얻어가시지 않을까 생각합니다 ㅎㅎ -
만약 던전실행을 하고 특정이미지가 출현할때까지 스킬을 반복적으로 사용한다 하면
gosub을 이용하는게 더 나은가요? -
goto는 스크립트 종료나 해당라벨내에서만 점프할때(리턴전) 사용하시고,
그외에는 gosub이나 함수를 이용하세요. -
네^^ 답변감사합니다.
-
화이팅하세요
GuiControl,, A,영혼검검색
이부분에서 실패하면 errorlevel이 1로 바뀝니다.
마찬가지로 성공하면 0이 되는거죠