녹스+이미지맥스 매크로 사용도중에 게임이 완전 멈추는 경우가 생겨서 멈추면 게임을 자동으로 재실행하고 싶어졋습니다
그래서 찾아보니 https://plcman.tistory.com/107 <- 이 사이트에 소개된 스크립트를 사용하려고하는데요..
저 스크립트는 ld 플레이어의 종료함수를 사용했고
저는 녹스용 명령어를 찾아서 대신 넣었봤지만 오류가떠버리네요
(https://support.bignox.com/ko/qt/adb 여기 소개된 명령어를 사용했지만 사실 이게 맞는건지도 잘 모르겠습니다)
무슨 형식이 맞지않는다는 듯한 내용이 나오는데 프로그래밍을 잘 몰라서 혹시나 여쭤봅니다..
어떻게 하셧는지를 올려봐 주심이 답변은 가장빠를거같아요.
중요 내용빼시고 관련 내용만 첨부해서 올려주시면 답을 더 빨리 받을수있으실듯..
녹스가 안깔려있어 테스트는 못해봤어요.
대략 이런식으로 하는거 아닌가요??
-- 시스템 클럭을 이용한 딜레이 설정 함수
function setClock()
return os.clock()
end
function getClock(_clock)
if _clock ~= nil then
return os.clock() - _clock
else
print('getClock() ERROR : _clock is null')
end
end
-- print('========================================')
-- print('화면 정지 비교 프로그램(NOX)')
-- print('========================================')
-- 앱 동작 정지 감시 유사도, 판단 시간, 검사 간격 설정
STOP_JUDGE_ACC = 98 -- 유사도(%)
STOP_JUDGE_TIME = 90 -- 판단 시간(초)
STOP_CHECK_PERIOD = 5 -- 검사 간격(초)
-- 사용하는 앱의 해상도나 사이즈에 따라 변경 필수! 가로폭, 높이(w,h)
local screen_size = {w = 1280, h = 720}
local roi = {0, 0, screen_size.w, screen_size.h}
-- 현재 화면 저장 인스턴스 생성 및 스크린캡쳐
if tmp_screen == nil then
tmp_screen = createBitmap(screen_size.w, screen_size.h)
captureScreen(tmp_screen, roi)
stop_check_period = setClock()
end
-- 앱 정지판단 검사 간격 시간 도달, 캡쳐된 인스턴스와 현재화면 비교
if getClock(stop_check_period) >= STOP_CHECK_PERIOD then
local acc, fx, fy = findBitmap({bitmap = tmp_screen, region = roi})
print(string.format('>> 앱 정지 체크 시작 (%d초 마다 검사)', STOP_CHECK_PERIOD))
print(string.format('( 화면유사도(acc)가 %d 이상일 경우 동작 정지 의심 )', STOP_JUDGE_ACC))
print(string.format('[ acc : %f, fx : %d, fy : %d ]', acc, fx, fy))
-- 설정한 유사도(기본값:98) 이상일시 앱 정지로 판단
if acc >= STOP_JUDGE_ACC then
if stop_check_time == nil then
stop_check_time = setClock()
end
local sec = math.floor(getClock(stop_check_time))
print(string.format('- 앱 정지 모니터 시간 : %d / %d 초', sec, STOP_JUDGE_TIME))
-- 앱 정지 판단 설정 시간 보다 이상 정지 확인시 동작
if getClock(stop_check_time) >= STOP_JUDGE_TIME then
print('- 앱 정지 체크 결과 : 동작 정지 의심!')
print('=============================================')
-- 스크립트 전환 전 초기화
releaseBitmap(tmp_screen)
tmp_screen = nil
stop_check_period = nil
stop_check_time = nil
runScript('재실행스크립트') -- 재실행용 스크립트 전환
nx_quit() -- 녹스 플레이어 종료 함수
sleep(1000)
nx_launch() -- 녹스 플레이어 실행 함수
sleep(2000)
nx_runapp('지정앱 패키지명') -- 녹스 플레이어에서 지정 앱 실행 함수
end
else
-- 앱 정상동작으로 판단, 초기화
releaseBitmap(tmp_screen)
tmp_screen = nil
stop_check_period = nil
stop_check_time = nil
print('- 앱 정지 체크 결과 : 동작 양호!')
print('=============================================')
end
end