Цитата
Два раза sendex я писала, чтобы снять нажатие с клавиш. Я и убирала его (было только один раз написано) и возвращала. И паузу ставила между ними. Ноль реакции. Точнее, два раза тыкалось.
Насчет sendex, я как поняла, раз начал везде его писать, тогда и заканчивать им?
sendex имеет возможность зажать альт/шифт/контрол и не отжимать его. Это используется, если вам нужно сделать какие-то относительно сложные действия. Например, вам нужно с зажатым шифтом провести мышкой по лабиринту. Если вы делаете простое нажатие с этими клавишами типа:
sendex @{y}
все сразу же отожмется, дополнительных вызовов не требуется.
Цитата
:0 //так вроде шаг обозначается
repeat 12
wait 1500 + random(500)
sendex @{2}
wait 2500 + random(500)
sendex @{q}
wait 1300 + random(500)
sendex {Down}
End_Repeat
sendex {Enter} //добавила ещё ентер. он нужен мне.
goto 0 //возврат к шагу
end_script //концовка скрипта мне не нужна, так что его можно убрать, думаю.
Суть верна но от goto лучше уходить. Это ведет к сложности восприятия кода человеком, путанице и в целом неправильному мышлению при построении скрипта. Конкретно в вашем случае это выглядит адекватно, но это примерно, как увидеть, что маленький ребеной стреляет из пистолета, в этот раз даже в сторону мишени и даже попал.
Цитата
--lua
:1
for i = 1, 12 do
wait(1000) random (500)
sendex("@{2}")
wait(1000) random (500)
sendex("@{q}")
wait(1000) random (500)
sendex("{down}")
end
sendex ("{Enter}")
goto 1
В продолжение темы goto. Я думал написать пример с goto, но конфуз случился в том, что я не вспомнил синтаксис в lua для goto. При этом на lua я пишу достаточно много. Не стоит его использовать.
Код
--lua
while 1 do -- бесконечный цикл
for i = 1, 12 do
wait(1000 + random (500))
sendex("@{2}")
wait(1000 + random (500))
sendex("@{q}")
wait(1000 + random (5000))
sendex("{down}")
end
sendex ("{Enter}")
end
По поводу while 1 do. Более логичная для человека конструкция была бы что-то вроде while 1 == 1 do. Тем не менее для lua истина это все что не равно nil и не равно false. Все выражения типа ==, <=, >=, ~=(не равно) на самом деле возвращают true или false. Для понимания операции со знаками на самом деле что-то вроде:
while (123 == 123) do
преобразуется в
while true do
т.е. будет вычислено значение внутри скобок, потом подставлено/
Цитата
3. А также, хотела бы узнать, можно ли запустить кликер и свернуть окно, где этот кликер работает?
Окно с пилотом можно спокойно свернуть. Целевое окно можно свернуть с некоторыми ограничениями по операторам. sendex отправляет только в активное окно. send и send217 могут работать с перекрытыми окнами. При этом нужно понимать, что в зависимости от приложения может быть разное поведение. Какое-то приложение будет спокойно съедать нажатия в любом состоянии, какое-то допустимо только перекрыть, но не сворачивать, а какому-то вообще активность окна должна быть. Только тестить, т.к. это зависит от приложения, а не от пилота.