Цитата
wait 2000
repeat 11
sendex_down @{2}
wait 2000
sendex_up @{2}
wait 1000
sendex_down @{q}
wait 2000
sendex_up @{q}
wait 2000
send down
wait 1000
end_repeat
end_script
Но это не работает, оно нажимает по несколько раз альт+2 и альт+q , а точнее три раза.
а потом или переходит дальше, но чаще всего остается в этом же окне.
Ваши дублинажатий напрямую следуют из кода. Вы нажимаете, например, 2 и держите 2 секунды и только потом отжимаете. Соответственно и получается несколько нажатий. Попробуйте на клавиатуре руками нажать и подержать клавишу несколько секунд - тут точно тоже самое.
Цитата
repeat 11
wait 1s
sendex_down @
wait 100
sendex 2
wait 1s
sendex_up
sendex_down @
wait 1s
sendex q
wait 100
sendex_up
sendex {down}
end_repeat
end_script
Но оно начинает лагать, создает баг, при котором как будто альт и 2 я нажимаю очень много раз (моргает вот так кнопка плэй), потом также альт и q мигает дофига раз.
Аналогичная проблема.
Переходите сразу на lua. Не мучайте себя. Там чуть иной синтаксис, новичку может показаться сложнее, но на практике за счет логичности и предсказуемости результата, писать на нем намного проще.
Несколько сложно с вашим описанием схемы работы скрипта:
Сценарий для скрипта:
1.подождать 1с
2. зажать альт и два (одновременно)
3.подождать 1с
4. зажать и отпустить аль и кью
-- на этом этапе мы получаем не отжатый альт, при этом пытаемся зажать его еще раз
-- еще и дожав q. Т.е. у нас получается зажатой комбинация клаваиш alt+2+q
-- а при отпускании альта и q у нас остается зажатой двойка и вообще нигде по коду
-- двойка далее не отжимается.
5.подождать 1с
6. нажать кнопку со стрелкой вниз
7. зациклить все действия.
Далее исключительно мои додумки того, что вы хотели на самом деле, но ошиблись в написании.
Код
--lua
for i = 1, 11 do
wait(1000)
sendex("@{2}")
wait(1000)
sendex("@{q}")
wait(1000)
sendex("{down}")
end
Если смысл иной, то уточните, что именно имели ввиду в плане действий. Так же учтите разницу между "нажать" и "зажать". Обычно когда пишут "нажать", то подразумевают, что клавиша будет сразу же отжата, а "зажать" - клавишу нужно нажать и держать отпустив через некоторое время, зачастую через несколько строк кода.