• Страница 1 из 1
  • 1
[SAMP] Делаем свой AntiAFK
Владислав
Дата: Четверг, 14.11.2013, 17:53 | Сообщение # 1
Главный
Сообщений:
527
Награды:
5
Offline
АХТУНГ! АТТЕНТИОН! СТАТЬЯ ИСКЛЮЧИТЕЛЬНО ФОР НУБС
НУ И НЕ ТОЛЬКО =)


Приветствую, вас дорогие форумчане и AHK-скриптеры
Сегодня мы будем разбирать такой урок, как написание собственного AntiAFK

Для начала я хочу сказать:
AutoHotkey - это нереально большая и интересная утилита для создания макросов и
автоматизации на Windows и ее возможности очень высоки. Вы даже
представить не можете как они высоки. То что мы можем сделать свой
AntiAFK - это всего лишь первая ступень этого "многоэтажного дома".
Скрипты AutoHotkey также можно сделать для CS, Battlefield и т.д.


Итак, начнем!
Инструменты которые нам сегодня понадобятся:

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


Начнем мы с того что создадим файл *.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, {Up Up}
Мы нажимаем 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}
Да потому что эти клавиши будут работать только тогда когда ваша раскладка на английском языке
  • Страница 1 из 1
  • 1
Поиск: