오토핫키(커뮤니티)
* 이곳은 자유·질문·팁에 관한 내용을 다루는 게시판입니다.

* 게임/핵/가드우회/제작의뢰에 관련된 게시물은 작성자 동의없이 삭제 될 수 있습니다.



?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

 

 

 

 

아마 FPS 게임 쪽에 쓰시는분들이 대다수 일꺼라 생각이 듭니다.

그러므로 FPS 게임 기준으로 적겠습니다.

MouseMove 명령어를 사용하면 마우스가 돈다고 해야할까요? 하늘을 보거나, 땅을 보거나... 원하는 곳이 아닌 이상한곳으로 가버리게 되죠...

원인은 설명하자면 깊숙하게 들어가야하고... 해결법은 mouse_event 를 쓰시면됩니다.

mouse_event 는 windows api 입니다. (windows api 란? 오토핫키 명령어처럼 윈도우 명령어라고 생각하시면 됩니다.)

DllCall 문법은 DllCall("[DllFile\]Function" [, Type1, Arg1, Type2, Arg2, "Cdecl ReturnType"]) 입니다.

자세하게 알아보고 싶으신분은 https://autohotkey.com/docs/commands/DllCall.htm 여기로 가시면 됩니다.

mouse_event api 사용 문법은 https://msdn.microsoft.com/ko-kr/library/windows/desktop/ms646260(v=vs.85).aspx 여기서 확인하시면됩니다.

설명은 여기까지 하고 실전 코드를 적어드립니다.

DllCall("mouse_event", uint, 1, int, 100, int, 100, uint, 0, int, 0)

이렇게 적어주시면 현 좌표를 0,0 기준으로 우측아래서 100, 100 으로 이동합니다.

(모니터 기준, 프로그램 기준이라고생각하시면 안됩니다.)

 

이제 FPS에서 사용하는 알고리즘을 알려드리겠습니다.

MouseGetPos, MouseX, MouseY ; 현 마우스 좌표를 MouseX, MouseY 변수에 저장합니다.

/* 만약 이동해야될 좌표가 300, 300이라고 가정하면 */

DllCall("mouse_event", uint, 1, int, 300-MouseX, int, 300-MouseY, uint, 0, int, 0)

한국어로 정리하자면 이동해야될곳 - 현좌표 입니다.

처음부터 바로 응용코드를 넣지마시고 단순히 100,100 좌표로 이동하는 mouse_event 를 구현해보시면 이해되실꺼라 생각합니다.

 

 

 

 

 

  • profile
    김효복 2016.08.01 23:59
    msdn에 보면 절대좌표계가 좌상단 (0, 0) 우하단(65536, 65536)이라고 명시되어있네요..
    실제 다이얼로그를 기준으로 하면 다이얼로그 사이즈를 위 비율에 맞추어 계산해야 하는건가요?
  • ?
    AutoProMaker 2016.08.02 01:32
    좌표쪽 말씀하시는거죠? 저도 왼쪽 위가 0,0 일줄 알았는데 현 좌표가 0,0이 되더라고요...
    비율은 어떤걸 말씀하시는지 잘모르겠어요 ㅠㅠ
  • ?
    Komjun 2016.08.06 01:07
    dllcall로이동하는것은 속도조절이 안되나요?
  • ?
    솔솔 2016.08.11 08:36
    좋은 자료 감사드립니다.
    포스트메시지도 안 먹혀서 안 되는 줄 알았는데
    api로 가능한 거였군요.

    참 혹시 우회 컴파일러라고 아시나요?
    요즘은 그걸로 바이패스한다고 하는데
    아마 오핫 컴파일러에서 뭔가를 수정해 재컴파이한 거 같은데 해당 정보 아시면 도움 부탁드립니다
  • profile
    CHEKI 2016.08.20 13:51
    만약 현 좌표가 0,0 이면 오른쪽 아래로는 + , + 고 왼쪽 위로가면 - , - 로 해야하나요?
  • ?
    AutoProMaker 2016.08.20 23:14
    맞습니다.
  • ?
    MINT 2016.09.21 20:11 SECRET

    "비밀글입니다."

  • ?
    AutoProMaker 2016.09.22 00:06
    왼쪽 위가 0, 0입니다.
    우측으로 가려면 x에 + 좌측으로 가려면 x에 -
    위쪽으로 가려면 y에 - 아래쪽으로 가려면 y에 +
  • ?
    MINT 2016.09.22 23:45 SECRET

    "비밀글입니다."

  • ?
    zeani 2016.08.29 16:41
    픽셀서치를 사용했을때 마우스이벤트를 사용하게되면 그픽셀위치를 찾아갈수있는거져?
  • ?
    AutoProMaker 2016.08.30 09:01
    네 MouseMove 랑 같은거라고 생각하시면 됩니다.
  • ?
    zeani 2016.08.30 16:01
    F2::
    PixelSearch,vx,vy, 500,200, 1500,800, (미지정) , 1, Fast
    if ErrorLevel=0
    {
    MouseGetPos, MouseX, MouseY
    DllCall("mouse_event", uint, 1, int, %vx%-MouseX, int, %vy%-MouseY, uint, 0, int, 0)
    }
    return

    이렇게 작성해도 상관없나여? 1980*1080 해상도입니다

    어차피 fps 다 보니 화면 중앙에서 싸우게 되는데 픽셀서치를 많이 하면 오래걸릴꺼 같에서 500,200, 1500,800

    이렇게 썼습니다

    작동할까여?,... 회사라서 테스트를 못해보네여
  • ?
    AutoProMaker 2016.08.30 19:30
    본인이 테스트하면서 고쳐가는게 가장 좋은 습관이긴합니다만 환경이 안된다고 하셨으니 답변드립니다.
    () 괄호안에는 변수는 그냥 이름적으시면됩니다. %% 적지마세요.
  • ?
    zeani 2016.08.30 19:55
    감사합니다 집에가서 빨리확인해봐야겠어여 궁금한거 또 여쭙겠습니다
  • ?
    zeani 2016.08.31 10:59
    아...화면만 빙빙 도네여..이미지나 픽셀을 못찾은건가....답답해 하다 새벽 4시에 잠이들었네여..
    뭐가문제 인지..
  • ?
    AutoProMaker 2016.08.31 16:57
    화면에 그 픽셀이 한 곳에만 있을꺼 같진않네요.

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 질문답변 좋은 답변을 위한 질문 하는 법 7 까망 2015.06.07 2639
공지 질문답변 질문글 올리실때 해당 분류선택해서 올려주세요. 김효복 2014.07.25 3990
527 질문답변 한 폴더속의 파일들의 정보를 각각의 변수에 ... 10 코코마마 2016.08.02 185
» 알짜팁 FPS게임, 마우스 화면 중앙고정 프로그램에서 ... 16 AutoProMaker 2016.08.01 2680
525 질문답변 작동이 안되는데 어떤부분이 문제인가요? 4 megagnar 2016.08.01 282
524 질문답변 특정 프로그램 이외에 단축키를 꺼두고 싶습니다 2 초보코더 2016.07.31 277
523 자유 C++ 기초 서적 추천 부탁드립니다. 4 휴로리 2016.07.31 302
522 질문답변 FPS 에이밍 관련 스크립트를 제작할려면 어디... 6 코코마마 2016.07.30 987
521 자유 오토핫키 실전편I [모바일게임으로 배우자]에 ... file 김효복 2016.07.30 485
520 질문답변 안녕하세요. 오토핫키 게임가드에 관해 asdasd@asdas.com 2016.07.24 405
519 자유 에어컨 제품 찾다가 가성비좋은 에어컨을 발견... 2 file fgtyb 2016.07.23 328
518 질문답변 아프리카tv 채팅창 1 김라버 2016.07.22 731
517 알짜팁 이전항목 저장, 불러오기 예제입니다. 3 file 헬퍼 2016.07.20 397
516 질문답변 초보입니다.. 고수님들 스크립트 한번만 봐주세요 1 설화아빠 2016.07.19 201
515 질문답변 타이머와 크리티컬섹션 질문 1 김효복 2016.07.16 177
514 질문답변 업로드 관련 다시 질문드립니다!! 3 file Namepdk 2016.07.10 257
513 질문답변 가상화 관련 질문합니다! 4 seokhunnet 2016.07.06 423
512 질문답변 패킹이라는게 1 김라버 2016.07.04 383
511 자유 오토핫키가 c언어 기반이 맞나요? 2 송자 2016.07.04 1073
510 질문답변 비주얼 스튜디오로 l버전 컴파일할때 오류가;; 3 file 송자 2016.07.02 509
509 질문답변 오핫 업로드 질문드립니다. 3 Namepdk 2016.07.01 187
508 질문답변 vm웨어 오토핫키 사용에대해서 질문좀 할께요 3 김룰루 2016.06.30 407
507 질문답변 오핫 사인코드우회 후 컴파일문제 14 구구9 2016.06.25 3454
506 질문답변 (초보자질문 입니다.) 마우스 이동관련 질문 5 STILO 2016.06.24 240
505 질문답변 넷마블 쿵쿵따 단어 추출 1 AhkRedStone 2016.06.24 388
504 질문답변 sendinput을 사용하면 컴퓨터에 무리가나요?? 2 개곰숭이 2016.06.22 212
503 질문답변 ahk arduino 연결 질문 4 산타젤로 2016.06.20 1676
Board Pagination Prev 1 ... 20 21 22 23 24 25 26 27 28 29 ... 46 Next
/ 46