안녕하세요.
세나용으로?만들어서 쓰는 매크로 가(시작:) 가끔씩 멈추는 현상이 있습니다.
명령어는 아래에 써놨는데 (테일스타에서 많은 도움을 얻었습니다), sleep 을 조금 넉넉히 줘볼까요? 가끔씩 명령어가 씹힐때 sleep 시간을 충분히 주면 개선이 되긴했는데, 고수분들께서 보시기에는 어떠신가요?
?
호출:
남은대기시간 --
GuiControl,, 남은대기시간, %남은대기시간%초후 다시 시작합니다.
return
?
마을귀환:
Loop
{
??? global ActiveID
??? PostMessage, 0x100, 0x1B,,, %ActiveID%
??? PostMessage, 0x101, 0x1B,,, %ActiveID%
??? Sleep,1000
??? If imageSearcher(x,y,"starthunt.png") = 1
??? {
??????? break
??? }
??? sleep,1000
}
return
?
?
시작:
Gui, submit, nohide
GuiControl,Hide,시작
GuiControl,Hide,설정저장
GuiControl,Show,재가동
Loop
{
??? sleep,1000
??? if (Edit모험 = "O")
??? {
??????? imageSearchClick("플스.png")
??????? sleep,1000
??????? if (Edit플스1 = "1")
??????? {
??????????? sendclick2(455,105)
??????????? sleep,500
??????????? gosub,마을귀환
??????? }
??????? if (Edit플스1 = "2")
??????? {
??????????? sendclick2(505,105)
??????????? sleep,500
??????????? gosub,마을귀환
??????? }
??????? if (Edit플스1 = "3")
??????? {
??????????? sendclick2(555,105)
??????????? sleep,500
??????????? gosub,마을귀환
??????? }
??????? sleep,1000
??????? Gosub,모험
??? }
??? sleep,1000
??? if (Edit결투 = "O")
??? {
??????? imageSearchClick("플스.png")
??????? sleep,1000
??????? if (Edit플스2 = "1")
??????? {
??????????? sendclick2(455,105)
??????????? sleep,500
??????????? gosub,마을귀환
??????? }
??????? if (Edit플스2 = "2")
??????? {
??????????? sendclick2(505,105)
??????????? sleep,500
??????????? gosub,마을귀환
??????? }
??????? if (Edit플스2 = "3")
??????? {
??????????? sendclick2(555,105)
??????????? sleep,500
??????????? gosub,마을귀환
??????? }
??????? sleep,1000
??????? Gosub,결투장
??? }
??? sleep,1000
??? if (Edit황금 = "O")
??? {
??????? imageSearchClick("플스.png")
??????? sleep,1000
??????? if (Edit플스3 = "1")
??????? {
??????????? sendclick2(455,105)
??????????? sleep,500
??????????? gosub,마을귀환
??????? }
??????? if (Edit플스3 = "2")
??????? {
??????????? sendclick2(505,105)
??????????? sleep,500
??????????? gosub,마을귀환
??????? }
??????? if (Edit플스3 = "3")
??????? {
??????????? sendclick2(555,105)
??????????? sleep,500
??????????? gosub,마을귀환
??????? }
??????? sleep,1000
??????? Gosub,황금의방
??? }
??? Gui, submit, nohide??
??? sleep,1000
??? 남은대기시간:=Edit대기시간*60
??? WaitKey:=Edit대기시간*60000
??? settimer,호출,1000
??? sleep,%WaitKey%
??? settimer,호출,off????????? <- 멈출때보면 settimer 는 제대로 작동해서 남은시간은 없는 상태입니다.
}
return
??????? imageSearchClick("플스.png")
??????? ;위의 함수가 성공하지 못했을 경우에도 그 아래 과정이 수행됩니다.
??????? ;따라서 imageSearchClick함수에서
??????? ;이미지서치에 따른 errorlevel=0,1에 따른 리턴값을 받을 필요가 있습니다.
??????? ;if imageSearchClick("플스.png")=성공리턴값
??????? ;{
??????? ;}
??????? ;저 괄호안해 이미지서치후의 과정을 넣는거죠.
???????? 그런데 의도상 이미지서치가 반드시 성공해야하는 것으로 보이므로
???????? imageSearchClick함수 속에서 Loop문을 이용해서 서치할 때까지 달려야할 듯 하네요.
???????? 그렇게 하면 sleep는 신경쓸 이유가 없어집니다.