|
|
|
В скрипте как правильно писать координаты клика |
|
|
bakin |
31.1.2014, 2:55
|
Neophyte
Сообщений: 10
Регистрация: 30.1.2014 Группа: Пользователи Наличность: 0
Пользователь №: 16.586
Возраст: 32
|
взято с полезных советов Код :start set $a 0 set $b 0 set $c 0 while ( $a = 0 ) and ( $b = 0 ) and ( $c = 0 ) set $a findcolor (400, 114 1210, 620 1 1 8232637 %arr 2) set $b findcolor (400, 114 1210, 620 1 1 7508922 %arr 2) set $c findcolor (400, 114 1210, 620 1 1 153 %arr 2) end_while //далее писал по аналогии простого клика по координатам первой найденой точки LEFT %arr [1 1], %arr [1 2] Выбивает ошибку на последней строке - перепробовал и перелистал много тем- ответа не нашёл Мне нужен клик по любой первой найденой точке но судя по всему орфография последней строки должна быть иная ПС с одним файндкаларам такая орфография нормально работает проверял (IMG: style_emoticons/default/sad.gif)
|
|
|
|
bakin |
31.1.2014, 3:53
|
Neophyte
Сообщений: 10
Регистрация: 30.1.2014 Группа: Пользователи Наличность: 0
Пользователь №: 16.586
Возраст: 32
|
а каким путем тогда можно сочитать в одном скрипте? сделать так например получится? тут 3 массива участвуют только непонятно как их прерывать чтобы переходило на следующий цикл но то уже другое дело Код set #breakTimer timer + 1000
set $a 0 while $a < 1 set $a findcolor (400, 114 1210, 620 1 1 8232637 %arr2) if #breakTimer < timer break end_if end_while left %arr [1 1], %arr [1 2]
set $a 0 while $a < 1 set $a findcolor (400, 114 1210, 620 1 17508922 %arr3) if #breakTimer < timer break end_if end_while left %arr [1 1], %arr [1 2]
set $a 0 while $a < 1 set $a findcolor (400, 114 1210, 620 1 1 153 %arr 4) if #breakTimer < timer break end_if end_while left %arr [1 1], %arr [1 2] или лучше на if переделывать? их же не нужно прерывать
|
|
|
|
bakin |
31.1.2014, 4:45
|
Neophyte
Сообщений: 10
Регистрация: 30.1.2014 Группа: Пользователи Наличность: 0
Пользователь №: 16.586
Возраст: 32
|
Цитата(DarkMaster @ 31.1.2014, 5:22) Либо while+for для перебора цветов финдколоре массивом. А еще можно поступить мудро и искать не 3 раза по 1 цвету, а один раз три цвета. http://uopilot.tati.pro/index.php?title=FindcolorЕсли конечно позволяет конкретная ситуация, но судя по всем позволяет. если имеется ввиду поиск точки по диапозону цветов(цвет1-цвет2) то наверно не получится. Как угодно сегодня пытался это сделать ни разу не получилось. Много скринов .bmp 24разрядных наделал и UniqueColorsSearch их анализировал но ни разу именно те цвета что нужны не распознавались программой Так что придется while мучать и for тогда Я правильно понимаю что тогда в скрипте будет присутствовать 1 "while" и 2 "for" чтобы его реализовать?
|
|
|
|
bakin |
31.1.2014, 4:56
|
Neophyte
Сообщений: 10
Регистрация: 30.1.2014 Группа: Пользователи Наличность: 0
Пользователь №: 16.586
Возраст: 32
|
Да я ее раз 20 перечитал уже за сегодня (IMG: style_emoticons/default/laugh.gif) Есть там конечно такая строчка Цитата <(RequiredColors)> - один или несколько цветов для поиска (в круглых скобках!). Могут указываться отдельные RGB каналы и/или цвета в виде значений и/или диапазонов: Но так как я много по форуму перелистал и нигде не видел чтобы кто-то таким способом скрипт писал а писали примерно как я (через левое ухо) то думал она неработает/некорректно работает Ну буду тогда тестить её (IMG: style_emoticons/default/rolleyes.gif)
|
|
|
|
bakin |
31.1.2014, 5:15
|
Neophyte
Сообщений: 10
Регистрация: 30.1.2014 Группа: Пользователи Наличность: 0
Пользователь №: 16.586
Возраст: 32
|
Цитата(DarkMaster @ 31.1.2014, 5:58) там даже пример есть под несколько цветов...
да,есть 2 римера с участием RGB.Но RGB страшная весчь пока что я на них сознательно не смотрел чтобы вконец не запутаться (IMG: style_emoticons/default/blink.gif) Спасибо методику понял получился такой скрипт должно работать как часы Код set $a 0 while $a < 1 set $a findcolor (400, 114 1210, 620 1 1 (153), (8232637), (7508922) %arr 2) end_while set #x %arr [1 1] -40 set #y %arr [1 2] +50 double_left #x, #y
|
|
|
|
bakin |
31.1.2014, 16:46
|
Neophyte
Сообщений: 10
Регистрация: 30.1.2014 Группа: Пользователи Наличность: 0
Пользователь №: 16.586
Возраст: 32
|
Действительно не работает- а вот так заработало Код set $a 0 while $a < 1 set $a findcolor (400, 114 1210, 620 1 1 (153, 8232637, 7508922) %arr 2) end_while set #x %arr [1 1] -40 set #y %arr [1 2] +50 double_left #x, #y
Но заработало не так как ожидал нужно будет все равно в if переделывать
|
|
|
|
bakin |
31.1.2014, 18:55
|
Neophyte
Сообщений: 10
Регистрация: 30.1.2014 Группа: Пользователи Наличность: 0
Пользователь №: 16.586
Возраст: 32
|
Цитата(DarkMaster @ 31.1.2014, 18:39) А как ожидал? вообще вроде правильно все.
На мобах то она тыкает дабллефтом но вот незадача : 30% текстур оказывается построены именно на этих же цветах думаю теперь как в if переводить. if же не работает с диапозоном цветов изза этого придется 30 if использовать а это нагромоздит скрипт
|
|
|
|
bakin |
31.1.2014, 19:56
|
Neophyte
Сообщений: 10
Регистрация: 30.1.2014 Группа: Пользователи Наличность: 0
Пользователь №: 16.586
Возраст: 32
|
Цитата(DarkMaster @ 31.1.2014, 20:25) пока смысла не понял. иф работает диапазоном и с несколькими точками/цветами, но как это решит проблему тех же цветов не понятно. Есть программка UniqueSearchColor в полезных советах - она поможет найти уникальные цвета.
Да спасибо, c помощью этой программы и осваиваю а задумка пока что примерно такая- буду действовать от обратного Код set #d findcolor (400, 114 1210, 620 1 1 (9469204-10455850, 16777215) %arr 2) if #d > 0 continue else double_left %arr [1 1], %arr [1 2] end_if
Предполагаю должно работать так:ищет цвета которые принадлежат фону и с ними ничего не делает.Вс что не фон по идее моб- на которого и ориентирован клик только для каждого фона придется делать так.Громоздко
|
|
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|