넷게임

이미지맥스로 화면이 멈춰있는 걸 어떻게 확인할 수 있을까요? 본문

매크로

이미지맥스로 화면이 멈춰있는 걸 어떻게 확인할 수 있을까요?

시스이 2020. 12. 21. 13:26

9일 전에 알게되어서 lua에 대해 찾아보고 카페에서 내장함수도 찾아서 머리를 쥐어뜯으며 광고를 재생하고 끄는 것 까지 만들었는데 화면이 멈추는 문제를 해결하는 것에서 막혔습니다.



캡쳐한 화면이 이전에 캡쳐한 화면과 같은지를 확인하는 스크립트를 짜려고 카페에 공개된 함수를 적용하려 했는데 예제를 14시간동안 처다보고 있는데도 모르겠습니다.


-- 인식 대상 창의 특정 영역을 메모리 버퍼와 비교합니다.

acc, fx, fy = BitsSearch({ulong bits, int w, int h}, int[] roi)

-- arg1: 메모리 버퍼 {bits, w, h} table

-- arg2: 인식 대상창 {x, y, w, h} table

-- 리턴값: 유사도, 찾은 위치 시작좌표 x, y

예제) centerframe = {bits=nil, w=50, h=50}

centerframe.bits = NewBits(centerframe.w, centerframe.h)

acc, fx, fy = BitsSearch(centerframe, roi)

ReleaseBits(centerframe.bits)

centerframe.bits = nil



그래서 다른 함수로 해결하려 했는데 이마저도 안되네요.


(두번째 사진의 스크립트내용)

if bits == nil then -- bits가 nil이면

CaptureScreen(bits, roi[1], roi[2], roi[3], roi[4]) -- 화면캡쳐해서 bits에 저장

elseif bits ~=nil then -- bits가 nil이 아니면

CaptureScreen(notnilbits, roi[1], roi[2], roi[3], roi[4]) -- 화면캡쳐해서 notnilbits에 저장

if bits == notnilbits then -- 만약 bits와 notnilbits가 일치하면

ScreenStop = ScreenStop + 1 --ScreenStoop에 1을 더하고

print(ScreenStop) --ScreenStop의 값을 로그창에 출력

else -- bits와 notnilbits가 일치하지 않으면

ScreenStop = 0 -- ScreenStop 값은 0으로,

print(ScreenStop) -- ScreenStop의 값을 로그창에 출력

end

else

print("에러")

end


변수에 1씩 더하고 값이 50을 넘으면 스크립트를 실행되게 할 순 있을 것 같은데 화면인식은 모르겠습니다. 



(이게 실행되는 상황은 광고를 재생했는데 재생한 광고의 X버튼이 저장 해놓은 이미지에 없어서 광고화면이 계속 유지될 때 입니다.)



0kVIEyi.png
iEjIGYp.png


Choidcl.png


답글

Comments