Урок: Делаем свой AntiAFK

Статус
В этой теме нельзя размещать новые ответы.

WEB

Новичок
Автор темы
Проверенный
229
38
Приветствую, вас дорогие форумчане и AHK-скриптеры
Сегодня мы будем разбирать такой урок, как написание собственного AntiAFK
Для начала я хочу сказать:
AutoHotkey - это нереально большая и интересная утилита для создания макросов и автоматизации на Windows и ее возможности очень высоки.
Итак, начнем!
Инструменты которые нам сегодня понадобятся:

1. Комп
2. Windows
3. Установленная программа AutoHotkey (скачать можно на http://autohotkey.com )
4. Терпение

Начнем мы с того что создадим файл *.ahk (щелк правой мышкой -> Создать -> AutoHotkey Script)
Назовем его AntiAFK
Щелкаем по AntiAFK.ahk правой кнопкой, в контекстном меню выбираем Edit Script
Все что написано стираем, и вот перед нами чистый будущий скрипт
Выбираем кнопку на которую будет активироваться наш скрипт (лист клавиш можно найти здесь - http://u.to/P47p )

Я выберу сочетание клавиш Alt+1, это будет выглядеть как !1::
Переходим на следующую строку, там указываем метку, к которой мы потом будем возращаться в скрипте
Назовем эту метку например: Trololo:
У нас получается такой скрипт на данный момент:
Код:
!1::
Trololo:

Переходим на следующую строчку и тут начинается все самое интересное
А именно - пишем клавиши которые будут нажиматься за вас
Вводим SendInput, или Send,
Теперь разберем эти Send-функции:
SendInput - самый предпочтительный способ для посылки клавиш, очень быстрый по сравнению с Send, но есть нюансы - клавиши посылаются очень быстро и поэтому если мы делаем скрипт с какими-то движениями для игрока, то лучше юзать Send
Send - обычный способ, похож на то с какой самой быстрой скоростью вводит человек клавиши
На этой же строке далее вводим какая кнопка будет нажиматься
Клавиши при всех дочерних функциях Send употребляются в фигурных скобках { и }
Наша строка будет выглядеть примерно так - Send, {Up Down}
Вы спросите - откуда появилось сразу и Up и Down
Объясняю, Up - это клавиша которая будет нажиматься, обозначает клавишу Стрелка "Вверх" на клавиатуре, в GTA делает шаг вперед
Down после Up показывает что кнопка будет зажата, а если после Up будеть стоять Up, это будет означать что эту клавишу нужно какбэ отпустить
Представим функцию Send, {1 2}
Представим 1 - это клавиша Up на клавиатуре
А 2 после 1 - это значит положить камешек на эту стрелку
Вы наверное так раньше юзали чтобы вас не кикнуло от AFK, а теперь все также, только теперь камешек невидимый
Переходим на следующую строку - там ставим "задержку", т.е. Sleep
Мы ставим к примеру Sleep, 5000
5000 - это 5000 миллисекунд, т.е. 5 секунд
На следующей строке "убираем камешек" с клавиши Вверх
Т.е. вот так - Send, {Up Up}
У нас получается вот такой скриптик на данный момент:
Код:
!1::
Trololo:
Send, {Up Down}
Sleep, 5000
Send,

Мы нажимаем Alt+1, зажимается клавиша Up, по истечении 5 секунд клавиша "отпускается"
Теперь идем дальше
Чтобы все время не нажимать на Alt+1, а спокойно нажать один раз и уйти пить чай, нам нужно поставить переход к нашей метке Trololo чтобы она повторила выполнение
Для этого есть функция Goto
Выглядеть это будет так - Goto, Trololo
Но чтобы наш персонаж не шел вперед бесконечно, поставим задержку после строки где отпускается клавишаUp
Мы можем поставить задержку например на 560 секунд (9.2 минуты)
Это время, данное вверху - приблизтельное время до кика за AFK на Samp-Rp
Итак, получаем данный скрипт:
Код:
!1::
Trololo:
Send, {Up Down}
Sleep, 5000
Send, {Up Up}
Sleep, 560000
Goto, Trololo

Ну и в довершении всего добавим проверку на то что мы находимся в GTA:SA:MP, добавляем функцию паузы для скрипта на клавишу Alt+2 :
Код:
!1::
Trololo:
IfWinActive, GTA:SA:MP
Send, {Up Down}
Sleep, 5000
Send, {Up Up}
Sleep, 560000
Goto, Trololo
!2::Pause

Вот и все! Вы сделали свой собственный AntiAFK-скрипт!
Удачи!

P.S. Для знающих о том почему я поставил проверку на то что мы в данный момент в GTA:SA:MP после меткиTrololo, а не перед ней - а потому что за эти 560 секунд например, вдруг мы нечаянно свернули GTA:SA:MP, включили Counter-Strike, сидим в засаде, а скрипт начнет действовать и выведет вас из засады. Ситуации могут быть разными!

P.S.S. Почему нельзя использовать например клавиши W, A, S, D в Send, {Клавиша Down}
Да потому что эти клавиши будут работать только тогда когда ваша раскладка на английском языке

Автор: Ruskadance
 
Статус
В этой теме нельзя размещать новые ответы.