Здравствуйте, гость ( Вход | Регистрация )

> Sendex.Как прописать правильно? Жмет два раза, Помогите проверить скрипт.Спасибо
bambuk12
сообщение 10.3.2023, 23:37
Сообщение #1


*

Registred
Сообщений: 7
Регистрация: 10.3.2023
Группа: Пользователи
Наличность: 0
Пользователь №: 20.499
Возраст: 27



Столкнулась с такой проблемой:
вместо того, чтобы один раз зажать две клавиши, скрипт делает паузу и ещё раз нажимает.
интересует также вопрос, нужно ли обязательно добавлять sendex после нажатия клавиш?

Сценарий для скрипта:
1.подождать 1с
2. зажать альт и два (одновременно)
3.подождать 1с
4. зажать и отпустить аль и кью
5.подождать 1с
6. нажать кнопку со стрелкой вниз
7. зациклить все действия.

Сам скрипт:

repeat 11
wait 1000
sendex @{2}
wait 1000
sendex
sendex @{q}
wait 1s
sendex
send down
wait 1s
End_Repeat
end_script


Ставила вэйт в разных местах и убирала сендекс и обратно возвращала.Ничего не помогает.

Очень надеюсь на вашу помощь!
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Ответить в эту темуОткрыть новую тему
Ответов
DarkMaster
сообщение 12.3.2023, 4:03
Сообщение #2


***********

Модератор UOPilot
Сообщений: 9.742
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 29658
Пользователь №: 11.279



Цитата
Два раза 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 могут работать с перекрытыми окнами. При этом нужно понимать, что в зависимости от приложения может быть разное поведение. Какое-то приложение будет спокойно съедать нажатия в любом состоянии, какое-то допустимо только перекрыть, но не сворачивать, а какому-то вообще активность окна должна быть. Только тестить, т.к. это зависит от приложения, а не от пилота.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
bambuk12
сообщение 13.3.2023, 20:40
Сообщение #3


*

Registred
Сообщений: 7
Регистрация: 10.3.2023
Группа: Пользователи
Наличность: 0
Пользователь №: 20.499
Возраст: 27



Спасибо, что объяснили. Не знала, что sendex сам отожмётся.


А если я хочу свернуть активное окно, где работает пилот, то мне нужно будет теперь sendex заменить на send ?
Под активным окном я понимаю не окно программы Пилот, а окно той программы ради которой он и работает(в моём случае, это веладка в гугл хром), к примеру для игры. Т.е.окно игры я теперь не смогу свернуть?


И вот этот скрипт верный? Особенно интересует рандом: правильно ли я его прописала?

: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 //концовка скрипта мне не нужна, так что его можно убрать, думаю.


Скажу сразу: больше никаких модификаций не требуется и не будет никакого большого кода, мне надо только этот кусочек, чтоб работал и всё. Это не часть кода. Это конечный вариант.


А вот еще хотела спросить: в вашем скрипте, выходит возврата к первому шагу нет?

Код

--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
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Сообщений в этой теме
bambuk12   Sendex.Как прописать правильно? Жмет два раза   10.3.2023, 23:37
nykep   у меня этот скрипт вроде работает. Просто sendex б...   11.3.2023, 1:50
bambuk12   у меня этот скрипт вроде работает. Просто sendex ...   11.3.2023, 2:33
nykep   насколько я помню такое проскакивание у меня было ...   11.3.2023, 2:39
DarkMaster   Ваши дублинажатий напрямую следуют из кода. Вы на...   11.3.2023, 7:30
bambuk12   Ваши дублинажатий напрямую следуют из кода. Вы на...   11.3.2023, 23:56
DarkMaster   Без луа можно, работать будет, смысла ноль. Это бу...   12.3.2023, 0:39
bambuk12   Без луа можно, работать будет, смысла ноль. Это б...   12.3.2023, 3:03
nykep   while 1 //бесконечный возврат к этому шагу repea...   13.3.2023, 22:59
DarkMaster   У начаная с каких-то версий хром сделал принудильн...   14.3.2023, 6:53
Zenogiasu   1. Приветствую. Возникла проблема с sendex. Когда ...   1.4.2023, 4:22
DarkMaster   1) возможно включена друга раскладка клавиатуры. s...   1.4.2023, 15:56
Zenogiasu   1) возможно включена друга раскладка клавиатуры. ...   2.4.2023, 4:06


Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 8.7.2025, 0:21
Designed by Nickostyle