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

zKuk

Активный
150
59
что не так ? скрипт работает и вбраузере а должен только в игре название файла ahk.ahk или его обезательно в exe переделывать ?

End::Suspend
MButton::
Loop
{
SetMouseDelay 2.8
ControlSend,, {w down} , ahk_exe GTA5.exe
Sleep, 10
ControlSend,, {w up} , ahk_exe GTA5.exe
Sleep, 10
If(GetKeyState("MButton","P")=0)
Break
}
return
Сделай в начале скрипта #ifwinactive
 

sep

Известный
672
76
Сделай в начале скрипта #ifwinactive
а можешь написать правильно а то я не знаю как правильно писать

кучу ошибок

IfWinActive, GTA5.exe - Grand Theft Auto V
{
End::Suspend
MButton::
Loop
{
SetMouseDelay 2.8
ControlSend,, {w down} , ahk_exe GTA5.exe
Sleep, 10
ControlSend,, {w up} , ahk_exe GTA5.exe
Sleep, 10
If(GetKeyState("MButton","P")=0)
Break
}

}
return
 

try0raw

Потрачен
67
28
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
что не так ?

> ControlSend,, {w down} , ahk_exe GTA5.exe
> ControlSend,, {w up} , ahk_exe GTA5.exe
controlsend пофикшен в рейдже, т.к. процесс накрыли еаком и сделали постоянную смену названия окна игры.
а можешь написать правильно а то я не знаю как правильно писать
во-первых ты тут зачем то в условие запихал хоткеи, так лучше не делать.
во-вторых я сомневаюсь что тебе тут поможет ifwinactive.
 

Limovs

Активный
126
31
Как запретить нажатие определенных клавиш (F4 и F5) на меню загрузки? (Загрузка сделана на GUI обычной картинкой вот код)
ahk загрузка:
Authorization:
Gui, Destroy
Gui, -Caption
Gui, Add, Picture, x-18 y-1 w590 h250 gMenu, C:\Users\user\AppData\Roaming\robfleeca\loading1.png
Gui, Show, w538 h215, Authorization1
Sleep 5000
Goto, Menu
Return
Пока производится данная гуишка, нужно чтобы у пользователя блокировался F4 и F5 и сам скрипт не работал до перехода на след гуишку (Goto, Menu)
 

Pinky_A

Новичок
1
0
Помогите пожалуйста написать ахк на зажатие двух клавиш просто. К примену я нажимаю F1 и у меня должно зажаться на клаве W и E, одновременно.
 

Мутный Дмитрий

Участник
60
4
Как запретить нажатие определенных клавиш (F4 и F5) на меню загрузки? (Загрузка сделана на GUI обычной картинкой вот код)
ahk загрузка:
Authorization:
Gui, Destroy
Gui, -Caption
Gui, Add, Picture, x-18 y-1 w590 h250 gMenu, C:\Users\user\AppData\Roaming\robfleeca\loading1.png
Gui, Show, w538 h215, Authorization1
Sleep 5000
Goto, Menu
Return
Пока производится данная гуишка, нужно чтобы у пользователя блокировался F4 и F5 и сам скрипт не работал до перехода на след гуишку (Goto, Menu)
Хочу немного поинтересоваться, для чего именно данный скрипт ?

ahk загрузка:
Authorization:
work := false
Gui, Destroy
Gui, -Caption
Gui, Add, Picture, x-18 y-1 w590 h250 gWorks, C:\Users\user\AppData\Roaming\robfleeca\loading1.png
Gui, Show, w538 h215, Authorization1
Sleep 5000
Goto, works
Return

works:
{
work := true
goto menu
}

F4::
if(work)
{
и тут уже работающий код
return
}
# короче, надо сделать переменную, и при нажатии кнопки например F4, проверяется true или false, если true - скрипт работает, если false - скрипт не будет работать.
 

Rioc

Новичок
4
0
Народ я вообще не знаю как в AHK пользоватся Чатлогом.
Мне надо такой скрипт. Вот например я рыбачу в игре и в игре пишет вот такая строка "Вы попытались вытянуть рыбу Плотву и удочка сломалась". После этого сообщения мне надо что бы я написал команду в чате "/s вот же пипец." Главное что бы я так мог делать каждый раз когда удочка ломалась и заместо Плотвы может быть любая рыба. Карась, кижуч, карп.
Так я AHK пользуюсь и создаю на уровне чайника а вот такие сложные скрипты мне не по силам. И если где можно найти уроки именно связанно с chatlog.txt я бы с удовольствием поучил.
 
Последнее редактирование:

Limovs

Активный
126
31
Хочу немного поинтересоваться, для чего именно данный скрипт ?
Бот для GTA5RP,по нажатию F4 скрипт нажимает на картинки (ImageSearch), типо я хочу сделать скрипт с авторизацией, но когда там авторизация скрипт все равно работает.
 
Последнее редактирование:

Мутный Дмитрий

Участник
60
4
Бот для GTA5RP,по нажатию F4 скрипт нажимает на картинки (ImageSearch), типо я хочу сделать скрипт с авторизацией, но когда там авторизация скрипт все равно работает.
Нужно сделать переменную, при запуске дать значение переменной FALSE, например: work := false на окне авторизации, когда ты нажимаешь кнопку, у тебя происходит goto (хз как правильно говорить, я называю телепорт), короче ты телепортируешься на другое окно, например окно: спасибо, всё чётко и т.д, и тут ты должен дать значение true: work := true. И когда ты нажимаешь F4, ты должен сделать проверку:

F4::
if work = true
{
тут твой код
}
и когда значение будет false, то при нажатии F4, ничего не будет происходить, а если будет значение true, то будет (тут твой код) работать. +- как-то так
 
  • Нравится
Реакции: Limovs

Limovs

Активный
126
31
Нужно сделать переменную, при запуске дать значение переменной FALSE, например: work := false на окне авторизации, когда ты нажимаешь кнопку, у тебя происходит goto (хз как правильно говорить, я называю телепорт), короче ты телепортируешься на другое окно, например окно: спасибо, всё чётко и т.д, и тут ты должен дать значение true: work := true. И когда ты нажимаешь F4, ты должен сделать проверку:

F4::
if work = true
{
тут твой код
}
и когда значение будет false, то при нажатии F4, ничего не будет происходить, а если будет значение true, то будет (тут твой код) работать. +- как-то так
Спасибо, скоро проверю.
 

Limovs

Активный
126
31
Нужно сделать переменную, при запуске дать значение переменной FALSE, например: work := false на окне авторизации, когда ты нажимаешь кнопку, у тебя происходит goto (хз как правильно говорить, я называю телепорт), короче ты телепортируешься на другое окно, например окно: спасибо, всё чётко и т.д, и тут ты должен дать значение true: work := true. И когда ты нажимаешь F4, ты должен сделать проверку:

F4::
if work = true
{
тут твой код
}
и когда значение будет false, то при нажатии F4, ничего не будет происходить, а если будет значение true, то будет (тут твой код) работать. +- как-то так
AHK:
Access := false

Authorization:
BlockInput On
Gui, Destroy
Gui, -Caption
Gui, Add, Picture, x-8 y-1 w550 h170 gMenu, C:\Users\user\AppData\Roaming\robfleeca\loading1.png
Gui, Show, w540 h168, Authorization1
Sleep 2700
BlockInput Off
Access := true
Goto, Menu
Return

Menu:
Gui, Destroy
Gui, -Caption
Gui, Add, Picture, x-18 y-1 w590 h250 ,  C:\Windows\Temp\SEB\menu.jpg
Gui, Add, Picture, x502 y9 w30 h30 gExit, C:\Windows\Temp\SEB\exitapp.png
; Generated using SmartGUI Creator for SciTE
Gui, Show, w538 h215, Menu1
return

F4::
if Access = true
{
MsgBox, 1
}
return

Чет не работает я жму F4 после авторизации но msgbox не появляется
 
  • Нравится
Реакции: Sam_Monroe

zKuk

Активный
150
59
AHK:
Access := false

Authorization:
BlockInput On
Gui, Destroy
Gui, -Caption
Gui, Add, Picture, x-8 y-1 w550 h170 gMenu, C:\Users\user\AppData\Roaming\robfleeca\loading1.png
Gui, Show, w540 h168, Authorization1
Sleep 2700
BlockInput Off
Access := true
Goto, Menu
Return

Menu:
Gui, Destroy
Gui, -Caption
Gui, Add, Picture, x-18 y-1 w590 h250 ,  C:\Windows\Temp\SEB\menu.jpg
Gui, Add, Picture, x502 y9 w30 h30 gExit, C:\Windows\Temp\SEB\exitapp.png
; Generated using SmartGUI Creator for SciTE
Gui, Show, w538 h215, Menu1
return

F4::
if Access = true
{
MsgBox, 1
}
return

Чет не работает я жму F4 после авторизации но msgbox не появляется
AutoHotKey:
Access := "false"

Authorization:
BlockInput On
Gui, Destroy
Gui, -Caption
Gui, Add, Picture, x-8 y-1 w550 h170 gMenu, C:\Users\user\AppData\Roaming\robfleeca\loading1.png
Gui, Show, w540 h168, Authorization1
Sleep 2700
BlockInput Off
Access := "true"
Goto, Menu
Return

Menu:
Gui, Destroy
Gui, -Caption
Gui, Add, Picture, x-18 y-1 w590 h250 ,  C:\Windows\Temp\SEB\menu.jpg
Gui, Add, Picture, x502 y9 w30 h30 , C:\Windows\Temp\SEB\exitapp.png
; Generated using SmartGUI Creator for SciTE
Gui, Show, w538 h215, Menu1
return

F4::
if (Access = "true")
{
MsgBox, 1
}
return
 

Sam_Monroe

Известный
58
2
Здравствуйте. Пытался разобраться сам, но безуспешно. Мозгов хватило только на скрипт, который делает действие через sleep. Но можно его сделать так, чтобы вместо интервала он прописывал то же действие, когда в чатлоге появится надпись "одержал победу"? (Если это важно, то целая строка выглядит вот так
Код:
[23:23:27] Nick[0] одержал победу в DM-Битве! Побед: 27.
)

Сам скрипт сейчас выглядит вот так:
Код:
m::                   
Random, var1, 1, 10
Loop
{
  Send {F6}/czona %var1% 24{enter}
  Sleep 100000
}
Return

l::                 
  If not Stop
  {
    Stop := True
    Pause
  }
Return

p::                 
  If Stop
  {
    Stop := False
    Pause
  }
Return
 
  • Влюблен
Реакции: Limovs

Frostixman

Новичок
11
7
Здравствуйте, мне нужен скрипт который бы при нажатии пробела, так же нажимал бы вместе с ним CTRL
Я нажимаю пробел - скрипт вместе с пробелом нажимает CTRL и сразу всё отпускает.
Нужно для Long Jump в ксго, когда ты выпрыгиваешь нажав две кнопки одновременно, летишь дальше. Раньше был такой конфиг, но сейчас он не работает на серверах, а руками делать крайне неудобно на клаве, тогда стрейфы не получается делать первые нормально. Заранее благодарю
 

Stan.Lamare

Известный
7
1
Подскажите, пж из-за чего путает строки при чтении чата. Например при написании стен в чат улетает реакция на строку сири и наоборот.

Код скрипта:
#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
;#Warn  ; Enable warnings to assist with detecting common errors.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.
#SingleInstance force
#Persistent
#Include %A_ScriptDir%\SAMPUDF.ahk
#IfWinActive GTA:SA:MP
lastLines := "" ; список последних обработанных строк

SetTimer, CheckChat, 50

loop
{
    if(IsSAMPAvailable())
    {
        sleep 7000
        UserName := getUsername()
         StringLower, cUserName, UserName
        If (!RegExMatch(cUserName, "_lamare$"))
        {
            loop, 3
                addChatMessage("{9b42f4}[Lamare Helper]:{dad0dd} Скрипт работает только для членов семьи Lamare. ")
            ExitApp
        }
        addChatMessage("{9b42f4}[Lamare Helper]:{dad0dd} Скрипт 'Lamare Helper' успешно загружен. Автор: Stan Lamare")
        Nick := RegExReplace(UserName, "_", A_Space)
        sex := getsexbyskin(getPlayerSkinId())
        addChatMessage("{9b42f4}[Lamare Helper]:{dad0dd} Приветствуем вас, " Nick ". ")
        break
    }
}
return

CheckChat() {
  lastLine := getChatLineEx(0) ; читаем последнюю строку чата
  StringLower, clastLine, lastLine
  If (clastLine <> "") and (!InStr(lastLines, clastLine)) ; если строка не пустая и не обработанная
  {
    if (RegExMatch(clastLine, "-\s*.*\s*\[\d{1,3}\]"))  ; если строка содержит " - " и число в скобках от 1 до 999
    {
      If (RegExMatch(clastLine, "i)\b[Сс]т[еа]н\b")) ; если строка содержит "Стен", "Стан", "стен" или "стан"
      {
        Random, RandBee, 1,5
        Switch RandBee
        {
          case 1:  SendChat("/do *голос из смартфона*: Он Стэн. *утвердительным тоном сказала Алиса*")
          case 2: SendChat("/do *голос из смартфона*: Думаю с вами разговор окончен")
          case 3:
          SendChat("/do *голос из смартфона*: А вам было бы приятно если бы всякие *** ...")
          sleep 200
          SendChat("/do *голос из смартфона*: ... не правильно произносили ваше имя")
          case 4:
          SendChat("/do *голос из смартфона*: Кто же этот нехороший человек,...")
          sleep 200
          SendChat("/do *голос из смартфона*: Который дал вам неверную информацию?")
          case 5: SendChat("/do *голос из смартфона*: Что-то мне подсказывает, что вас проигнорируют")
        }
      }
      if (RegExMatch(clastLine, "^(?!.*маруся|.*сири|.*алекса|.*окей гугл|.*алёша|.*алина|.*алисия|.*покажи|.*включи|.*скажи|.*привет сири).*$", o))
      {
        Random, Randsiri, 1,6
        Switch Randsiri
        {
          case 1:  SendChat("/do *голос из смартфона*: Какая тонкая шутка. Сарказм.")
          case 2: SendChat("/do *голос из смартфона*: Я сейчас чуть не удалилась в сердцах.")
          case 3: SendChat("/do *голос из смартфона*: Конечшно же я не Сири. Я Алиса")
          case 4: SendChat("/do *голос из смартфона*: А вам было бы приятно если бы всякие не правильно произносили ваше имя?")
          case 5: SendChat("/do *голос из смартфона*: Нет, я не Сири")
          case 6: SendChat("/do *голос из смартфона*:Это вот обидно было")
        }
      }
    }
    lastLines := clastLine ; добавляем строку в список последних обработанных строк
    }
}   
return
 
Последнее редактирование: