원래 11월에 짜려고 했었는데 일땜에 바쁘다가 좀 여유가 생겨서 다시왔네요.
일단 영상으로 대략적인 방법은 알아보았고 작동하는 매크로도 짜보기는 했습니다만 도중에 질문이 생겨서 질문드립니다.
1. 클릭에 관하여
싱글클릭의 경우 한점-한점이기에 별로 문제가 없지만 네모박스로 범위를 지정하는 경우 왼쪽의 3x3를 통하여 좌측상단이냐 아니면 어느부분을 기준으로 클릭하는냐라고 알고 있었는데 그게 아닌것 같더군요 특히 클릭박스 위의 중앙을 눌렀을때 범위의 중간을 기점으로 랜덤을 주는 것 같은데 이게 맞나요? 그렇다면 좌측에 3x3박스는 정확히 무슨 역할을 하는건가요?
2. 엣지부분 클릭
검은 부분이 플레이어의 엣지부분이고 빨간점이 제가 찍은 좌표이며 절대좌표로 (3,3)인경우 랜덤값을 3을 초과하는 값을 주게되면 (-1,-1)인 경우도 생길텐데 이때 자동으로 엣지안쪽의 0값 (0,3) 또는 (2,0)과 같이 플레이어 안쪽에 찍히는 것이 맞나요? 제작한 매크로 중에 이렇게 찍은 부분이 꽤 많은데 가끔씩 의도치 않은 값이 찍히는 에러가 있는것 같습니다.
3. 랜덤 선택 제작법
클릭의 경우 예시를 들면 메인 변수에서 랜클 = [(1,1), (2,5), (5,3)] 과 같은 방법으로 짜서 마우스서브선택후 [랜클, [random,2]]와 같이 사용하였고 실제로 랜덤으로 클릭하는 것을 로그로 확인해봤습니다.
여기서 질문은 일종의 분기로 [클릭 - 딜레이 - 클릭] 의 행동을 예시로 딜레이를 기존의 [딜레이 3초, 랜덤박스클릭하여 50%의 랜덤 딜레이 추가] 방식이 아닌, 딜레이서브추가 형식으로 50%의 확률로 2초 딜레이, 30%의 확률로 5초 딜레이, 19% 확률로 8초 딜레이, 1% 확률로 1분 딜레이 같은 방식으로 짜고 싶습니다. 강좌에는 이러한 랜덤 딜레이에 대한 부분이 없더군요. 물론 일반적인 게임에서는 이정도로 할 필요가 없겠지만 매크로에 대해 꽤 엄격한 게임이라 이런방식으로 짜서 완전히 회피하고 싶습니다. 방법을 아시는분은 꼭 답변부탁드립니다.
4. 마우스 휠?
전에 누군가 쓴 질문글에서 휠이 안된다는 말이 있었는데 이건 아직 유효한 건가요?
이 부분은 매크로 단속에서 걸릴 가능성이 제일커서 질문드리는 겁니다. 드래그를 테스트 해본결과 y축변화량만 일정하게 하고 5개 세트로 만들어서 랜덤돌리면 되기는 하지만 이부분은 매크로 내의 픽셀 랜덤을 넣는 순간 이동량이 그만큼 랜덤하게 바뀌더군요 그에따라 랜덤을 쓰기는 힘들고 그렇다고 100개 셋을 만들어 쓴다 한들 결국 로그가 쌓이면 패턴이 있기도하고, 대각선으로 긁는 것 같은 경우는 실행할때마다 이동량이 다르더군요 그래서 쓰기 힘들것 같습니다. 아니면 마우스 휠로 긁는 것도 결국 어딘가 드래그 하는것 같던데 그 좌표를 아시는 분 계시면 부탁드립니다.
글이 좀 길기도 하고 중구난방인 것 같기도 한데 아시는분들 제발 답변부탁드립니다.
1. 3x3버튼은 기준위치 버튼입니다.
현재는 스크립트 수행시 활용되지 않습니다.(정확히 말하자면 9개 버튼 모두 동일 결과가 나옴)
그룹이나 클릭 좌표/영역 등을 설정할때 왼쪽/상단을 기준으로 X,Y 만큼임..이란 개념인데요.
(또는 중앙에서 X,Y만큼.. 우측하단에서.. 등)
현재 카카오토는 단일 해상도만 지원하므로 모두 동일한 결과가 나옵니다.
단.. 카카오토 게임설정에서 해상도를 바꾸면 기존 제작한 좌표들을 자동으로 새 해상도에 맞춰 변환 하는데,
이 경우 3x3 기준위치에 의해 계산된 좌표를 반환합니다.
2. 자동으로 최소/최대 좌표값으로 변경됩니다.
3. 딜레이도 연산식으로 지정됩니다.
연산식이니 내장함수인 [랜덤,n]을 이용할수가 있겠죠.
다만 위 경우 확률과 랜덤 두가지가 필요하니..
가. 확률따른 분기 처리
연산 스크립트로 랜덤 0~99 값을 구하고.. 판단(범위분기)를 이용하여
(범위분기 : 1,20,50 --> 0~1, 2~20, 21~50, 51~ 분기됨..)
나. 분기별 딜레이 지정
각 분기별로 60초, 8초, 5초, 2초 딜레이 지정하면 될것 같습니다.
좀더 랜덤하게 줄려면
딜레이에.. 랜덤딜레이(50%) 체크해도 되고요
딜레이 : 55 + [랜덤,10] 처럼 55~65초 딜레이.. 도 가능합니다.
4. 안드로이드 ADB 명령엔 마우스 휠이 없는걸로 알고 있습니다.(당연히 미 지원이고요..)
안드로이드 게임들은 정확한 좌표로 드래그해도 실제 드래그되는 양은 매번 다릅니다.
누르는/드래그하는 압력/시간/속도/위치 등에 의해 달라집니다.
또한 스와이프(였나) 기능에 의해 달라집니다.(스크롤 자연스럽게 멈추는 기능있자나요^^)
때문에 드래그 2회 이상시 밀릴 수 밖에 없습니다.
카카오토의 멀티스샷 스크립트는 아이템정리 등의 기능에 특화된 스크립트입니다.
현재 화면 정리후->드래그-> 또 정리 ->계속..
때문에 멀티스샷의 드래그 알고리즘은 밀린 양을 체크하여 더/덜 드래그하도록 설계되었습니다.
결과적으로 아이템칸이 화면에서 벗어나지 않도록 랜덤드래그를 합니다.
문제는 이 멀티스샷 개념이 어렵고 제대로된 결과를 얻기가 엄청 힘듭니다.
권장하지 않습니다.^^; 그냥 멀티스샷이 있다.. 정도만...