Ответить в теме
Страница 1 из 2
1 2 ‌

Тема: макрос и программа AutoHotkey

  1. #1

    Регистрация
    12.01.2014
    Сообщений
    8
    Поблагодарили 0 раз(а)
    Вес репутации: 0

    макрос и программа AutoHotkey



    Народ, у меня не работает?* Чё за фигня?
    Работает сама программа, но в игре джойстик не реагирует на команды ((

    Игра с лаунчера с battlelog_co. А так всегда отлично работала.
    Последний раз редактировалось XPEH; 16.05.2016 в 16:13.

  2. #2
    Аватар для Antieverything
    Регистрация
    23.02.2010
    Возраст
    37
    Сообщений
    8,566
    Поблагодарили 7,949 раз(а)
    Вес репутации: 100
    Насколько я помню, новые версии автохоткея имеют немного другой синтаксис макросов, может проблема в этом, не проверял.
    Имеет смысл попробовать работоспособность какого-нибудь "однострочного" скрипта на предмет отклика джойстика, типа:

    .:
    ~Joy1::           
    Send {T down
    KeyWait Joy1
    Send 
    {T up}  
    return
    ;
    Joy1 первая кнопка джоякнопка замены на клавиатуре
    Поставьте любые свои значения и посмотрите, работает ли оно в принципе.

  3. #3

    Регистрация
    12.01.2014
    Сообщений
    8
    Поблагодарили 0 раз(а)
    Вес репутации: 0
    Цитата Сообщение от Antieverything
    ........................................
    Я ни чего не понял. )))


    Вот, что имеется в макросе:


    .:
    ; AutoHotkey      Version: 1.x
    ; Language:       English
    ; Platform:       Win9x/NT/xp
    ;
    ; Only run this script when bf2.exe is running in the foreground
    ;
    #SingleInstance force
    #InstallKeybdHook
    #InstallMouseHook
    
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ; Global Variabless ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ;
    ; Joystick to use (1st Joystick is 1, 2nd Joystick is 2, etc...)
    ;
    JoystickNumber = 1
    ;
    ; The delay in milliseconds to check state of HAT control
    ;
    HatDelay = 1
    ;
    ; Amount to move mouse by
    HatMoveBy = 10
    ;
    ; Speed to move mouse at, 0 - 100
    ;
    HatMoveSpeed = 0
    ;
    ; MouseLook key
    ;
    HatMouseLookOn = {RCTRL Down}
    HatMouseLookOff = {RCTRL Up}
    ;
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ; Auto Execution Section - OnLoad ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ;
    SetTimer, KeepRunning ; Only run this script while bf2 is running
    ;
    ; Only start the timer for using the Joystick's POV as a Mouse in BF2
    ; if %JoystickNumber% has a POV Control
    ;
    GetKeyState, JoyInfo, %JoystickNumber%JoyInfo
    IfInString, JoyInfo, P  ; Joystick has POV control
    {
       SetTimer, HatMouse, %HatDelay%
    }
    return
    ;
    ; KeepRunning Timer execution Section: Suspend this script if BF2.exe is not actively running
    ;
    KeepRunning:
    
      WinGet, szProcessName, ProcessName, A
      if szProcessName = bf2.exe
      {
        Suspend, off
      }
      else
      {
        Suspend, on
      }
    return
    ;
    ; HatMouse Timer execution Section: Use the Joystick's POV to mouselook
    ;
    HatMouse:
    
       
       GetKeyState, JoyPOV, %JoystickNumber%JoyPOV
       if JoyPOV = -1  ; No angle.
       {
          Send %HatMouseLookOff%
          return
       }
       else
       {
          Send %HatMouseLookOn%
       }
       if JoyPOV = 0 ; Up
       {
         MouseMove,0,-%HatMoveBy%,%HatMoveSpeed%,R
       }
       else if JoyPOV = 4500 ; up/right
       {
         MouseMove,%HatMoveBy%,-%HatMoveBy%,%HatMoveSpeed%,R
       }
       else if JoyPOV = 9000 ; right
       {
         MouseMove,%HatMoveBy%,0,%HatMoveSpeed%,R
       }
       else if JoyPOV = 13500 ; right/down
       {
         MouseMove,%HatMoveBy%,%HatMoveBy%,%HatMoveSpeed%,R
       }
       else if JoyPOV = 18000 ; down
       {
         MouseMove,0,%HatMoveBy%,%HatMoveSpeed%,R
       }
       else if JoyPOV = 22500 ; down/left
       {
         MouseMove,-%HatMoveBy%,%HatMoveBy%,%HatMoveSpeed%,R
       }
       else if JoyPOV = 27000 ; left
       {
         MouseMove,-%HatMoveBy%,0,%HatMoveSpeed%,R
       }
       else if JoyPOV = 31500 ; left/up
       {
         MouseMove,-%HatMoveBy%,-%HatMoveBy%,%HatMoveSpeed%,R
       }
    return
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ;;;;   Press Joy4 to say "I'm sorry" using the Cammo Rose while flying ;;;;
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    Joy4::
       Send, {q Down}
       Sleep 200
       DllCall("mouse_event", uint,1, int,300, int,10, uint,0, int,0 )
       Sleep 40
       MouseClick, Left, , , , , D
       sleep 40
       MouseClick, Left, , , , , U
       Send, {q Up}
    return
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ;;;;  Press Joy5 to spot a target directly in front of you using the Cammo Rose while flying ;;;;
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    Joy5::
       Send, {q Down}
       Sleep 100
       MouseClick, Left, , , , , D
       sleep 40
       MouseClick, Left, , , , , U
       Send, {q Up}
    return
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ;;;;   camera positions        fly by - F12 /  F9 - cockpit   ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    Joy10::
    {
    Send, {F12 down}
    Sleep 30
    Send, {F12 up}
    
    SetTimer, WaitForButtonUp7, 25
    }
    return
    
    WaitForButtonUp7:
    if GetKeyState("Joy8")
    Return
    
    SetTimer, WaitForButtonUp7, off
    
    Send, {F9 down}
    Sleep 30
    Send, {F9 up}
    Sleep 30
    
    Send, {F9 down}
    Sleep 30
    Send, {F9 up}
    return
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ;   camera positions         shase rear  - F11 / F9 - cockpit   ;
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    Joy3::
    {
    Send, {F11 down}
    Sleep 30
    Send, {F11 up}
    
    SetTimer, WaitForButtonUp8, 25
    }
    return
    
    WaitForButtonUp8:
    if GetKeyState("Joy3")
    Return
    
    SetTimer, WaitForButtonUp8, off
    
    Send, {F9 down}
    Sleep 30
    Send, {F9 up}
    Sleep 30
    
    Send, {F9 down}
    Sleep 30
    Send, {F9 up}
    return  
    
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ;    map     ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    
    Joy9::
    {
    Send, {m down}
    Sleep 30
    Send, {m up}
    
    SetTimer, WaitForButtonUp9, 25
    }
    return
    
    WaitForButtonUp9:
    if GetKeyState("Joy9")
    Return
    
    SetTimer, WaitForButtonUp9, off
    
    Send, {m down}
    Sleep 30
    Send, {m up}
    Sleep 30
    
    return
    Всё работало прекрасно на AutoHotkey104407_Install. Правда до отключения официального BF2.
    Сейчас бред какой-то.
    Решил скачать новый, скачал AutoHotkey112306_Install. Тоже не работает.

  4. #4
    Аватар для Antieverything
    Регистрация
    23.02.2010
    Возраст
    37
    Сообщений
    8,566
    Поблагодарили 7,949 раз(а)
    Вес репутации: 100
    Цитата Сообщение от XPEH
    Only run this script when bf2.exe is running in the foreground
    А процесс игры в их инсталляторе BF2.exe?

  5. #5

    Регистрация
    12.01.2014
    Сообщений
    8
    Поблагодарили 0 раз(а)
    Вес репутации: 0
    Цитата Сообщение от Antieverything
    А процесс игры в их инсталляторе BF2.exe?
    КАК понять?

  6. #6

    Регистрация
    12.01.2014
    Сообщений
    8
    Поблагодарили 0 раз(а)
    Вес репутации: 0
    Antieverything

    Я не понимаю что вы хотите от меня? ) НУ реал .
    Я скачал программу, установил, запустил готовый макрос и наслаждался. Вот.

    DICE и EA прикрыли лавочку. Ни так давно установил БФ2, только не с диска, а со скаченного лаунчера. По старинке, установил программу AutoHotkey, ту самую на которой всё работало.
    Но ска сейчас джойстик не отвечает (( Бред. Так не удобно летать без спота, смены камер на джостике. ППЦ.



    P. S. JoyToKey работает, но в принципе - никакого отношения к макросу не имеет ))))
    http://live.cnews.ru/forum/index.php?s=&showtopic=9839&view=findpost&p=414870
    Последний раз редактировалось XPEH; 17.05.2016 в 02:45.

  7. #7
    Модератор форума Аватар для TPYCbl_B_rOPOLLlEK
    Регистрация
    13.06.2010
    Адрес
    СПб
    Сообщений
    4,682
    Поблагодарили 4,900 раз(а)
    Вес репутации: 116
    XPEH,
    Цитата Сообщение от Antieverything
    А процесс игры в их инсталляторе BF2.exe?
    Я так понимаю, речь о том, с какого экзешника у баттлоговцев игра запускается. Если у них игра запускается c экзешника отличного от bf2.exe, то макрос не будет работать, ибо:
    Цитата Сообщение от XPEH
    Only run this script when bf2.exe is running in the foreground

  8. Пользователь сказал cпасибо:
  9. #8

    Регистрация
    12.01.2014
    Сообщений
    8
    Поблагодарили 0 раз(а)
    Вес репутации: 0
    Цитата Сообщение от TPYCbl_B_rOPOLLlEK
    XPEH,

    Я так понимаю, речь о том, с какого экзешника у баттлоговцев игра запускается. Если у них игра запускается c экзешника отличного от bf2.exe, то макрос не будет работать, ибо:
    Игру запускаю с ярлыка, вроде как и раньше.
    "X:\Games\Battlefield 2\BF2.exe"

  10. #9
    Аватар для Antieverything
    Регистрация
    23.02.2010
    Возраст
    37
    Сообщений
    8,566
    Поблагодарили 7,949 раз(а)
    Вес репутации: 100
    Чисто в качестве эксперимента, переименовал первое что попалось в BF2 и запустил вместе с твоим скриптом, курсор управляется хаткой джоя - значит работает.

    P.S.
    AHK v1.1.10.01 от 17 мая 2013 ( да, с тех пор я не заморачивался ее обновлять :)

  11. #10

    Регистрация
    12.01.2014
    Сообщений
    8
    Поблагодарили 0 раз(а)
    Вес репутации: 0
    ПОЧЕМУ у меня не работает?
    Хатка может и будет работать. У меня хатка работает от JoyToKey, при нажатии Ctrl обзор из кабины.

    Кнопки реагируют на нажатия?

Ответить в теме
Страница 1 из 2
1 2 ‌