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

2 страниц V  1 2 >  
Ответить в эту темуОткрыть новую тему
> работа с findcolor
sdd54545sd
сообщение 12.10.2015, 11:01
Сообщение #1


*

Registred
Сообщений: 7
Регистрация: 12.10.2015
Группа: Пользователи
Наличность: 0
Пользователь №: 17.660
Возраст: 29



День добрый знающим!
не судите строго, я новичок в этом
Код

:start
left 498, 878
wait 600
set $a 0
while $a < 1
set #a findcolor (243, 746 380, 871  1 1 8020287 %arr 2)
if #a > 0
left %arr [1 1], %arr [1 2]
end_if
end_while
goto start

цвет находит и кликает на него, НО дальше не продолжает, зацикливается.
что дописать что бы с начала пошел скрипт? (goto_start)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 12.10.2015, 11:25
Сообщение #2


***********

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



Цитата
что дописать что бы с начала пошел скрипт? (goto_start)

Заменить подчеркивание на пробел (IMG:style_emoticons/default/smile.gif)
goto - это оператор.
start - это параметр (имя метки)
они не могут быть написаны слитно.

Сообщение отредактировал DarkMaster - 12.10.2015, 11:26


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


*

Registred
Сообщений: 7
Регистрация: 12.10.2015
Группа: Пользователи
Наличность: 0
Пользователь №: 17.660
Возраст: 29



Цитата(DarkMaster @ 12.10.2015, 11:25) *


Прошу прощения, ошибочно подчеркивание влепил)
но не в нем проблема
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 12.10.2015, 11:44
Сообщение #4


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26540
Пользователь №: 16.971
Возраст: 29



Цитата
set $a 0 #i

Это что?
До goto и не дойдёт. В условии while $a < 1, строковая переменная $a, а в findcolor числовая #a. Условие по сути бесконечное.
Делайте так:
Код
set #a 0
while #a = 0    //пока цвет не найден
    set #a findcolor (243, 746 380, 871  1 1 8020287 %arr 2)
       if #a > 0
          left %arr [1 1], %arr [1 2]
      end_if
end_while
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 12.10.2015, 11:48
Сообщение #5


***********

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



Цитата
set $a 0 #i

Запись в принципе очень сомнительная. #i - тут не понятно откуда взялось.
Вторая проблема: у вас переменные разного типа. $a и #a - это разные переменные с независимыми друг от друга данными. В коде cirus'а есть необходимые правки. Присмотритесь к переменным.


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


*

Registred
Сообщений: 7
Регистрация: 12.10.2015
Группа: Пользователи
Наличность: 0
Пользователь №: 17.660
Возраст: 29



Цитата(cirus @ 12.10.2015, 11:44) *

До goto и не дойдёт.

а как сделать что бы дошло? по сути нужно дождаться цвет - кликнуть мышкой на него и продолжить скрипт
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 12.10.2015, 11:51
Сообщение #7


***********

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



Цитата(DarkMaster @ 12.10.2015, 14:48) *

Запись в принципе очень сомнительная. #i - тут не понятно откуда взялось.
Вторая проблема: у вас переменные разного типа. $a и #a - это разные переменные с независимыми друг от друга данными. В коде cirus'а есть необходимые правки. Присмотритесь к переменным.


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


*

Registred
Сообщений: 7
Регистрация: 12.10.2015
Группа: Пользователи
Наличность: 0
Пользователь №: 17.660
Возраст: 29



Огромное вам человеческое спасибо!!!
заработало
Код
 
left 498, 878
wait 600
set $a 0
while $a = 0
    set $a findcolor (243, 746 380, 871  1 1 8020287 %arr 2)
    if $a > 0
    left %arr [1 1], %arr [1 2]
    end_if
end_while
goto start
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
sdd54545sd
сообщение 12.10.2015, 16:11
Сообщение #9


*

Registred
Сообщений: 7
Регистрация: 12.10.2015
Группа: Пользователи
Наличность: 0
Пользователь №: 17.660
Возраст: 29



Подскажите, как запустить продолжение скрипта если цвет не находиться, к примеру, в течении 30 сек ?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 12.10.2015, 16:52
Сообщение #10


***********

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



Необходимо добавить таймер. В пилоте есть переменная в которой содержится время со старта скрипта: timer. С помощью этой переменной мы можем запомнить текущий момент и подождать когда пройдет 30 секунд сравнивая наше значение с таймером. На практике несколько удобнее в реализации будет запомнить момент, который будет через 30 секунд, и сравнивать его с таймером. Т.е. в общем виде это будет примерно так:
Код
set #timeBreak timer + 30000 // Время указывается в миллисекундах
while #timeBreak > timer
    wait 100
end_while
msg 30 секунд прошло.

Код сознательно объеденил с вашим, лучше запомните (IMG:style_emoticons/default/wink.gif) Если возникнут трудности - спрашивайте.


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


*

Registred
Сообщений: 7
Регистрация: 12.10.2015
Группа: Пользователи
Наличность: 0
Пользователь №: 17.660
Возраст: 29



Если не затруднит, вставьте в мой код, а то у меня не выходит сложить его(
Заранее спасибо
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 12.10.2015, 17:42
Сообщение #12


***********

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



опечатался...
Код сознательно не объединил с вашим, лучше запомните wink.gif Если возникнут трудности - спрашивайте.

Трудности - задавайте конкретные вопросы.


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


***********

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



Получилось?


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


*

Registred
Сообщений: 7
Регистрация: 12.10.2015
Группа: Пользователи
Наличность: 0
Пользователь №: 17.660
Возраст: 29



нет(
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 13.10.2015, 19:21
Сообщение #15


***********

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



Условие while у вас ведь должно выполнятся когда нет изображения и когда таймер не вышел. Вас проверяется в цикле только одно условие (IMG:style_emoticons/default/wink.gif)


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


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26540
Пользователь №: 16.971
Возраст: 29



Хватит мучить человека, без примеров трудно разбираться, особенно сначала.
Код
set #timeBreak timer + 30000    // Время указывается в миллисекундах
set #a 0
while #a = 0 and #timeBreak > timer   //пока цвет не найден и не прошло 30 секунд
   set #a findcolor (243, 746 380, 871  1 1 8020287 %arr 2)
end_while
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 14.10.2015, 6:32
Сообщение #17


***********

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



перед end_while добавьте небольшой wait, чтобы не лагало. Хотя бы 50.

// У меня никогда не было желания или цели кого-либо мучить. Ну как минимум на форуме. Хм... на _этом_ форуме (IMG:style_emoticons/default/smile.gif)


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


**

Neophyte
Сообщений: 16
Регистрация: 27.12.2015
Группа: Пользователи
Наличность: 0
Пользователь №: 17.767
Возраст: 26



А у меня другая проблема. Цвет находит, но кликает ниже нужных кординат, не попадает на кнопку.
Прилагаю скриншот, на котором видно выбранные координаты благодаря программе FastStone Capture: http://s5.postimg.org/ixuonmyjr/123.jpg
И код:
Код
set workwindow 2819314
set #b findcolor (540, 625 615, 655   1 1 (5849637 ) %arr 2 abs )
move %arr [1 1], %arr [1 2]
kleft %arr [1 1], %arr [1 2]
wait 3s
end_if
end_script
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Kylee Kane
сообщение 27.12.2015, 22:37
Сообщение #19


**

Neophyte
Сообщений: 16
Регистрация: 27.12.2015
Группа: Пользователи
Наличность: 0
Пользователь №: 17.767
Возраст: 26



Цитата(Kylee Kane @ 27.12.2015, 23:27) *

А у меня другая проблема. Цвет находит, но кликает ниже нужных кординат, не попадает на кнопку.
Прилагаю скриншот, на котором видно выбранные координаты благодаря программе FastStone Capture: http://s5.postimg.org/ixuonmyjr/123.jpg
И код:
Код
set workwindow 2819314
set #b findcolor (540, 625 615, 655   1 1 (5849637 ) %arr 2 abs )
move %arr [1 1], %arr [1 2]
kleft %arr [1 1], %arr [1 2]
wait 3s
end_if
end_script



Upd. Проблема решилась перезапуском браузера (IMG:style_emoticons/default/biggrin.gif)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 27.12.2015, 22:43
Сообщение #20


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26540
Пользователь №: 16.971
Возраст: 29



Цитата
set workwindow 2819314

После перезапуска хендл изменится, используйте Findwindow для поиска окна.
Цитата
end_if

А где сам if? Если цвет не найдётся на строке move вылезет ошибка.
Добавьте после Findcolor'a:
Код
if #b > 0
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

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

 

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