Тема: AHK V2: GTA-бот | Автоматизация действий (2026)
Всех приветствую. Я занимаюсь написание скриптов для игр на AHK, ранее писал скрипты для GTA SAMP при помощи SAMP udf, при этом снимаю обучающие видео на YouTube.
Ниже предоставляю открытый код для базы БОТА, исходный код не большой, имеются пояснительные комментарии, поэтому при желание можно быстро разобраться. Если у кого-то будут вопросы, пишите, отвечу.
;Объявление версии
#Requires AutoHotkey v2.0
#SingleInstance Force
;Объявление Глобальный переменных/флагов
global isRunning := false
global IsBusy := false
global LastPick := 0
; Список действий (функции)
global Actions := [Act1, Act2, Act3, Act4, Act5]
;Кнопка включения/выключения бота
F6::ToggleBot()
ToggleBot() {
global isRunning
isRunning := !isRunning
if isRunning {
ToolTip "GTA Bot: ON"
ScheduleNext() ; запускаем планировщик
} else {
ToolTip "GTA Bot: OFF"
SetTimer RunRandomAction, 0 ; выключаем будущий запуск
}
SetTimer () => ToolTip(), -1000
}
ScheduleNext() {
global isRunning
if !isRunning
return
delay := Random(15000, 60000) ; 15-60 сек
SetTimer RunRandomAction, -delay ; один раз
}
RunRandomAction() {
global Actions, LastPick, IsBusy, isRunning
if !isRunning
return
if IsBusy {
ScheduleNext()
return
}
IsBusy := true
count := Actions.Length
if (count = 1) {
pick := 1
} else {
; не повторяем предыдущий
loop {
pick := Random(1, count)
} until (pick != LastPick)
}
LastPick := pick
; выполнить выбранное действие
Actions[pick].Call()
IsBusy := false
ScheduleNext()
}
; ====== ДЕЙСТВИЯ БОТА ======
Act1() {
Send "w"
Sleep Random(80, 140)
Send "s"
Sleep Random(300, 600)
Send "a"
Sleep Random(300, 600)
Send "d"
Sleep Random(300, 600)
}
Act2() {
Send "{Shift}"
Sleep 200
}
Act3() {
Click "Left"
}
Act4() {
Send "i"
Sleep Random(1000, 1500)
Send "i"
Sleep Random(1000, 1500)
}
Act5() {
Send "w"
Sleep Random(80, 140)
Send "s"
Sleep Random(300, 600)
Send "a"
Sleep Random(300, 600)
Send "d"
Sleep Random(300, 600)
}
Версия: v 1.1

