Тема: AHK: скрипт на нажатие кнопок клавиатуры, и перемещение мыши в игре
Доброго времени суток Всем!
Попробовал написать свой первый скрипт , и неудачно.
Пытался решить вопрос самостоятельно используя документацию по программе AHK
эту: http://script-coding.com/AutoHotkey/Hotkeys.html
и вот эту:http://script-coding.com/AutoHotkey/Macro.html
Но там описано применение горячих клавиш типа: Ctrl, Alt и т.д., символов, комбинации клавиш типа Ctrl+ Alt+S и т.д.
Но к сожалению я не нашел там каким образом можно задействовать "чистые" клавиши букв т.е. не комбинацию.
Теперь суть :
В игре необходимо нажать на клавишу {I} (открывается рюкзак)
Далее переместить курсор в указанные координаты и сделать двойной клик (т.е. использовать)
Далее снова закрыть рюкзак т.е. снова нажать на клавишу I
Все! (Думал все просто!)
Горячей(пусковой) клавишей назначал RControl.(т.к. опять таки не нашел как можно задействовать кнопку на колесике мышки). ![]()
Сначала для записи попробовал использовал AutoScriptWriter II (думал запишу, и удалю все лишнее
! НО не тут-то было!)
И вот чего у меня получилось :
WinWait, ,
IfWinNotActive, , , WinActivate, ,
WinWaitActive, ,
MouseClick, left, 671, 753
Sleep, 100
{CTRLUP}
WinWait, Диспетчер задач Windows,
IfWinNotActive, Диспетчер задач Windows, , WinActivate, Диспетчер задач Windows,
WinWaitActive, Диспетчер задач Windows,
Send, {ALTDOWN}{CTRLDOWN}{ALTUP}{CTRLUP}.{ALTDOWN}{CTRLDOWN}{ALTUP}{CTRLUP}
Sleep, 100В коде выше я не увидел эмуляции нажатия на клавишу Ш (или I).Часть кода:
{CTRLUP}
WinWait, Диспетчер задач Windows,
IfWinNotActive, Диспетчер задач Windows, , WinActivate, Диспетчер задач Windows,
WinWaitActive, Диспетчер задач Windows,
Send, {ALTDOWN}{CTRLDOWN}{ALTUP}{CTRLUP}.{ALTDOWN}{CTRLDOWN}{ALTUP}{CTRLUP}
Sleep, 100Эту часть я удалял т.к. жал её для выхода из экрана игры на раб.стол. (что-бы остановить запись).
К стати вопрос: возможно-ли запустить AutoScriptWriter II непосредственно в окне самой игры, и записать там скрипт ???
Переделывал и остальную часть кода, пробовал по разному, но результат один - не работает! Рюкзак не открывается вообще! Курсор смещается, но проконтролировать правильно-ли нет возможности.
Далее попробовал написать в ручную вот чего получилось:
RControl::
SendKeys:
Send {i} {Raw}
IfWinNotActive, , , WinActivate, ,
Sleep 100
MouseClick, left, 84, 287
MouseClick, left, 84, 287
Sleep 100
Send {i}{Raw}
ReturnЧто не так???
P.S. Координаты курсора отличаются по значению почему-то. В первом случае записывал AutoScriptWriter II
Во втором : входил в игру, перемещал курсор в необходимое место, клеил на монитор кусок бумажки,
выходил из игры, и с помощью проги Auto IT3 WindowSpy вычислял координаты курсора стоящего под наклейкой.
Буду весьма признателен за оказанную помощь.

