1 (изменено: Wordmaster, 2011-06-02 04:10:26)

Тема: AHK: как научить скрипт дружить с остальными клавишами?

Ребят как научить мой скрипт воспринимать остальные клавиши?
Пример:Зажимаю Лкм идет беспрерывная стрельба(Тобишь Лкм нажимается многократно,до того момента пока она зажата)
Пример2 при котором скрипт не работает:Зажимаю Shift(или наверняка любую другую клавишу) паралельно зажимая Лкм.
То Бишь хочу научить скрипт дружить с остальными клавишами.
Скрипт написал сам, с горем пополам,но всё равно не понимаю многих вещей.

6::Suspend
Lbutton::
    autoLbutton := 1
    Loop
    {
        Send {Lbutton Down}
        Sleep, 1
        Send {Lbutton Up}

        if autoLbutton = 0
        Break
    }
    return

Lbutton up::
    autoLbutton := 0
    return

Буду очень благодарен за помощь.

2

Re: AHK: как научить скрипт дружить с остальными клавишами?

Цитата: * Групповой символ: запускает горячую клавишу, даже если удерживаются дополнительные модификаторы.

Клавишами модификаторами считаются: шифт, альт и контрол. Т.е. если прописать в коде * перед Lbutton::, то этот хоткей будет работать и с зажатыми шифт/альт/контрол.

*Lbutton::
   While GetKeyState("LButton", "P")
      {
         MouseClick, L
         Sleep, 10
      }
   Return
*LButton::
1:
   If GetKeyState("LButton", "P") = 0
      Return
   Click
   Sleep, 10
   Gosub, 1
*LButton::SetTimer, Spawn_Clicks, 10

LButton Up::SetTimer, Spawn_Clicks, Off

Spawn_Clicks:
   SendInput, {LButton}
   Return

3

Re: AHK: как научить скрипт дружить с остальными клавишами?

Впредь буду внимательней.Большое спасибо.

4

Re: AHK: как научить скрипт дружить с остальными клавишами?

Теперь начало скрипта выглядит так
6::Suspend
*Lbutton::

Но возникла проблема,при зажатии того же Shift(crouch) и зажатии Лкм ведется стрельба,но персонаж привстает и садиться назад и так повторяется до тех пор пока зажата одна из клавиш...
То бишь например стрелять в присяде не получается.
Ощущение что shift зажимается и отжимается снова снова пока лкм активирована.

5

Re: AHK: как научить скрипт дружить с остальными клавишами?

Wordmaster пишет:

Ощущение что shift зажимается и отжимается снова снова пока лкм активирована.

Нужно в конфигурации кнопок игры указать на приседание не сам шифт, а любую другую клавишу (желательно используя виртуальный код, как?, запустив этот замечательный скрипт). Нажатием шифта эмулировать нажатие назначенной клавиши на приседание:

LShift::
   SendInput, {vk47 Down} ; к примеру клавиша G/П
   KeyWait, LShift
   SendInput, {vk47 Up}
   Return

Этот скрипт

Wordmaster пишет:

Скрипт написал сам...

6::Suspend
Lbutton::
    autoLbutton := 1
    Loop
    {
        Send {Lbutton Down}
        Sleep, 1
        Send {Lbutton Up}

        if autoLbutton = 0
        Break
    }
    return

Lbutton up::
    autoLbutton := 0
    return

у меня не корректно работает с пистолетами в Counter Strike: Source, лучше его заменить на:

*Lbutton::
   Loop
      {
         MouseClick, L
         Sleep, 10
         If GetKeyState("Lbutton", "P") = 0
            Break
      }
   return

или любой из вариантов предложеных мною выше, только тот, что с таймером, изменить.

SendInput, {LButton} на MouseClick, L

6 (изменено: Wordmaster, 2011-06-02 18:08:13)

Re: AHK: как научить скрипт дружить с остальными клавишами?

*Lbutton::
   Loop
      {
         MouseClick, L
         Sleep, 10
         If GetKeyState("Lbutton", "P") = 0
            Break
      }
   return

Да этот скрипт вполне подходит , по крайней мере он выполняет именно те функции которые мне нужны.
Спасиб за помощь.