아두이노로 해보니 재밌어서 오토핫키로도 구현해보았다.

 

오토핫키는 hello world만 해보고 써본 적이 없어서 제대로 동작하는 매크로를 구현해보려니 쉽게 동작하지 않았다. 아래 두 가지 점을 신경써서 구현하면 성능 좋은 매크로를 구현할 수 있다.

 

1. 정확히 동시에 두 개 이상의 키를 눌러주기 위해서 Send 대신에 SendInput 을 써야한다.

2. 커맨드 사이 딜레이를 주기 위해 Sleep 을 쓰면 정확도가 매우 떨어진다. 정확한 딜레이를 구현해둔 코드가 있어서 참고했다( https://bit.ly/3cyI8GX ). 아래 코드의 1-13번 라인에 해당한다. 해당 라인을 넣고, Sleep 대신 DllCall 을 쓴다.

 

아래는 샘플코드

 

 

 

 

게임할 때 쓰다가 스팀 밴 당하면 사용자 책임.

 

 

Posted by 도전하는 공돌이pooh

댓글을 달아 주세요

  1. ㅇㅇ 2020.04.29 10:57  댓글주소  수정/삭제  댓글쓰기

    좋은 정보감사합니다 sleep문이 좀 답답했는데 해결됐네요

  2. 우동 2020.12.24 23:30  댓글주소  수정/삭제  댓글쓰기

    요즘나온 신캐 쓸만한 기술들로 만들어주시면 안될까요? 사례드릴께요

  3. 스르스느 2021.04.21 21:57  댓글주소  수정/삭제  댓글쓰기

    위에 무슨 말인지 모르겠어요...
    데빌진 초풍 쓰려면 스크립표가 어떻게 되나요?

  4. 스르스느 2021.04.22 13:32  댓글주소  수정/삭제  댓글쓰기

    번거롭게 해드려서 죄송합니다. 제가 철권을 방향키 a w s d 를 왼쪽 위 아래 오른쪽 이렇게 쓰고 있고
    u 약손 i 강손 j 약발 k 강발 이렇게 쓰고 있습니다.

    스크립트를 어떻게 해야되는지 모르겠네요.

  5. 스르스느 2021.04.26 13:59  댓글주소  수정/삭제  댓글쓰기

    sleep 이거로 초풍 커맨드 만들어보니까 80% 확률로 되고 삑사리도 많이 나더라고요...
    근데 선생님께서 말씀하신 DllCall로 어떻게 스크립트를 만들어야할지 모르겠습니다.

    • Favicon of https://woongheelee.com BlogIcon 도전하는 공돌이pooh 2021.04.28 14:38 신고  댓글주소  수정/삭제

      스르스느님께서 만드신 코드에서 sleep이 들어가는 라인만을 위 코드처럼 DllCall() 을 써서 치환하면 됩니다. 대신에 코드 제일 위에는 위 코드의 1-15 번 라인 까지 코드를 쓰셔야 합니다. 스팀에서 매크로 사용하면 밴 먹을 수 있다던데요. 사용에 주의 바랍니다.

  6. 스르스느 2021.04.28 15:38  댓글주소  수정/삭제  댓글쓰기

    돌머리라 이해가 안가네요...

    sleep 1 이렇게 쓰지말고
    DllCall 1 이렇게 쓰는건가요?

    코드의 1-15 번까지라면 1 #noenv부터 15 oneframe 이 부분까지 복붙을 해야된다는건가요?

    • Favicon of https://woongheelee.com BlogIcon 도전하는 공돌이pooh 2021.04.29 09:21 신고  댓글주소  수정/삭제

      그냥 코딩이 익숙치 않으셔서 그런 것이니 자책은 하지 마시구요. 1-15번 라인 복붙은 맞구요. sleep 1 들어갈 부분에 DllCall("Sleep","UInt",one_frame) 을 통으로 가져다 넣으시면 됩니다. 저 코드는 1 프레임 동안 sleep 하겠다는 의미입니다.

  7. 스르스느 2021.04.30 16:55  댓글주소  수정/삭제  댓글쓰기

    sleep1 이 아니라 sleep 10, sleep 20 이렇게 하려면 코드를 어떻게 만들어야하나요?

  8. 흥미롭당 2021.05.31 07:30  댓글주소  수정/삭제  댓글쓰기

    실전에서는 사용할껀 아닌데 너무 흥미롭네요

    혹시 어떨떈 나가고 어떨떈 안나가는 현상은 왜 그런건가요??

    공대오빠 멋져용 ㅋㅋ

    • Favicon of https://woongheelee.com BlogIcon 도전하는 공돌이pooh 2021.05.31 13:56 신고  댓글주소  수정/삭제

      감사합니다.

      아마 오토핫키에서 시간 측정하는 부분과 철권 게임 내에서 시간 측정하는 부분이 완전히 일치하지 않기 때문에 그런 것 같습니다.

      오토핫키 매크로 정확도가 어느 정도인지도 측정해봐야겠네요.

  9. ㅇㅇ 2021.07.05 11:29  댓글주소  수정/삭제  댓글쓰기

    바탕화면에서 사용하면 버튼입력이 잘되는데

    막상 철권안에서 시작 버튼을 눌러도

    오토핫키가 작동이 안되네요.. 방법이 없을까요?

  10. 감사합니다 2021.08.05 02:55  댓글주소  수정/삭제  댓글쓰기

    이상하게 기원초는 안되지만 예시 참조해서 프랙티스에서
    이질풍 , 일반초풍 , 무족초풍 , 레이징스톰 같은거 써보면서 노는데 시원시원하게 잘나가네요
    덕분에 4 이질풍 까지도 넣어봤습니다

    대쉬초풍이나

    클라 근접번너클 or 드라 근접샤이닝 같은건 수준이 낮아서 못해보네용

    글 덕에 잘 놀았습니다

  11. ㅇㅇ 2021.09.15 23:54  댓글주소  수정/삭제  댓글쓰기

    혹시 컨트롤 J가 아니라 그냥 J로 눌러도 동작되게 하려면
    코드를 어떻게 바꿔야 하는지 알 수 있을까요??

  12. ㅇㅇ 2021.10.04 21:31  댓글주소  수정/삭제  댓글쓰기

    혹시 샤이닝 매크로 코드좀 알려주실수 있을까요.. 오토핫키로 만들었는데 잘 안나가서요.. 부탁드립니다

    • Favicon of https://woongheelee.com BlogIcon 도전하는 공돌이pooh 2021.10.06 12:44 신고  댓글주소  수정/삭제

      매크로 스틱 회로 만들 때 그런 식으로 구현했는데요. 오토핫키로는 만들어보지 않아서 코드는 없습니다.

      샤이닝 종류 커맨드가 -> 중립 -> 중립 -> 중립 + 버튼이잖아요. 이 때 중립의 딜레이를 여러 차례 시행 착오로 잘 찾으시면 만들 수 있습니다.