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

 
Ответить в эту темуОткрыть новую тему
> В скрипте как правильно писать координаты клика
bakin
сообщение 31.1.2014, 2:55
Сообщение #1


**

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)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 31.1.2014, 3:34
Сообщение #2


***********

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



все три финдколора перезаписываются в один массив. Если совападение было найден в 1 или в 2, а в 3 НЕ найдено, то будет ошибка, т.к. массива просто не будет существовать. Точнее его размер будет равен нулю.


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


**

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 переделывать? их же не нужно прерывать
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 31.1.2014, 4:22
Сообщение #4


***********

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



Цитата
придется while на if переделывать

Либо while+for для перебора цветов финдколоре массивом.

А еще можно поступить мудро и искать не 3 раза по 1 цвету, а один раз три цвета. http://uopilot.tati.pro/index.php?title=Findcolor
Если конечно позволяет конкретная ситуация, но судя по всем позволяет.


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


**

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" чтобы его реализовать?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 31.1.2014, 4:49
Сообщение #6


***********

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



Цитата
Я правильно понимаю что тогда в скрипте будет присутствовать 1 "while" и 2 "for" чтобы его реализовать?

1/1
Цитата
если имеется ввиду поиск точки по диапозону цветов(цвет1-цвет2) то наверно не получится.

имеется ввиду открыть ссылку и почитать возможности фильтров цветов.


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


**

Neophyte
Сообщений: 10
Регистрация: 30.1.2014
Группа: Пользователи
Наличность: 0
Пользователь №: 16.586
Возраст: 32



Да я ее раз 20 перечитал уже за сегодня (IMG:style_emoticons/default/laugh.gif)
Есть там конечно такая строчка
Цитата
<(RequiredColors)> - один или несколько цветов для поиска (в круглых скобках!). Могут указываться отдельные RGB каналы и/или цвета в виде значений и/или диапазонов:

Но так как я много по форуму перелистал и нигде не видел чтобы кто-то таким способом скрипт писал а писали примерно как я (через левое ухо) то думал она неработает/некорректно работает

Ну буду тогда тестить её (IMG:style_emoticons/default/rolleyes.gif)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 31.1.2014, 4:58
Сообщение #8


***********

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



Цитата
Да я ее раз 20 перечитал уже за сегодня

там даже пример есть под несколько цветов...


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


**

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


***********

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



если будет работать, то я очень сильно удивлюсь. Посмотрите на синтаксис задаваемого цвета(ов).


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


**

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


***********

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



А как ожидал? вообще вроде правильно все.


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


**

Neophyte
Сообщений: 10
Регистрация: 30.1.2014
Группа: Пользователи
Наличность: 0
Пользователь №: 16.586
Возраст: 32



Цитата(DarkMaster @ 31.1.2014, 18:39) *

А как ожидал? вообще вроде правильно все.

На мобах то она тыкает дабллефтом но вот незадача : 30% текстур оказывается построены именно на этих же цветах

думаю теперь как в if переводить. if же не работает с диапозоном цветов изза этого придется 30 if использовать а это нагромоздит скрипт
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 31.1.2014, 19:25
Сообщение #14


***********

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



пока смысла не понял. иф работает диапазоном и с несколькими точками/цветами, но как это решит проблему тех же цветов не понятно. Есть программка UniqueSearchColor в полезных советах - она поможет найти уникальные цвета.


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


**

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


Предполагаю должно работать так:ищет цвета которые принадлежат фону и с ними ничего не делает.Вс что не фон по идее моб- на которого и ориентирован клик
только для каждого фона придется делать так.Громоздко
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 31.1.2014, 20:45
Сообщение #16


***********

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



Ты ляжешь с производительностью столько перебирать. Если фон очень небольшой, то еще может быть что-то получится. Фул хд - это 2 миллиона ифов.


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


**

Neophyte
Сообщений: 10
Регистрация: 30.1.2014
Группа: Пользователи
Наличность: 0
Пользователь №: 16.586
Возраст: 32



2 миллиона ифоф как то много (IMG:style_emoticons/default/huh.gif)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 31.1.2014, 21:49
Сообщение #18


***********

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



Можно попробовать написать диапазоны обратные фону. Т.е. фон у нас например G(0-186) - мы ищем G(187-255).


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


**

Neophyte
Сообщений: 10
Регистрация: 30.1.2014
Группа: Пользователи
Наличность: 0
Пользователь №: 16.586
Возраст: 32



Цитата(DarkMaster @ 31.1.2014, 22:49) *

Можно попробовать написать диапазоны обратные фону. Т.е. фон у нас например G(0-186) - мы ищем G(187-255).

спасибо попробую.А это получается каждый цвет фона надо будет раскладывать на RBG ?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 5.2.2014, 3:36
Сообщение #20


***********

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



Да. При этом еще и придется инвертировать диапазон и смотреть, чтобы он не перекрылся с другими цветами фона. Т.е.:
1) Первый кусок фона 0-100
2) Второй кусок фона 150-255
Инвертированные диапазоны:
1) 101-255
2) 0-149
Беда в том, что в:
1) 101-255 попадает 150-255
2) 0-149 попадает 0-100
Исключаем перекрывание инвертированного диапазона с реальным фоном:
101-149
Вот так вот придется развлекаться. Я бы на твоем месте под это дело накидал скриптик - ручками задолбаешься столько фонов разбирать.

Сообщение отредактировал DarkMaster - 5.2.2014, 3:40


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

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

 

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