|
Не корректная работа Send_down, Неправильно работает команда Send_down |
|
|
Krosha |
19.1.2015, 12:21
|
 
Neophyte
Сообщений: 13
Регистрация: 19.1.2015 Группа: Пользователи Наличность: 0
Пользователь №: 17.246

|
Код Send_down a 30 Send_up a Wait 5000 Вместо одинарного нажатия клавиши A на 30 ms и последующего ее отпуская отправляет то 1 то 2 раза символ А. Почему так? Навскидку, нужно минимум 500 ms при нажатии пальцем на клавишу чтобы появилось больше одного символа. И еще вопрос по теме к знающим, как работает команда Send? Она делает какую-то небольшую рандомную паузу между нажатием и отпусканием отправляемой клавиши? Собственно, после того, как я узнал, что проследить все эти интервалы между нажатием и отпусканием клавиш и мышки не составляет большого труда (а отсюда и скорый бан бота, каким бы он крутым и продуманным ни был) начал копать в сторону Send_down, но эта команда работает неправильно.
|
|
|
|
Krosha |
19.1.2015, 12:42
|
 
Neophyte
Сообщений: 13
Регистрация: 19.1.2015 Группа: Пользователи Наличность: 0
Пользователь №: 17.246

|
Цитата Что мешает задать рандомные интервалы между нажатиями? Код Send a wait 30 + random (30) //задержка между нажатиями от 30 до 60 мс
С кликами тоже самое. Тем самым вы задаете интервал между нажатиями клавиш. А речь идет об интервале между опусканием клавиши вниз и отпускании этой зажатой вниз клавиши. Человек не может нажать и отпустить клавишу мгновенно, если нажимать и бросать очень быстро проходит 20-40 ms. Send, как я понимаю (не нашел инфы) имитирует нажатие и мгновенное отпускание клавиши, без малейшей задержки, ну или с фиксированной минимальной, например, всегда 20ms, что тоже не может быть если нажимает человек, всегда будет разное время. Цитата Задержка между первым и вторым символом убрана, т.к в ней нет особого смысла. Как же нет смысла? Т.е. то, что отсутствие задержки ( = не нормальное поведение) увеличивает шансы обнаружить бота не является смыслом?
|
|
|
|
Krosha |
19.1.2015, 13:21
|
 
Neophyte
Сообщений: 13
Регистрация: 19.1.2015 Группа: Пользователи Наличность: 0
Пользователь №: 17.246

|
Цитата Что мешает добавить задержку в 500-1000 мс если она так нужна? Куда добавить? Как? Вы точно правильно все прочитали? Повторюсь, речь не о задержке между нажатиями двух символов, речь о задержке между нажатием и отпусканием одного символа.
|
|
|
|
Krosha |
19.1.2015, 13:46
|
 
Neophyte
Сообщений: 13
Регистрация: 19.1.2015 Группа: Пользователи Наличность: 0
Пользователь №: 17.246

|
Цитата Просто у меня сомнения что можно вообще отследить сколько времени была нажата клавиша. К, примеру, 30 или 50 мс. Можно, как минимум на javascript, мне это уже показали. После этого и начал искать варианты, send_down казался отличным вариантом, начал тестирование, а он работает совсем не так, как предполагалось (не как нажатие вниз клавиши с клавиатуры)
|
|
|
|
DarkMaster |
19.1.2015, 14:23
|
          
Модератор UOPilot
Сообщений: 9.745
Регистрация: 2.12.2008 Группа: Супермодераторы Наличность: 29678
Пользователь №: 11.279

|
Цитата Вроде бы send ждёт ответа от приложения и только после этого печатает следующий символ. send ничего не ждет, все делается максимально быстро. send217 - ждет ответа от приложения, но тоже не гарантированно. Это приводит к тому, что при печати длинных текстов бывают перепутаны буквы в словах. Разница между send и send217 очень большая по количеству опечаток. say подобных опечаток не допускает, однако он подходит только для печати текстов, логинов, паролей, т.к. отсылается непосредственно символ, а не нажате(т.е. скилы жать не будет). В целом я не очень понимаю почему у вас от down+up получается два нажатия. Могу предложить использовать эмуляцию 217. Сообщение отредактировал DarkMaster - 19.1.2015, 14:23
--------------------
Скрипты UOPilot под заказ. Консультации по UOpilot 15$/час. Услуги Lua разработчика (не пилот, проекты, постоянка) Disсоrd: Kov____
|
|
|
|
Krosha |
19.1.2015, 14:36
|
 
Neophyte
Сообщений: 13
Регистрация: 19.1.2015 Группа: Пользователи Наличность: 0
Пользователь №: 17.246

|
Цитата В целом я не очень понимаю почему у вас от down+up получается два нажатия. Могу предложить использовать эмуляцию 217. Проверял на windows 7 и 8.1 на двух компах, результат одинаков. Т.е. у вас указанный выше код не приводит с отправке нескольких символов? Почему-то нажатый send_down начинает моментально отправлять символы ,как после "залипания" клавиши на клавиатуре, но с клавиатуры это залипание включается не сразу, где-то через секунду, наверное. Код Send_down a 1 Send_up a Wait 5000 Даже такая задержка в 1ms приводит к двойному символу почему-то, первый раз может отправить 1 символ, дальше по 2 идет
|
|
|
|
Krosha |
19.1.2015, 15:37
|
 
Neophyte
Сообщений: 13
Регистрация: 19.1.2015 Группа: Пользователи Наличность: 0
Пользователь №: 17.246

|
Цитата вобщем вроде понял природу явления =) Наверное, вы правы. Задача стоит - совершать человекоподобные нажатия клавиш, т.е. нажали вниз, небольшая рандомная задержка 20-40 ms - отпустили клавишу. Но нужно отсылать эту клавишу именно 1 раз, а не то 2 то 1 то еще сколько-то.. Не ввод текста, именно управление на клавишах.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|