매크로

조회 수 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
자유 디아는 매크로 없겠죠? 4 은섬큐브 2023.06.18 0/0
질문 이미지맥스 카톡보내기(클립보드) 오류가 뜹니다. 룰루랄라11 2023.06.16 0/0
자유 부계정 영정먹고... 7 크로니온 2023.06.22 1/0
질문 혹시 한 컴에 여러 게임 돌릴때 2 오리날자 2023.06.19 1/0
자유 오딘 신섭 흥할까요? 5 이상하늬 2023.07.12 0/0
자유 혹시 요즘 오딘은 어떤거 많이사용하나요? 추천좀해주실분 3 오리날자 2023.08.10 0/0
질문 바람의나라 매크로 어떤게 좋아요? 2 쾌락 2023.06.23 0/0
자유 나 밑에 오딘 플 물어본사람인뎅.. 억울해 4 오리날자 2023.08.11 0/0
자유 오랫만에 왔는뎅 4 앞발차기 2023.07.18 0/0
자유 제노니아 일주일 도 안남았네요 2 이상하늬 2023.06.26 0/0
자유 여기 스카이=이편한 매크로 알바래끼들이 많네요 10 옹박 2023.08.10 2/0
자유 후리기님 매크로 안되신다는 분들 언제 마지막으로 사... 3 chan87 2023.06.27 0/0
질문 아직 오딘 이맥쓰시는분들 있으신건가요? 2 앞발차기 2023.06.27 0/0
자유 이맥이라도 오랜만에 쓰고싶은데 1 앞발차기 2023.06.24 0/0
자유 요새 후리기님 스크립트도 안올라오고 해서 그런지 5 앞발차기 2023.07.14 0/0
질문 바람의나라 에서 쓰시는분 계신가요? 1 andies 2023.08.08 0/0
자유 메이플 매크로 관련 2 M게임유저 2023.06.29 0/0
질문 나이트크로우 매크로에 관하여 5 뽕뽑을거야 2023.07.26 0/0
질문 이미지맥스 스크립트관련 질문좀드립니다 7 KINA 2023.07.25 0/0
질문 혹시 강림2 제천대성이라는 게임하시는분?? 아이러니 2023.06.26 0/0
Board Pagination Prev 1 ... 487488489490491492493494495 ... 514 Next
/ 514

전체 최신 인기글

전체 주간 인기글