매크로

조회 수 614 추천 0 댓글 7

녹스+이미지맥스 매크로 사용도중에 게임이 완전 멈추는 경우가 생겨서 멈추면 게임을 자동으로 재실행하고 싶어졋습니다


그래서 찾아보니 https://plcman.tistory.com/107  <- 이 사이트에 소개된 스크립트를 사용하려고하는데요..

저 스크립트는 ld 플레이어의 종료함수를 사용했고

저는 녹스용 명령어를 찾아서 대신 넣었봤지만 오류가떠버리네요

(https://support.bignox.com/ko/qt/adb 여기 소개된 명령어를 사용했지만 사실 이게 맞는건지도 잘 모르겠습니다) 


무슨 형식이 맞지않는다는 듯한 내용이 나오는데 프로그래밍을 잘 몰라서 혹시나 여쭤봅니다..



  • profile
    버슴커 2023.06.26 11:25

    어떻게 하셧는지를 올려봐 주심이 답변은 가장빠를거같아요.
    중요 내용빼시고 관련 내용만 첨부해서 올려주시면 답을 더 빨리 받을수있으실듯..

    녹스가 안깔려있어 테스트는 못해봤어요.


    대략 이런식으로 하는거 아닌가요??

    -- 시스템 클럭을 이용한 딜레이 설정 함수

    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


  • KINA 2023.06.26 15:43
    요렇게넣어봐도 안되네요 ㅜㅜ
    제코드는 예시스크립트에 해상도랑 종료함수만 녹스로 변경한게 끝이라 따로 올리지는 않았습니다..

    정성어린댓글 감사합니다 ㅎㅎ
  • profile
    버슴커 2023.06.26 17:11
    혹시 어떤 오류가 뜨는건가요?
    로그창 캡쳐를 볼수있나요?
  • KINA 2023.06.26 21:24


    7vB30mv.png
    적어주신 코드 액션전용 이미지 하나 만들어서 스크립트입력에 그대로넣고

    해상도부분만 바꿨는데 이렇게 에러뜨네용

  • profile
    버슴커 2023.06.27 11:54
    동작은 정상적으로 되는데...
    재실행 앱플레이어 명을 넣어도 종료 실행이 좀 이상한데요.
    적용해보심이 좋을거같아요.killappall <-name:nox_name | -index:nox_index> 모든 앱 종료 으로 하셔도되긴할듯.


    -- 시스템 클럭을 이용한 딜레이 설정 함수
    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('화면 정지 비교 프로그램 ver.220509')
    -- print('========================================')

    -- 앱 동작 정지 감시 유사도, 판단 시간, 검사 간격 설정
    STOP_JUDGE_ACC = 98 -- 유사도(%)
    STOP_JUDGE_TIME = 80 -- 판단 시간(초)
    STOP_CHECK_PERIOD = 5 -- 검사 간격(초)

    -- 사용하는 앱의 해상도나 사이즈에 따라 변경 필수! 가로폭, 높이(w,h)
    local screen_size = {w = 400, h = 444}
    local roi = {0, 0, screen_size.w, screen_size.h}

    -- 현재 화면 저장 인스턴스 생성 및 스크린캡쳐
    if tmp_screen == nil then
    tmp_screen = NewBits(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 = BitsSearch({bits = tmp_screen, w = screen_size.w, h = screen_size.h}, 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('=============================================')
    -- 푸름비님 버그 픽스 내용 추가 (22.02.06) https://cafe.네이버.com/imagemax/2883
    -- 스크립트 전환 전 초기화
    ReleaseBits(tmp_screen)
    tmp_screen = nil
    stop_check_period = nil
    stop_check_time = nil

    -- 녹스 앱플레이어 실행 및 지정 앱 실행
    os.execute("NoxConsole.exe quitall")
    os.execute("NoxConsole.exe launch -name:앱플레이어명")
    os.execute("NoxConsole.exe runapp -name:앱플레이어명 -packagename:지정앱패키지명")
    end

    else
    -- 앱 정상동작으로 판단, 초기화
    ReleaseBits(tmp_screen)
    tmp_screen = nil
    stop_check_period = nil
    stop_check_time = nil
    print('- 앱 정지 체크 결과 : 동작 양호!')
    print('=============================================')
    end
    end
  • KINA 2023.06.27 18:39

    으.. 여전히 안되네요 그냥 포기하려구요 ㅋㅋ

    나중에 정 필요하면 엘디플레이어로 돌려야겠네요
    신경써주셔서 감사합니다

  • profile
    버슴커 2023.07.25 08:35
    헛 관련해서 기능이 있는 파일을 찾아서요.
    혹시 몰라 공유차 와봤어요https://drive.google.com/file/d/16lCDAaZuHkKRktnCfdTCsmKRA4GYLYZy/view
    이분꺼 스크립트 보면 ui적용되어있고 ld nox동작을 하더라고요.

List of Articles
분류 제목 글쓴이 최근변경 추천
자유 외부 커뮤니티로의 유입 광고 글에 대해 피카부 2023.10.19 0/0
자유 글이 베스트로 이동될 시 권한 부여 피카부 2021.06.07 0/0
자유 추천 금지를 권유/유도하는 행위는 제재 됩니다 피카부 2020.01.15 0/0
자유 이메일로 공유 요청하는 계정 제재 피카부 2018.09.14 0/0
자유 이곳은 매크로 장터가 아닙니다. 구매/판매 글 제재 피카부 2019.02.19 0/0
자유 운영 방해 목적의 매크로 관련 글 제재 피카부 2019.09.03 0/0
자유 테일스타 회원 레벨 정보 이용하기 피카부 2022.02.17 0/0
자유 외부 유료 매크로의 추천 유도 및 광고 추천 제재 피카부 2018.04.25 0/0
자유 매크로는 [공유] 분류를 지정해주세요 피카부 2022.02.17 0/0
질문 오딘 리세 매크로 이렇게하는거 맞나요? 샤오밍 2023.07.07 0/0
질문 오딘pc 스크립트 구할곳 없나요 미나 2023.07.18 0/0
질문 넥슨 보안 뚫리는 매크로 프로그램 있을까요?? 경기시민 2023.07.05 0/0
자유 오딘보면 이상한 작업장매크로는 아직 분명히 있는데 8 앞발차기 2023.11.10 1/0
질문 오딘 매크로 사용중인데 서포터 일시정지가 자주 떠요 4 위블로매니아 2023.07.10 0/0
질문 Auto maple 사용해보신분? 2 까장1010 2023.08.18 0/0
질문 혹시 이런제품 구매해서 사용해보신분 계신가요? 버슴커 2023.07.04 0/0
질문 오딘 리세마라 매크로 1 박씨 2023.07.18 0/0
질문 메이플 매크로 관련 질문 드립니다. 가나다로바야 2023.08.18 0/0
자유 린엠m 매크로 추천좀요 1 이니이니 2023.07.03 0/0
질문 오랜만에 와서 그러는데 후리기님꺼 사용 가능한가요? 위블로매니아 2023.07.01 0/0
질문 매크로 구입해야 하는건가요? 6 가자고 2023.07.06 2/0
자유 안녕하세요~ 리니지 w 하다가 매크로 검색하다 오게되... 가자고 2023.06.30 0/0
질문 나크 다계정은 아예안되는건가요? 아서케이 2023.07.18 0/0
자유 과금한 계정 정지당해보신분? 5 크로니온 2023.07.04 1/0
자유 메이플 거짓말탐지기 알림 파는분계실까요 5 우유 2023.11.21 0/0
자유 이미지맥스 프리미엄 현재 불가능한가요 4 금모찌 2023.07.19 0/0
자유 그 기계로 매크로 돌리는거 아시는분 있나요 13 앞발차기 2023.07.06 0/0
질문 혹시 이런 거 물어봐도 되나요? 3 뉴에이라 2023.06.28 0/0
질문 혹시 강림2 제천대성이라는 게임하시는분?? 아이러니 2023.06.26 0/0
Board Pagination Prev 1 ... 181920212223242526 ... 513 Next
/ 513

전체 최신 인기글

전체 주간 인기글