UoKit.com Форумы > Кликер > UO Pilot
Страницы: 1, 2, 3, 4, 5, 6
Женя777
Доброго времени суток!
Помогите пожалуйста, усовершенствовать код. Нужно в координатах 631, 548 использовать move, (что бы кнопка стала активной, (если она появится) и приняла свой цвет)
далее проверить, если цвет 1976966 присутствует, то клик в эту точку, если нет, то продолжение цикла (кода.)
Подскажите пожалуйста, как написать данную часть кода?
Вверх
cirus
Что значит если она появится? Т. е. её может и не быть или имелось ввиду может подсветится, а может нет?
Вверх
Женя777
Цитата(cirus @ 19.7.2017, 16:59)

Что значит если она появится? Т. е. её может и не быть или имелось ввиду может подсветится, а может нет?

Появляется рандомно, и редко. К примеру у меня в игре 92 друга, я к каждому другу должен зайти в таверну, и ещё бафнуть каждого. Вот после того как бафаю, может появится окно, с кнопкой которую нужно нажать, что бы окно закрылось. Иначе скрипт будет работать в холостую. Вчера это окно не появилось ни разу, а сегодня три раза.
Допустим я зашёл в таверну, затем бафнул первого друга, и тут открылось это окно. Скрипт работает, но продвижения нет. Других не бафает. Поэтому нужно каждый раз проверять, не появилась ли эта кнопка, и если появилась, то нажать на неё.

Вверх
cirus
Делаем картинку кнопки и ищем с помощью Findimage
Вверх
Женя777
Цитата(cirus @ 19.7.2017, 17:34)

Делаем картинку кнопки и ищем с помощью Findimage
Это обязательно? Я ведь определил цвет.

Вверх
cirus
Не обязательно, так проще и избавляет от не нужных действий.
Можно и так:
Код
move 631, 548     
wait 500
if 631, 548 1976966   // если цвет совпадает
     kleft  631, 548     //  клик
end_if


Вверх
Женя777
Цитата(cirus @ 19.7.2017, 18:07)

Не обязательно, так проще и избавляет от не нужных действий.
Можно и так:
Код
move 631, 548     
wait 500
if 631, 548 1976966   // если цвет совпадает
     kleft  631, 548     //  клик
end_if


Спасибо большое! Буду пробовать. )
Вверх
FREEON
Есть ли решения для работы с несколькими цветами и массивами для функций if и while?
Нужно что бы пилот проверял цвет в одной и той же точке. Не знаю почему но иногда скрипт работает как положено, а затем происходит по непонятной причине сбой и в той же самой точке цвет уже другой. Затем через некоторое время все повторяется. Поэтому хочется сразу перечислить все варианты с помощью массива что бы не возвращаться к этой теме.
Код

init_arr %primer (1) 1000, 500 1118602
init_arr %primer (2) 1000, 500 1250190
set delimiter ' '
while_not %primer [1] or %primer [2]
    wait 500
end_while
//или
if %primer [1] or %primer [2]
    //выполнить действие
end_if

При таком коде пилот выдает ошибку синтаксиса... Есть ли решение или нужно задавать условие при помощи обычных параметрах X, Y Color?
Вверх
cirus
Цитата
и в той же самой точке цвет уже другой.

Раньше в l2 немного менялись цвета в зависимости от времени суток в игре. Может что-то подобное.
Цитата
if %primer [1] or %primer [2]

В таком виде, если условий больше одного, их нужно заключать в скобки.
Код
if (%primer [1]) or (%primer [2])

Вверх
Женя777
Цитата(cirus @ 20.7.2017, 4:58)

Раньше в l2 немного менялись цвета в зависимости от времени суток в игре. Может что-то подобное.

В таком виде, если условий больше одного, их нужно заключать в скобки.
Код
if (%primer [1]) or (%primer [2])


Я нашёл глюк Пилота. Если пытатся определить цвет привязаного окна на уроовне панели windows, (если при этом панель windows находится поверх привязаного окна) то цвет определяется не привязаного окна, а этой самой панели windows.

Вверх
Invision Power Board © 2001-2024 Invision Power Services, Inc.
Version for Pocket PC © 2006-2024, IPBest Studio.