Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

UoKit.com Форумы _ UO Pilot _ Несколько кликов подряд

Автор: Fors1k 16.8.2018, 16:42

Реализуется только так?

Код
....
set linedelay 1
double_left x y
left x y
set linedelay 200
....
end_script


Или существует какой-нибудь tripple_click?
Или left <x> <y> [3] (3 - количество) ?

Автор: DarkMaster 16.8.2018, 21:05

Код

repeat количество_кликов
    left x y
    wait 20
end_repeat

Автор: Fors1k 16.8.2018, 22:51

Цитата(DarkMaster @ 16.8.2018, 21:05) *

Код

repeat количество_кликов
    left x y
    wait 20
end_repeat


Ну а задержка между кликами же будет равняться задержке между чтением строк.
Я же вон указал, что нужно что-то типа double_click (с такой же скоростью) , только на 3 клика.

Автор: cirus 17.8.2018, 1:28

Зачем вообще играться с задержкой между строк. Поставьте её 0, а в нужных местах в скрипте wait.

Автор: Fors1k 17.8.2018, 2:01

Цитата(cirus @ 17.8.2018, 1:28) *

Зачем вообще играться с задержкой между строк. Поставьте её 0, а в нужных местах в скрипте wait.

Так Вы, и Дарк всегда говорите, что задержка 0 приведёт к супер нагрузке процессора. Или нет, что-то я запутался?
Ну и тройной клик без задержки никак не сделать?

Автор: cirus 17.8.2018, 2:23

Цитата
задержка 0 приведёт к супер нагрузке процессора. Или нет

Если не будет wait, то нагрузит. Хотя бы wait 1. Особенно в циклах.
Цитата
Ну и тройной клик без задержки никак не сделать?

Код
double_left 345, 305
left 345, 305

Код
left 345, 305
left 345, 305
left 345, 305

Это одно и тоже.
Во вкладке 'Ещё' можно изменить паузу в кликах мышью.


Автор: Fors1k 17.8.2018, 10:55

Цитата(cirus @ 17.8.2018, 2:23) *

Код
double_left 345, 305
left 345, 305

Код
left 345, 305
left 345, 305
left 345, 305

Это одно и тоже.

Разве одно и тоже?
Как я понимаю в первом случае скорость трех кликов будет равна:
клик1, 0мс, клик2, пауза между чтением строк(допустим 100) , клик3 = 3 клика сделаны за время 100мс
Во втором:
клик1, пауза между чтением строк(допустим 100), клик2, пауза между чтением строк(допустим 100) , клик3 = 3 клика сделаны за время 200мс
Цитата(cirus @ 17.8.2018, 2:23) *

Во вкладке 'Ещё' можно изменить паузу в кликах мышью.

Паузу в каких кликах? В кликах дабллефта? Ведь паузу между кликами, записанными в разные строки, все равно будет определять пауза между чтением строк?

Автор: DarkMaster 17.8.2018, 10:57

Цитата
Разве одно и тоже?
Как я понимаю в первом случае скорость трех кликов будет равна:

имелись ввиду непостредственно отсылаемые евенты окну. По времени и некоторым внутринним процессам - немного иначе, но окно увидит точно те же евенты.
Цитата
Паузу в каких кликах? В кликах дабллефта?

между down и up которые скрыты от пользователя в этих командах.

Автор: Fors1k 17.8.2018, 11:55

Цитата(DarkMaster @ 17.8.2018, 10:57) *

имелись ввиду непостредственно отсылаемые евенты окну. По времени и некоторым внутринним процессам - немного иначе, но окно увидит точно те же евенты.

Ну понятное дело, что double_left, left = left, left , left = 3 клика. К чему это вообще?)) biggrin.gif

Цитата(DarkMaster @ 17.8.2018, 10:57) *

между down и up которые скрыты от пользователя в этих командах.


Я же говорю, что нужны клики без паузы между ними, как в команде double_left. Регулировка паузы между down и up как поможет - тоже не пойму.

Еще раз поясню.
Например есть скрипт, у которого пауза между чтением строк 1000мс.
Вариант cirusa ( left, left ) - не сделает двойной клик. Так как пауза между кликами будет 1 секунда.
В такой ситуации спасает double_left, которая сделает моментально двойной клик, при любой паузе между чтением строк(хоть 10 сек будет).
Но что в такой ситуации поможет сделать моментально три клика?
Цитата
tripple_click?
Или left <x> <y> <3> (3 - количество) ?

Поставить паузу во всем скрипте 0 мс предложили, но потом сказали что это загрузит проц..непонятно..

Автор: Alessandrinho 17.8.2018, 12:06

Если надо сделать три клика то пропиши
Left x,y
Left x,y
Left x,y
А в самой проге uopilot просто поставь то время через которое будет выполняется следующая строка. Я думаю если поставить 10маек между криками, то это и будет тройной клик, Т.к. ниодной прога непойдет что это идёт три одинарный клика, прога посчитает что это идёт тройной клик, Т.к. человек с такой скоростью неможем долбить по мышке, думаю время можно ставить даже 100маек это будет считаться как тройной клик,

Автор: DarkMaster 17.8.2018, 12:20

Цитата
Поставить паузу во всем скрипте 0 мс предложили, но потом сказали что это загрузит проц..непонятно..

Запомните паузы вне зависимости от того есть они или нет не грузят вообще никак и ничего. Грузят все остальные команды. Когда мы добавляем паузы общая нагрузка от работы остается точно такой же, но она становится растянутой по времени. Представьте, что выливаете ведро воды в ванну, если вылить быстро - слив не справится и будет полностью занят водой, если вылитьмедленно (с вейтам), то слив без проблем пропустит воду, еще и место останется, но количество работы осталось точно тоже самое.
Итого - пауза равная нулю правильное решение практически всегда, просто нужно понимать, что при таком решении вам нужно самостоятельно регулировать нагрузку. Это на самом деле элементрано и сводится к одному вейту в цикле, иногда при очень большом количестве финдимиджей/колоров бывет полезным еще между ними добавить задержу. Вот и вся наука.
Цитата
Я же говорю, что нужны клики без паузы между ними, как в команде double_left.

Это практически 100% гарантия того, что приложение не сожрет эти клики корректно. Небольшая пауза там нужна. Отсутствие паузы между down/up на моей памяти вообще нигде не прокатывало - начинаюстя сбои. Если так сильно не хочется переписвать скрипт, но так хочется вставить участок без задержек, то можно сделать так:
Код
 set #linedelayOld linedelay
set linedelay 0
repeat количество_кликов
    left x y
    wait 20
end_repeat
set linedelay #linedelayOld

Автор: Fors1k 17.8.2018, 14:06

Какая пауза между первым и вторым кликом в команде double_left?

Автор: DarkMaster 17.8.2018, 15:08

Цитата
Какая пауза между первым и вторым кликом в команде double_left?

Беспонятия.

Автор: WKnight 17.8.2018, 23:51

0...

Автор: Fors1k 18.8.2018, 1:17

Цитата(WKnight @ 17.8.2018, 23:51) *

0...


Цитата(DarkMaster @ 17.8.2018, 12:20) *

Это практически 100% гарантия того, что приложение не сожрет эти клики корректно. Небольшая пауза там нужна.

Видимо не нужна, если в double_click пауза 0мс...

WKnight , может быть Вы могли добавить в пилот что-то из этого:
left <x> <y> [count]
tripple_left

Хотя второго думаю будет достаточно, так как double_left (2 клика) - выделяет слово, tripple_left (3 клика) - выделяет строку, а 4 моментальных клика и более по идее не имеет смысла. В фундаментальном плане.

Тогда одна строка
Код
tripple_left x y

сможет заменить это
Код
....
set linedelay 1
double_left x y
left x y
set linedelay 200
....
end_script

Автор: AbsorbeR 22.8.2018, 20:08

Цитата
Представьте, что выливаете ведро воды в ванну, если вылить быстро - слив не справится и будет полностью занят водой, если вылитьмедленно (с вейтам), то слив без проблем пропустит воду, еще и место останется, но количество работы осталось точно тоже самое.

Вот так и пишут сайты на JavaScript. biggrin.gif

Автор: DarkMaster 22.8.2018, 20:56

Цитата

Вот так и пишут сайты на JavaScript. biggrin.gif

Там все-таки по эвентам, тем не менее отсутствие человеческих wait'ов в javascript имхо ведет к повышенной нагрузке и крайне убогой читаемости кода. Да, там должно быть несколько иное мышление и стилистика написания, но как по мне это просто невероятно убого. Из всего с чем сталкивался это, пожалуй, единственный язык которой вызывает дикое отвращение. Да уж простят за оффтоп.

Автор: Cockney 22.8.2018, 21:14

Цитата(DarkMaster @ 22.8.2018, 20:56) *

Из всего с чем сталкивался это, пожалуй, единственный язык которой вызывает дикое отвращение.



Настало время освоить perl.

Автор: DarkMaster 22.8.2018, 21:35

Цитата
Настало время освоить perl.

Возможно. Правда у меня к вебу вообще отношение не очень хорошее. Но на заметку возьму обязательно, т.к. все равно приходится сталкиваться.

А вообще сейчас все глубже и глубже в дебри lua ухожу. Там не то чтобы прям дебри: хочешь начать писать, то через два часа можно спокойно клепать код уровня необходимого в пилоте. Тем не менее есть некотоыре интересные моменты, изучение либ, сред, обкладывание собственными инструментами и т.д. Когда я возился с С++ у меня в голове сложилось примерное видение, чего бы я хотел от языка. Lua стал в этом плане просто откровением. Мое идейное мышление на 99% совпадает с разрабами. Да, не без огрехов, тот же примитивный wait либо костылями либо либами(пилотом), подключение либ на мой взгляд несколько сомнительно реализовано. Но в целом это невероятная гибкость из простейших вещей ну и скорость у него не может не радовать - считается одим из топом в скриптах(luajit).

Автор: Cockney 22.8.2018, 22:43

Цитата(DarkMaster @ 22.8.2018, 21:35) *

Возможно. Правда у меня к вебу вообще отношение не очень хорошее. Но на заметку возьму обязательно, т.к. все равно приходится сталкиваться.



Это был сарказм. Эта дьявольская поделка не заслуживает серьезного внимания.

Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)