1

Тема: AHK:Скрипт - определенная ротация клавиш и пара кликов в приложении

Задача: Создать определенную последовательность нажатий и пару кликов в игре, не зависимо от того, свернута ли игра, активна или просто находится на заднем плане.

Мой вариант скрипта ( Скачал AHK пару часов назад ) :

#IfWinActive ahk_class GxWindowClassD3d

l::
loop 
{ 
sendinput 1
sleep 1500
sendinput 1
sleep 1500
sendinput 1
sleep 1500
sendinput 1
sleep 1500
sendinput 1
sleep 1500
sendinput 5
sleep 1500
sendinput 1 
sleep 1500
sendinput 1 
sleep 1500
sendinput 1 
sleep 1500
sendinput 1 
sleep 1500
sendinput 5 
sleep 500
sendinput 1 
sleep 1500
sendinput 1 
sleep 1500
sendinput 1 
sleep 1000
sendinput 1 
sleep 1500
sendinput 5 
sleep 500
MouseClick, right,  640,  443 
} 
return

Задача решена: по нажатию клавиши "l" в игре начинается цикл определенных нажатий + клик мышкой в определенном месте.
А строка "#IfWinActive ahk_class GxWindowClassD3d" гарантирует, что скрипт будет работать только тогда, когда окно игры активно.
Но этого не происходит. Стоит только переключиться с игры на другое приложение - скрипт продолжает работать уже в новом приложении.

Внимание вопрос : Как сделать так, чтобы скрипт действовал только на игру, а не на любое активное окно? Не зависимо от того, какое приложение активно в момент работы скрипта и от того, свернуто ли приложение World of Wаrсrаft.
Подозреваю, что решение как то связано с #IfWinActive, но ничего толкового придумать не смог.
Заранее спасибо за помощь.

2

Re: AHK:Скрипт - определенная ротация клавиш и пара кликов в приложении

Вроде всё правильно. Проверьте класс окна (не путать с элементами управления окна). Можно попробовать задать окно через заголовок, а не класс.

3 (изменено: creature.ws, 2011-11-07 15:00:37)

Re: AHK:Скрипт - определенная ротация клавиш и пара кликов в приложении

#IfWinActive ahk_class GxWindowClassD3d" гарантирует, что скрипт будет работать только тогда, когда окно игры активно.

Хоткей в скрипте запускает цикл который имитирует нажатия клавиш.

Чтобы скрипт действовал только на игру используйте ControlSend

4 (изменено: Alectric, 2011-11-07 17:23:46)

Re: AHK:Скрипт - определенная ротация клавиш и пара кликов в приложении

IfWinActive ahk_class GxWindowClassD3d

Поставте это условие внутри цикла и без #.

l::
loop 
{ 
  IfWinActive ahk_class GxWindowClassD3d
  {
    sendinput 1
    sleep 1500
    sendinput 1
    sleep 1500
    sendinput 1
    sleep 1500
    sendinput 1
    sleep 1500
    sendinput 1
    sleep 1500
    sendinput 5
    sleep 1500
    sendinput 1 
    sleep 1500
    sendinput 1 
    sleep 1500
    sendinput 1 
    sleep 1500
    sendinput 1 
    sleep 1500
    sendinput 5 
    sleep 500
    sendinput 1 
    sleep 1500
    sendinput 1 
    sleep 1500
    sendinput 1 
    sleep 1000
    sendinput 1 
    sleep 1500
    sendinput 5 
    sleep 500
    MouseClick, right,  640,  443 
  }
  else
    sleep,100
}
return
Win 10 x64
AHK v1.1.33.02
                       Справка тебе в помощь.