매크로

조회 수 153 추천 0 댓글 1

랜덤으로 클릭하게 만들었는데

중복으로 같은곳을 클릭하는 경우가 있어서 클릭 했던 좌표는 제외하고 

다른곳을 클릭하게 만들려고 하는데 도움 부탁 드립니다


한번에 연속으로 랜덤하게 좌표를 계속 클릭 하는게 아니고  

한번 클릭후 나갔다가 다른 작업후 다시 왔을때 중복이 안되게 할려고 합니다 


무한 반복 작업이라서 랜덤으로 모든 좌표를 클릭했을 경우에는

가능 하다면 초기화 되어 다시 시작


형님들의 도움이 절실히 필요 합니다  




Chrome:

{

startTime:=A_TickCount         

loop,{

if (A_TickCount-startTime>50000)

{

goto,Start

}

ImageSearch, Chrome8X, Chrome8Y, 60, 230, 110, 320, *100 images\Chrome8.bmp

if errorlevel = 0

{

Random,xr, 1, 100

Random,yr, 1, 20

Random,Rw,50,150

Chrome8X:= Chrome8X+xr

Chrome8Y:= Chrome8Y+yr

Mousemove,%Chrome8X%, %Chrome8Y%

Send,{LButton Down}

Sleep,%Rw%

Send,{LButton Up}

Sleep,1000

break

}

}

}

return


  • 함카리스마 2024.07.07 20:19
    #Persistent ; 예상치못한 상황에서 스크립트가 오류를 터트리지 않는이상 스크립트가 종료되지 않고 계속 실행되도록 설정하기
    #SingleInstance, Force ; 스크립트의 중복실행 방지

    CoordMode, Mouse, Screen ; 화면 전체 영역을 마우스 좌표 기준으로 설정
    global clickedCoords := [] ; 클릭한 좌표를 저장할 배열을 초기화시킴

    Chrome:
    {
        startTime := A_TickCount ;; 시작 시간을 현재 시간으로 설정
        loop,
        {
            if (A_TickCount - startTime > 50000) ; 50초 이상 경과했다면, Start 레이블로 이동
            {
                goto, Start ;Start 레이블로 이동하시오
            }

            ImageSearch, Chrome8X, Chrome8Y, 60, 230, 110, 320, *100 images\Chrome8.bmp ;이미지 찾기해서
            if (ErrorLevel = 0) ; 성공했으면,
            {
                attemptCounter := 0 ; 무한루프 방지 카운터 (클릭 하지않은 좌표를 찾기위한 시도횟수를 제한합)

                loop ;클릭 좌표 중복 방지:를 위해, 무한루프를 통해 새로운 랜덤좌표를 생성함
                {
                    if (attemptCounter > 100) ; 100회 이상 시도시 clickedCoords 배열을 초기화 합니다.
                    {
                        clickedCoords := [] ; 클릭한좌표 초기화
                        break ;루프탈출
                    }

                    Random, xr, 1, 100 ; x좌표에 대한 랜덤값 생성
                    Random, yr, 1, 20 ; y좌표에 대한 랜덤값 생성
                    Random, Rw, 50, 150 ; 클릭후 대기시간에 대한 랜덤값 생성

                    newX := Chrome8X + xr ; 새로운 x좌표 계산
                    newY := Chrome8Y + yr ; 새로운 y좌표 계산

                    if !IsCoordClicked(newX, newY) ; 주어진 좌표가 클릭된 좌표인지 확인해서 배열에 클릭된 좌표가 존재하면 true를 반환하고, 존재하지 않으면 false를 반환
                    {
                        clickedCoords.Push({x: newX, y: newY}) ;클릭되지 않은좌표를 찾으면 clickedCoords 배열에추가 해준다음,
                        MouseMove, %newX%, %newY% ; 해당좌표로 마우스를 이동하여, 마우스 왼쪽버튼을 클릭합니다.
                        Send, {LButton Down} ;눌렀다
                        Sleep, %Rw%
                        Send, {LButton Up} ;떼기
                        Sleep, 1000
                        break
                    }

                    attemptCounter++ ; 시도횟수 증가
                }
                break ;루프 탈출
            }
        }
    }
    return

    IsCoordClicked(x, y) ;x와 y좌표가 클릭된 좌표목록에 있는지확인 해주는함수
    {
        global clickedCoords ; clickedCoords 전역변수 사용을 선언
        for index, coord in clickedCoords ; clickedCoords 배열의 각 요소를 순회
        {
            if (coord.x = x && coord.y = y) ; 현재 좌표가 입력된 x랑y가 일치하는지 확인하고
            {
                return true ; 일치하는 좌표를 찾으면, 호출한곳으로 true를 반환(좌표를 클릭한적이 있다는 뜻)해서, 함수실행을 즉시 종료하고 호출한 곳으로 true값을 반환합니다.
            }
        }
        return false ; 일치하는 좌표를 못찾으면 false 반환(좌표를 클릭한적이 없다는 뜻), false도 마찬가지로 호출한 곳으로 false값을 반환합니다.
    }

    Start: ;이 레이블에서 스크립트를 초기화하고, 필요한경우 다른작업을 수행한후 다시 시작합니다.
    {
        ; 초기화 또는 다른작업 후 다시 시작할때 사용
        clickedCoords := [] ; 클릭한 좌표 초기화
        ; 원하는 다른작업 추가
    }
    return


    ;주어진 시간내에 지정된 이미지 영역에서 랜덤좌표를 클릭하고, 이전에 클릭한 좌표를 저장해서 중복클릭을 방지하여, 모든좌표가 클릭되면 초기화로 다시 시작하기

List of Articles
분류 제목 글쓴이 최근변경 추천
질문 !(느낌표) 가 주는게 무엇을 뜻하나요? 7 디스트로이어 2022.12.14 0/0
질문 #IfWinActive 사용할 경우 Hotkey를 on/off 하는 방법... 2 Rabbit 2016.08.17 0/0
질문 #Include file "Gdip.ahk" 이거 어떻게 해결하나여? 11 으으아으아 2016.09.18 0/0
자유 #던파#한국에서 대리육성합니다 한국육성팀 2019.04.04 0/0
질문 %A_ScriptDir%로 쓰려면 이미지 어디에 넣어야되나요? 4 작은이득 2019.05.02 0/0
질문 (GUI) edit에 입력받은 변수로 대기시간을 설정하는 스... 6 잠튕이 2015.07.02 0/0
질문 (imagesearch 관련 질문) 고수님들의 답변을 기다리고 ... 믕이 2019.01.07 0/0
질문 (LD앱) settiemr 만 넣으면 비활성이미지 서치 못하네요. 2 현장요원 2020.04.24 0/0
질문 (간단한?)매크로하나 만들고픈데 제작의뢰가능한가요? 2 더기더기1 2018.11.21 0/0
자유 (개초보) 이번에는 함수를 이용해서 세나 매크로 만들... 3 앞프론뒷태 2015.02.04 0/0
자유 (세븐나이츠) 뿌듯부듯.. 11 swksd 2015.11.14 1/0
자유 (세븐나이츠)쌩초보가 만든 매크로 공유합니다.(이미지... 12 swksd 2015.04.24 2/0
질문 (쌩초보) 단순 이미지서치에서 일정구간 n회 반복하는 ... 1 잘해보자잉 2017.08.17 0/0
정보 (안내) 글내용확인하시고 자삭하세요 27 snf 2015.02.23 0/0
질문 (오핫) 여러 단어 변수 지정 및 랜덤 조합 출력 방법 3 우리형 2019.10.23 0/0
질문 (중복질문)블루스택3 포스트메시지 키보드입력 ESC누르... 4 가족오락관 2017.12.29 0/0
질문 (초보) GDIP 이미지서치 사용방법 2 험블비 2017.08.31 0/0
질문 (초보) 앱플레이어 이미지서치 가보려하는데 산두적 2020.07.20 0/0
질문 (초보) 이미지서치 연속사용 1 작은이득 2017.06.07 0/0
정보 (펌)픽셀서치를 대체할 수 있는 비활성픽셀칼라 활용 ... 6 앙꼬호빵 2019.05.26 0/0
Board Pagination Prev 1 2345678910 ... 209 Next
/ 209

전체 최신 인기글

전체 주간 인기글