|
Умеет ли pilot делать перетягивание? |
|
|
DarkMaster |
22.1.2014, 23:49
|
Модератор UOPilot
Сообщений: 9.475
Регистрация: 2.12.2008 Группа: Супермодераторы Наличность: 27787
Пользователь №: 11.279
|
ошибка. Но балбес не я, балбес у нас один человек, которому мы все обязаны.
Залазим в настройки, ищем галку "использовать kleft v.2.17".Ставим/снимаем, пробуем.
У нас способ эмуляции клавиш разный от разных команд send и send217, а мышь зачем-то галкой в настройках меням. Кнайт, завязывай с извращениями разными стандартами, давай лучше за гибкость и kleft217. Путаница уже пошла...
--------------------
Скрипты UOPilot под заказ. Консультации по UOpilot 15$/час. Услуги Lua разработчика (не пилот, проекты, постоянка) Disсоrd: Kov____
|
|
|
|
optikum |
23.1.2014, 0:46
|
Neophyte
Сообщений: 20
Регистрация: 19.1.2014 Группа: Пользователи Наличность: 0
Пользователь №: 16.562
|
Цитата(DarkMaster @ 23.1.2014, 0:49) ошибка. Но балбес не я, балбес у нас один человек, которому мы все обязаны.
Залазим в настройки, ищем галку "использовать kleft v.2.17".Ставим/снимаем, пробуем.
У нас способ эмуляции клавиш разный от разных команд send и send217, а мышь зачем-то галкой в настройках меням. Кнайт, завязывай с извращениями разными стандартами, давай лучше за гибкость и kleft217. Путаница уже пошла...
ну хорошо хоть суть я понял про разную эмуляцию....остальное видимо сдешний специфический юмор для тех кто "в теме"))))..... .....видимо не судьба сделать перетаскивание, у меня немного старее версия (2,27), тут что-то не нахожу такого, видимо тут его ещё нету.....а в 2,34 пилоте мои самопальные скрипты не пашут(... И ещё вопрос: Нельзя ли сделать чтобы курсор мыши двигался от точки А к точке Б типо как рукой ведёшь мышь, тоесь не мгновенный прыжок из одной точки в другую... P\s попробовал на версии 2,34 и с и без "использовать kleft v.2.17" всё без разницы, разные повторные downы и апы и клики, не выходит(
|
|
|
|
optikum |
23.1.2014, 1:51
|
Neophyte
Сообщений: 20
Регистрация: 19.1.2014 Группа: Пользователи Наличность: 0
Пользователь №: 16.562
|
Цитата(DarkMaster @ 23.1.2014, 2:00) а что за приложение? Может на месте что-то получится. Можно. Прописывайте кучу move с координатами либо динамически их просчитывайте, например, прибавляя каждый раз по 1/10 от расстояния. Можно при этом добавлять некоторый random(число) пикселей для большей натуральности движения.
Главное забыл! Потыкайте галки "перемещать курсор в точку клика" и "возвращать курсор". Очень часто их положение становится причиной многих бед.
да, "расписать кучу" с рандомными значениями это я тоже думал, а готового что-то типо указал начальные и конечные координаты - такого ничего нет? всё, решил задачу, ура) строк move понадобилось пару десятков с координатами не чётко совпадающими с kleft_up, а приблизительными у этой точки отжатия, чтобы курсор какбы подвигался некое время у места отжатия kleft_up..... типо так: kleft_down 100, 100 ..... move 900, 898 move 900, 899 move 900, 900 kleft_up 900, 900 (ну и wait само собой между строк) DarkMaster, спасибо, как никак, но помогли)
|
|
|
|
optikum |
23.1.2014, 2:02
|
Neophyte
Сообщений: 20
Регистрация: 19.1.2014 Группа: Пользователи Наличность: 0
Пользователь №: 16.562
|
Цитата(DarkMaster @ 23.1.2014, 2:54) чтобы не писать кучу вейтов между каждой строкой можно использовать set linedelay, который глобально(для скрипта) изменит задержку между строк.
нет, так мне наверно не подходит, это только кусок у меня, а есть другие вейты с другими значениями в скрипте..... да и мне не трудно написать где надо wait ) Цитата(DarkMaster @ 23.1.2014, 2:54) готового нет, но ничего не мешает вам накидать небольшую подпрограмму и вызывать ее через gosub. Там будет десяток строк.
ага, понял, новая информация для размышлений) буду думать, сочинять.....
|
|
|
|
DarkMaster |
23.1.2014, 2:14
|
Модератор UOPilot
Сообщений: 9.475
Регистрация: 2.12.2008 Группа: Супермодераторы Наличность: 27787
Пользователь №: 11.279
|
Цитата нет, так мне наверно не подходит, это только кусок у меня, а есть другие вейты с другими значениями в скрипте.....
Чуть поясню. Мы имеем блок: Код command wait 100 command wait 100 command wait 100 Все очевидно, у нас доп задержка в 100 мс между строк. Именно дополнительная. Между строк всегда есть некторая задержка. Ее значение можно увидеть в самом низу под скриптом(значение по умолчанию меняется в закладке "Еще"). Код set linedelay 100 command wait 100 command wait 100 command wait 100
Теперь у нас задержка между строк уже равна 300 мс. Т.к. помимо wait 100 мы дважды поймаем задержку между строк сначала при переходе к wait, а потом непосредственно к команде. Код set #linedelayBack linedelay set linedelay 100 command command command set linedelay #linedelayBack
Данный код позволяет выполнить некторый блок с установленными задержками между строк. При этом после выполнения блока вернется прежнее значение задержки. Это может быть очень удобно в том числе для вашей подпрограммы. Вообще очень настоятельно рекомендую писать все скрипты с задержкой 0, и только при необходимости добавлять wait ну либо блок с увеличенной задержкой. Это очень сильно упростит перенос скриптов, увеличит стабильность. Вообще от wait желательно отказываться везде где нужна гарантированность действия. Т.е. ставить wait в надежде, что страница браузера успеет прогрузиться ну совсем не стоит.
--------------------
Скрипты UOPilot под заказ. Консультации по UOpilot 15$/час. Услуги Lua разработчика (не пилот, проекты, постоянка) Disсоrd: Kov____
|
|
|
|
optikum |
23.1.2014, 18:50
|
Neophyte
Сообщений: 20
Регистрация: 19.1.2014 Группа: Пользователи Наличность: 0
Пользователь №: 16.562
|
хочу сказать сразу, я новичёк в этом деле....знаком только с основами так сказать и многих функций не знаю.......вот что пытаюсь придумать по поводу эмуляции "типо движение мышки рукой"....это оказалось труднее понять, ну лично мне, и сформировать для начала математическую модель того, как скрипт должен считать было сложно, вот для начала мои фантазии не законченные, с надеждой что пхнёт кто меня в нужное направление....
wait 2000 :1 Get Mouse_Pos #x #y //беру текущие координаты нахождения курсора Set #x + random(2) //добавляю рандомно пару координат, но если добавлять одно то выйдет перемещение по прямой наверно.... Set #y + random(2) //добавляю рандомно пару координат move #x #y //перемещение в ту точку //надо придумать условие, если координаты больше или равны например 800, 600 (то есть конечной точки, где должен окончательно оказаться курсор), то goto 2 //то продолжаем скрипт уже дальше по плану, иначе возврат к началу, берем опять координаты текущего расположения курсора, прибавляем немного и опять условие..... else goto 1 :2 ...... end_script
|
|
|
|
optikum |
23.1.2014, 19:53
|
Neophyte
Сообщений: 20
Регистрация: 19.1.2014 Группа: Пользователи Наличность: 0
Пользователь №: 16.562
|
за стартовую позицию я хочу использовать команду Get Mouse_Pos, тоесть чтобы потом указывать только конечную точку назначения, а не указывать стартовые и конечные координаты....если конечно это выйдет....
ну ладно, по порядку, поидее должно работать хоть както это выражение ?
:1 Get Mouse_Pos #x #y Set #x + random(20) Set #y + random(20) move #x #y goto 1
и так по кругу, должен курсор двигаться куда-то по увеличению координат поидее, а он на месте, не пойму.... ещё нужно будет условие, не всегда ведь нужно будет плюсовать координаты, будут такие ситуации когда и минусовать нужно будет, но это по ходу дела уже... почему goto зло? на моей небольшой практике вообще не замечал проблемм с этой командой.
|
|
|
|
DarkMaster |
23.1.2014, 19:58
|
Модератор UOPilot
Сообщений: 9.475
Регистрация: 2.12.2008 Группа: Супермодераторы Наличность: 27787
Пользователь №: 11.279
|
Цитата ну ладно, по порядку, поидее должно работать хоть както это выражение ? Не должно. Ошибочка: Set #x + random(20) видимо имелось ввиду Set #x #x + random(20) со второй координатой так же. Цитата почему goto зло? на моей небольшой практике вообще не замечал проблемм с этой командой. Читаемость сильно падает сразу же.
--------------------
Скрипты UOPilot под заказ. Консультации по UOpilot 15$/час. Услуги Lua разработчика (не пилот, проекты, постоянка) Disсоrd: Kov____
|
|
|
|
optikum |
23.1.2014, 20:44
|
Neophyte
Сообщений: 20
Регистрация: 19.1.2014 Группа: Пользователи Наличность: 0
Пользователь №: 16.562
|
Цитата(DarkMaster @ 23.1.2014, 20:58) Не должно. Ошибочка: Set #x + random(20) видимо имелось ввиду Set #x #x + random(20) со второй координатой так же. Читаемость сильно падает сразу же.
да, действительно, как это я так.....) предварительно, вот так двигается, это главное пока :1 Get Mouse_Pos #x #y Set #x1 #x + random(20) Set #y1 #y + random(20) move #x1 #y1 goto 1 и ещё такой же кусок только с отниманием координат, пока другого ниче в голову не приходит... нужно подумать теперь также над условиями.... а что использовать вместо goto тогда?
|
|
|
|
DarkMaster |
23.1.2014, 23:05
|
Модератор UOPilot
Сообщений: 9.475
Регистрация: 2.12.2008 Группа: Супермодераторы Наличность: 27787
Пользователь №: 11.279
|
Цитата Возможно зависит от того как применять? ;-) Это и у меня так сделано. Оно как бы к гото имеет весьма отдаленное отношение. Цитата point_distance пкм/числа описание в справке/истории развития. Там работает ctrl+f. кстати можно и ручками просчитать. Теорему пифагора никто еще не отменял. Правда будет медленнее. Поинт дистанс свежий оператор достаточно. Если делать по моему варианту x1-x2 и y1-y2, то можно будет избежать if'ов, т.к. у тебя будут автоматом получаться отрицательные/положительные числа. Сообщение отредактировал DarkMaster - 23.1.2014, 23:07
--------------------
Скрипты UOPilot под заказ. Консультации по UOpilot 15$/час. Услуги Lua разработчика (не пилот, проекты, постоянка) Disсоrd: Kov____
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|