Вопросы по AHK-скриптингу

KommandosNOD

Известный
7
0
Всем привет! Подскажите пожалуйста, есть ли возможность блокировать нажатие клавиш при проигрывании скрипта:

Например отыгрывается большой кусок кода и случайно нажиматеся клавиша W то где-нибудь слетает бинд и буква W вклинивается в отыгровку.

32132095ba7c850bb847d.png


Пример:
:?:/zapravka::
SendMessage, 0x50,, 0x4190419,, A
Sendinput, {F6}
Sleep, 1000
Sendinput, /me повернул ключ в замке зажигания в положение "Выкл."{enter}
Sleep 2000
Sendinput, {F6}
Sleep 1000
Sendinput, /me левой рукой нажал на кнопку стеклоподьемника автомобиля{enter}
sleep 3000
Sendinput, {F6}
Sleep 1000
Sendinput, /do Окно водительской двери автомобиля плавно опустилось.{enter}
Sleep 3000
Sendinput, {F6}
Sleep 1000
Sendinput, /todo Здравствуйте, мне пожалуйста девяностопятый, полный бак{*}обратившись к заправщику.{enter}
Sleep 3000
Sendinput, {F6}
Sleep 1000
Sendinput, /do Работник заправки: Хорошо, с вас три тысячи рублей.{enter}
Sleep 3000
Sendinput, {F6}
Sleep 1000
Sendinput, /do На торпеде автомобиля лежит портмоне из крокодиловой кожи.{enter}
Sleep 3000
Sendinput, {F6}
Sleep 1000
Sendinput, /me правой рукой взял портмоне с торпеды{enter}
Sleep 3000
Sendinput, {F6}
Sleep 1000
Sendinput, /me открыв портомне, вытащил несколько купюр, затем отсчитал нужную сумму денег{enter}
return
 

zzalupka

Участник
48
22
Всем привет! Подскажите пожалуйста, есть ли возможность блокировать нажатие клавиш при проигрывании скрипта:

Например отыгрывается большой кусок кода и случайно нажиматеся клавиша W то где-нибудь слетает бинд и буква W вклинивается в отыгровку.

Пример:
:?:/zapravka::
SendMessage, 0x50,, 0x4190419,, A
Sendinput, {F6}
Sleep, 1000
Sendinput, /me повернул ключ в замке зажигания в положение "Выкл."{enter}
Sleep 2000
Sendinput, {F6}
Sleep 1000
Sendinput, /me левой рукой нажал на кнопку стеклоподьемника автомобиля{enter}
sleep 3000
Sendinput, {F6}
Sleep 1000
Sendinput, /do Окно водительской двери автомобиля плавно опустилось.{enter}
Sleep 3000
Sendinput, {F6}
Sleep 1000
Sendinput, /todo Здравствуйте, мне пожалуйста девяностопятый, полный бак{*}обратившись к заправщику.{enter}
Sleep 3000
Sendinput, {F6}
Sleep 1000
Sendinput, /do Работник заправки: Хорошо, с вас три тысячи рублей.{enter}
Sleep 3000
Sendinput, {F6}
Sleep 1000
Sendinput, /do На торпеде автомобиля лежит портмоне из крокодиловой кожи.{enter}
Sleep 3000
Sendinput, {F6}
Sleep 1000
Sendinput, /me правой рукой взял портмоне с торпеды{enter}
Sleep 3000
Sendinput, {F6}
Sleep 1000
Sendinput, /me открыв портомне, вытащил несколько купюр, затем отсчитал нужную сумму денег{enter}
return
мб
Код:
BlockInput, On ; блокировка ввода от клавиатуры и мыши

SendMessage, 0x50,, 0x4190419,, A
Sendinput, {F6}
Sleep, 1000
Sendinput, /me повернул ключ в замке зажигания в положение "Выкл."{enter}
Sleep 2000
Sendinput, {F6}
Sleep 1000
Sendinput, /me левой рукой нажал на кнопку стеклоподьемника автомобиля{enter}
sleep 3000
Sendinput, {F6}
Sleep 1000
Sendinput, /do Окно водительской двери автомобиля плавно опустилось.{enter}
Sleep 3000
Sendinput, {F6}
Sleep 1000
Sendinput, /todo Здравствуйте, мне пожалуйста девяностопятый, полный бак{*}обратившись к заправщику.{enter}
Sleep 3000
Sendinput, {F6}
Sleep 1000
Sendinput, /do Работник заправки: Хорошо, с вас три тысячи рублей.{enter}
Sleep 3000
Sendinput, {F6}
Sleep 1000
Sendinput, /do На торпеде автомобиля лежит портмоне из крокодиловой кожи.{enter}
Sleep 3000
Sendinput, {F6}
Sleep 1000
Sendinput, /me правой рукой взял портмоне с торпеды{enter}
Sleep 3000
Sendinput, {F6}
Sleep 1000
Sendinput, /me открыв портомне, вытащил несколько купюр, затем отсчитал нужную сумму денег{enter}

BlockInput, Off ; разблокировка ввода от клавиатуры и мыши
 

KommandosNOD

Известный
7
0
мб
Код:
BlockInput, On ; блокировка ввода от клавиатуры и мыши

SendMessage, 0x50,, 0x4190419,, A
Sendinput, {F6}
Sleep, 1000
Sendinput, /me повернул ключ в замке зажигания в положение "Выкл."{enter}
Sleep 2000
Sendinput, {F6}
Sleep 1000
Sendinput, /me левой рукой нажал на кнопку стеклоподьемника автомобиля{enter}
sleep 3000
Sendinput, {F6}
Sleep 1000
Sendinput, /do Окно водительской двери автомобиля плавно опустилось.{enter}
Sleep 3000
Sendinput, {F6}
Sleep 1000
Sendinput, /todo Здравствуйте, мне пожалуйста девяностопятый, полный бак{*}обратившись к заправщику.{enter}
Sleep 3000
Sendinput, {F6}
Sleep 1000
Sendinput, /do Работник заправки: Хорошо, с вас три тысячи рублей.{enter}
Sleep 3000
Sendinput, {F6}
Sleep 1000
Sendinput, /do На торпеде автомобиля лежит портмоне из крокодиловой кожи.{enter}
Sleep 3000
Sendinput, {F6}
Sleep 1000
Sendinput, /me правой рукой взял портмоне с торпеды{enter}
Sleep 3000
Sendinput, {F6}
Sleep 1000
Sendinput, /me открыв портомне, вытащил несколько купюр, затем отсчитал нужную сумму денег{enter}

BlockInput, Off ; разблокировка ввода от клавиатуры и мыши
Благодарю! А можно ли как то не блокировать, например паузу, которая встроена в скрипт? Потому что, если вдруг надо альтабнутся, то все заблокированно и ждешь пока доиграет скрипт 😀 Можно конечно это сделать каждый раз когда чат открывается, перед F6 ставить, но может есть способ проще?) Или например заблокировать определённые клавиши клавиатуры, или наоборот выставить исключения?

пример:
!F11:: ; Приостановка по F11.
  If not Stop
  {
Stop := True
Pause
  }
Return

^F12:: ; Возобновление по F12.
 If Stop
 {
 Stop := False
 Pause
 }
Return


Еще вопрос, может есть какие-то шпоры на МТА? Типо msgbox'а без UDF'оф (для мта чет не нашел). Ну или если есть кто делает?
 
Последнее редактирование:
  • Грустно
Реакции: zzalupka

Wyatt_.

Участник
36
2
У меня есть вопрос, который меня беспокоит...

Если я конвертирую .ahk в .exe, а затем запускаю его с помощью сценария LUA, открывает ли он какие-либо окна в моей операционной системе или все это невидимо?

я LUA, открывает ли он какие-либо окна в моей операционной системе или все это невидимо?
 

Victor_Mironov

Новичок
1
0
Всем привет. Помогите написать скрипт, который после запуска будет делать определенные действия по истечении 10 минут (типа запустил бинд, время 10 минут прошло и он сделал действия, после опять 10 минут прошло и он опять сделал действия). Примерно что должен делать: Прописать в чат /time и чтоб после этого персонаж походил влево - вправо. Ну и сделать так чтоб он на определенные кнопки включался и выключался. Буду благодарен
 

darksoor

Известный
674
353
Всем привет. Помогите написать скрипт, который после запуска будет делать определенные действия по истечении 10 минут (типа запустил бинд, время 10 минут прошло и он сделал действия, после опять 10 минут прошло и он опять сделал действия). Примерно что должен делать: Прописать в чат /time и чтоб после этого персонаж походил влево - вправо. Ну и сделать так чтоб он на определенные кнопки включался и выключался. Буду благодарен
Вот тебе самый простой пример
AutoHotKey:
~F4::
SetTimer, timer, % ((startTimer:=!startTimer) ? 600000 : "Off")
if (startTimer)
  Gosub, timer
Return 

timer:
Random, rand, 1, 4
if rand == 1
   Send, {W}
Else if rand == 2
   Send, {A}
Else if rand == 3
   Send, {S}
Else if rand == 4
   Send, {D}

Sleep, 200
Return
 

Armya

Участник
32
13
Есть скрипт который открывает ярлык gta_sa.exe, но нужно сделать так, что бы во время работы gta эта часть скрипта переставал работать.

Часть скрипта, которая должна перестать работать:
1::
Run, C:\Users\User\Desktop\luk.lnk, max
sleep, 1
return

2::
reload
return
 

darksoor

Известный
674
353
Есть скрипт который открывает ярлык gta_sa.exe, но нужно сделать так, что бы во время работы gta эта часть скрипта переставал работать.

Часть скрипта, которая должна перестать работать:
1::
Run, C:\Users\User\Desktop\luk.lnk, max
sleep, 1
return

2::
reload
return
Используй условие IfWinExist или IfWinActive
 

Furents

Новичок
1
0
Изучал AHK скрипт для SAMP'a. По всему скрипту разбросаны такие вот непонятные белые "квадратики". Даже не могу назвать их. Знаю, что это в конечном итоге это должно трансформироваться в текст с русскими буквами, за исключением того, что написано на английском. При копированные такого текста (скопировал строку 2287) выходит это: Sendinput, /do Ѭల��⠪బ୥.{enter}. Что это такое, как это называется, как это расшифровать и как зашифровывать текст в таком формате?
Прикладываю скриншот-пример:
 

darksoor

Известный
674
353
Изучал AHK скрипт для SAMP'a. По всему скрипту разбросаны такие вот непонятные белые "квадратики". Даже не могу назвать их. Знаю, что это в конечном итоге это должно трансформироваться в текст с русскими буквами, за исключением того, что написано на английском. При копированные такого текста (скопировал строку 2287) выходит это: Sendinput, /do Ѭల��⠪బ୥.{enter}. Что это такое, как это называется, как это расшифровать и как зашифровывать текст в таком формате?
Прикладываю скриншот-пример:
Кодировку просто поменяй на Windows 1251
 

mizer

Новичок
3
0
Разберите пожалуйста код
1623969108353.png


Gui, Font, S8 CDefault Bold, arnamu
Gui, Add, Text, x552 y579 w-530 h-570 , Text
Gui, Add, Text, x-12 y19 w270 h20 +Center, miz cheat
Gui, Add, Button, x67 y49 w110 h30 gBhop, bhop
Gui, Add, GroupBox, x-326 y-239 w568 h278 , GroupBox
Gui, Add, Button, x67 y279 w110 h30 gReload, reload all scripts
; Generated using SmartGUI Creator 4.0
Gui, Show, x578 y269 h340 w249, New GUI Window
Return
Bhop:
*~$Space::
Sleep 5
Loop
{
GetKeyState, SpaceState, Space, P
If SpaceState = U
break
Sleep 1
Send, {Blind}{Space}
}
return
Reload:
reload
return
GuiClose:
ExitApp
Когда жму reload скрипты не прекращают действие
Бхоп автоматически включается при запуске
 
Последнее редактирование:

justika

Новичок
2
0
Не особо разбираюсь, пытался делать из базы БХОПа но не вышло, прошу помощь с созданием скрипта
При зажатии ЛКМ нажимается G, когда отжимаю ЛКМ повторно нажимается G