Полная версия этой страницы:
Макросы с помощью Autohotkey
iMagus
Jan 20 2012, 15:51
Обещал Нарайоту пример макроса
1. Идем на сайт автохоткея:
http://www.autohotkey.com/download/2. Качаем
http://www.autohotkey.com/download/AutoHotkeyInstall.exe3. Устанавливаем
4. Создаем скрипт macros.ahk
Пример скрипта:
Код
; Справка:
; "+" - модификатор клавиши Shift
; "^" - модификатор клавиши Ctrl
; "!" - модификатор клавиши Alt
; Имена клавиш: http://www.script-coding.com/AutoHotkey/Send.html
;Работает только при активном окне СВТОРа
#IfWinActive Star Wars: The Old Republic
; Горячая клавиша 1
;При нажатии клавиши "1" отправляется последовательность 67q и Ctrl+5
*1::; Надо обратить внимание, что с модификаторами Ctrl, Shift, Alt эта горячая клавиша тоже будет срабатывать.
Send, {6}{7}{q}
Sleep, 25
;Send, ^5
return
;;;;;;;;;;;;;;;;
; Горячая клавиша 2
;Пока нажата клавиша "2", отправляется Shift+5 или "%"
2::; А эта горячая клавиша не будет срабатывать с Ctrl, Shift, Alt - отсутствует звездочка в начале
Loop {
GetKeyState, state, 2, p
if state = U
break
Send, +5
Sleep, 25
}
return
;;;;;;;;;;;;;;;
; Горячая клавиша 3
;Пока нажаты Ctrl+3, отправляется "u"
*^3::; Работает даже если нажать Ctrl+Alt+Shift+3
Loop {
GetKeyState, state, 3, p
if state = U
break
Send, {u}
Sleep, 25
}
return
;;;;;;;;;;;;;;;;;
; Горячая клавиша 4
;Например, надо прожать одной кнопкой баффы - адреналин + релик
;Вешаем макрос на Ctrl+e
^e::
Send, ^u;На Ctrl+u у нас адреналин
Sleep, 25;величину задержки можно подобрать другую
Send, ^j;На Ctrl+j у нас релик
return
;;;;;;;;;;;;;;;;;;;;;;
5. Делаем двойной клик на этом файле, чтобы запустить скрипт
6. Наслаждаемся работой скрипта (или ругаемся, если он срабатывает не по делу)
Narayoth
Jan 20 2012, 16:17
Ага, спасибо. Уже понятнее. В чем считается величина задержки?
iMagus
Jan 20 2012, 16:22
В миллисекундах. Но тут надо учитывать еще скорость работы функции Send - она сама по себе довольно медленная. Можно использовать SendInput - она гораздо быстрее, но тоже не совсем мгновенная.
Хронос_
Jan 20 2012, 16:23
В игре, которую нельзя называть, за такое банили. Наверняка в свторе тоже скрипты запрещены.
iMagus
Jan 20 2012, 16:27
За какое такое? Я почему-то уверен, что за такие макросы нигде никогда никого не банили. Ибо неотслеживаемо и некриминально.
Цитата(Хронос_ @ Jan 20 2012, 17:23)
В игре, которую нельзя называть, за такое банили. Наверняка в свторе тоже скрипты запрещены.
им пока не до этого
Narayoth
Jan 20 2012, 17:50
Цитата(iMagus @ 20th January 2012 - 17:27)
Ибо неотслеживаемо и некриминально.
Наверное, отслеживаемо, если специально следить за одним игроком в течение некоторого времени.
ve1kyne
Jan 20 2012, 17:52
Спасибо не хватало макросов
Хронос_
Jan 20 2012, 18:16
Цитата(iMagus @ Jan 20 2012, 17:27)
За какое такое? Я почему-то уверен, что за такие макросы нигде никогда никого не банили.
Да пользуйся на здоровье
iMagus
Jan 20 2012, 18:57
Цитата(Narayoth @ 20th January 2012 - 18:50)
Наверное, отслеживаемо, если специально следить за одним игроком в течение некоторого времени.
Скорее, если шпионский софт на компьютер игрока поставить.
Сказочник
Jan 20 2012, 19:25
Цитата(iMagus @ Jan 20 2012, 19:57)
Скорее, если шпионский софт на компьютер игрока поставить.
второй процесс свтора?
ve1kyne
Jan 22 2012, 15:10
У меня чего то перестал с свтором работать, с другими прогами работает, не ужели пофиксили:(
Bergman
Jan 23 2012, 9:48
Цитата(ve1kyne @ Jan 22 2012, 16:10)
У меня чего то перестал с свтором работать, с другими прогами работает, не ужели пофиксили:(
Когда-то в вархаммере тоже переставал работать, разрабы стали по-другому клавиатурные нажатия обрабатывать. Вылечилось долгим и внимательным курением мануалов)
Narayoth
Jan 23 2012, 10:39
В Вархаммере макросы были. Зачем там автохоткей?
Сказочник
Jan 23 2012, 12:50
из него делали бота и выращивали какую-то травку что ли...
а что на макросы кроме эмоций можно биндить то?) не особо в них вижу смысла пока
Сказочник
Jan 23 2012, 14:42
люди считают, что те 20-30мс, что они выигрывают на этом спасут их в ситуации, где на принятие решения у них уходит 500мс.
Тогда как для меня значительно логичнее оптимизировать скорость принятия решения, ведь физическая разница в механических реакциях становится несущественной, если принимать во внимание общее время выполнения операции.
по факту же, все эти бинды, макросы и тонны напоминалок на экране - баловство.
вот лучше бы камеру отдалять можно было
это единственный макрос, который я использовал "там"
iMagus
Jan 23 2012, 14:46
Цитата(ve1kyne @ 22nd January 2012 - 16:10)
У меня чего то перестал с свтором работать, с другими прогами работает, не ужели пофиксили:(
Вроде уже решилась проблема, но отпишу еще тут.
Варианты действий:
- запускать скрипт от имени администратора (возможно, предварительно скомпилировать его в exe)
- заменить тексте скрипта Send на SendInput или SendPlay
Сказочник
Jan 23 2012, 14:48
Цитата(Nick @ Jan 23 2012, 15:43)
вот лучше бы камеру отдалять можно было
это единственный макрос, который я использовал "там"
а у меня "там" был макрос "Я умею летать!!11", чтобы тыкать его, когда меня босс пинает.
а вот камеру я не отдалял.
мне просто для видео это нужно, а то как в капсуле
а еще макрос был ХИДЕКИ БОРИСЬ!
Цитата(Nick @ Jan 23 2012, 15:43)
вот лучше бы камеру отдалять можно было
это единственный макрос, который я использовал "там"
В настройках можно менять дальность отдаления камеры.
Цитата(Makey @ Jan 23 2012, 16:26)
В настройках можно менять дальность отдаления камеры.
спс)
Narayoth
Jan 23 2012, 16:13
Цитата(Сказочник @ Jan 23 2012, 15:42)
люди считают, что те 20-30мс, что они выигрывают на этом спасут их в ситуации, где на принятие решения у них уходит 500мс.
Тогда как для меня значительно логичнее оптимизировать скорость принятия решения, ведь физическая разница в механических реакциях становится несущественной, если принимать во внимание общее время выполнения операции.
по факту же, все эти бинды, макросы и тонны напоминалок на экране - баловство.
Удобнее нажать 3 раза на одну кнопку, чем на 3 кнопки по 1 разу. Макросы - это удобство. Скилл они не повышают, я не знаю откуда вообще взялось такое мнение.
Lanser
Jan 23 2012, 18:00
чем больше удобств, тем меньше скилл
Цитата(Makey @ Jan 23 2012, 18:26)
В настройках можно менять дальность отдаления камеры.
Это очень хорошо
Надо будет попробовать
Цитата(Narayoth @ Jan 23 2012, 17:13)
Удобнее нажать 3 раза на одну кнопку, чем на 3 кнопки по 1 разу.
в swtor это точно неудобно, по крайней мере я это выяснил для себя =\
зато, конечно, можно сократить количество хоткеев
Groxel
Jan 23 2012, 20:03
Мне макросы в WoW экономили кучу места на панелях, т.к. на один слот я вешал до 3х абилок. Тут же ппц, весь экран в абилках и биндах.
Биовари тоже придут к этому, но не сразу. История повторяется же
Lanser
Jan 23 2012, 22:37
как это весь экран в абилках? всего 4 панельки то... в ЕК2 наверно не играли
Narayoth
Jan 23 2012, 23:27
Цитата(Nick @ 23rd January 2012 - 20:09)
в swtor это точно неудобно, по крайней мере я это выяснил для себя =\
Возможно зависит от класса, но несколько скиллов на одну кнопку себе я бы точно повесил.
Tverdoslav
Jan 24 2012, 6:35
Цитата(Nick @ Jan 23 2012, 14:43)
вот лучше бы камеру отдалять можно было
это единственный макрос, который я использовал "там"
эээээ... А там можно камеру отдалять... Причем довольно прилично... Дальность отдаления в настройках выставляется... Или ты про другое отдалени?
gakhan
Feb 18 2013, 15:54
Подскажите, пишу не по данной игре, но увидел скрипт AHK, пытаюсь найти или создать макрос через autohotkey для игры Властелин Колец онлайн (у вас такой к сожалению нет), и не могу разобраться как мне одним нажатием запускать один безоткатный скил. Если кто сможет помочь отпишитесь сюда или в личку.
Код
^q::
Loop
{
Send q
Sleep 100
}
+q::pause
Q - клавиша, на которую нужно забиндить искомый скилл. Можно не Q а любую другую (поменять соответственно в скрипте).
Ctrl+Q Запускает скрипт, Shift+Q ставит на паузу.
Как создать скрипт и что с ним делать - читай мануал непосредственно к программе.
Интересная програмка, я то пользуюсь драйверами мышки - всегда считались гораздо более трудными для обнаружения, да и юридические коллизии возникают, так как партнёры производители мышек могут обидеться на препятсвование работе их устройств.
Но возникла идея, можно ли в этой проге ввессти функцию "если", если что-то на кд то юзать другую абилку. Т. е. скрипту должно быть известно что после прожатия макроса х абилка х на кд а, а абилка у на кд б., что бы при повторном нажатии макроса х отправлялась сразу абилка z. Сейчас эту функцию у некоторых классов, особенно не кастеров, можно решить банальным перебором абилок - забивая в макрос их последовательное нажатие от наиболее предпочтительной к наименее и в случае, если первая абилка на кд или не хватет ресурса отправляется 2я, но где-то к 5ой-6ой задержка при такой проверке начинает составлять 0,6-0,7 секунды, что уже очень много. Есть идеи как реализовать такую проверку более умно?
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.