1

Тема: Исправьте код

{
!NumPad3::SendInput {F6}/su  1 Неподчинение гос. сотруднику{Left 31}
!NumPad4::SendInput {F6}/su  2 Попытка скрыться{Left 19}
!NumPad5::SendInput {F6}/su  2 Проникновение на охраняемую территорию{Left 41}
!NumPad6::SendInput {F6}/su  4 Вооруженное нападение на гос. сотрудника{Left 43}
!NumPad7::SendInput {F6}/su  3 Хранение наркотиков{Left 22}
!NumPad2::SendInput {F6}/su  2 Ношение военной формы{Left 24}
!NumPad1::SendInput {F6}/su  1 Оскорбление гос. сотрудника{Left 30}
!NumPad8::SendInput {F6}/su  3 Хранение материалов{Left 22}
!NumPad9::SendInput {F6}/su  3 Вооруженное нападение на гражданина{Left 38}
}
return

Ранее прекрасно работал, когда то рабочий удалил. Сейчас почему-то вылетает нафлудив началом строк "/su 2. /su 1. " и т.д. и в конце выкидывает на диалог "See #Maxhotkeysperinterval".

2 (изменено: alekksss, 2016-11-24 14:04:51)

Re: Исправьте код

return перед клавишами, и {} не нужны. при запуске вызываются клавиши видимо.

3

Re: Исправьте код

alekksss, а когда у нас заглавные буквы и точки отменили, не скажете? А то я пропустил.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

4

Re: Исправьте код

У вас нету return после каждого бинда. Соответственно скрипт идёт по каждой строке пока не упрется в ограничение кол-ва символов. Как должно быть:

!NumPad3::SendInput {F6}/su  1 Неподчинение гос. сотруднику{Left 31}
return
!NumPad4::SendInput {F6}/su  2 Попытка скрыться{Left 19}
return

И так далее.

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

5

Re: Исправьте код

belyankin12 пишет:

У вас нету return после каждого бинда.

Когда команда в одну строчку с горячей клавишей, return не нужен, можете проверить.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

6

Re: Исправьте код

!NumPad3::
 {
  SendInput {F6}/su  1 Неподчинение гос. сотруднику{Left 31}
 }
 return

!NumPad4::
 {
  SendInput {F6}/su  2 Попытка скрыться{Left 19}
 }
 return

!NumPad5::
 {
  SendInput {F6}/su  2 Проникновение на охраняемую территорию{Left 41}
 }
 return

!NumPad6::
 {
  SendInput {F6}/su  4 Вооруженное нападение на гос. сотрудника{Left 43}
 }
 return

!NumPad7::
 {
  SendInput {F6}/su  3 Хранение наркотиков{Left 22}
 }
 return

!NumPad2::
 {
  SendInput {F6}/su  2 Ношение военной формы{Left 24}
 }
 return

!NumPad1::
 {
  SendInput {F6}/su  1 Оскорбление гос. сотрудника{Left 30}
 }
 return

!NumPad8::
 {
  SendInput {F6}/su  3 Хранение материалов{Left 22}
 }
  return

!NumPad9::
 {
  SendInput {F6}/su  3 Вооруженное нападение на гражданина{Left 38}
 }
 return

Ну если еще не поздно.

7 (изменено: Indomito, 2017-01-07 18:36:13)

Re: Исправьте код

lishakoff пишет:

Сейчас почему-то вылетает нафлудив началом строк "/su 2. /su 1. " и т.д. и в конце выкидывает на диалог "See #Maxhotkeysperinterval".

Попробуй использовать Send и SetKeyDelay , 50, 25, т.е. увеличить задержки и длительность нажатия.

По умолчанию SetKeyDelay , 10, 10 - это очень быстро.

Может хватит одной команды  SetKeyDelay - почитай про неё в справке chm.

Вот как я вывожу сообщения, правда в чат игры.

lSendChat:
  tmp_ThisHotkey := A_ThisHotkey
  If (vLengthArraySCHK = False)
        Return
        
  i := 1
  Loop %vLengthArraySCHK%
    {
      If  (tmp_ThisHotkey = arSendChat[i,1])
          {
            fnHotkey(tmp_ThisHotkey, "lSendChat",False)
            vTmpKey   :=  arSendChat[i,1]
            vTmpTxt   :=  arSendChat[i,2]
            SendMessage, 0x50,, 0x4090409,, A ;Установить английский язык
            SetKeyDelay , 10, 10
            Send {Enter}
            Loop 25
               Send {Backspace}
            SetKeyDelay , %vKeyDelay%, %vKeyDuration%
            Send %vTmpTxt%
            SetKeyDelay , 10, 10
            Send {Enter}
            Break
          }
       i++
    }
  fnHotkey(vTmpKey, "lSendChat")
Return

Тут много лишнего, но они всегда выводятся без ошибок.

"На каждое действие есть равная ему противодействующая критика." Постулат Харриссона
OS Windows 7 x64
AutoHotkey v1.1.32.00 - November 24, 2019
Click to Download

8

Re: Исправьте код

А зачем в начале и в конце {}, а потом ещё return в конце всего этого? Вот пример как я использую:


!F11::
sendinput, {f6}/me взял ящики со склада{Enter}
sleep 1200
sendinput, {f6}/do Боец открыл(а) дверь грузового отсека{Enter}
sleep 1200
sendinput, {f6}/me загрузил ящики в грузовик{Enter}
sleep 1200
sendinput, {f6}/do Боец закрыл(а) дверь грузового отсека{Enter}
return

Да, тут со sleep и прочим, но у меня никогда проблем не было вообще. SetkeyDelay стандартный.

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

9 (изменено: Indomito, 2017-01-07 22:41:15)

Re: Исправьте код

belyankin12 пишет:

SetkeyDelay стандартный

Попробуй увеличить - советую, т.к. игры не успевают отображать вывод, хотя это твоё дело.

"На каждое действие есть равная ему противодействующая критика." Постулат Харриссона
OS Windows 7 x64
AutoHotkey v1.1.32.00 - November 24, 2019
Click to Download