|
Поиск цвета пикселя в заданных координатах |
|
|
paxael |
7.11.2020, 22:26
|
 
Neophyte
Сообщений: 10
Регистрация: 1.11.2020 Группа: Пользователи Наличность: 0
Пользователь №: 19.789
Возраст: 36

|
Доброе время суток. Помогите разобраться. Я только начинаю знакомство с UO Pilotоm по этому многих тонкостей не знаю. Вот кусок моего скрипта в которым у меня возникают проблемы: скрипт
Код // перемещение к захвату kleft 858, 381 5 5 // ПЕРВАЯ попытка wait 1500 + random (500) if 632, 474 1585282 // проверка иконки перемещения kleft 936, 554 5 5 // применить wait 2000 + random (500) kleft 698, 543 5 5 // да wait 2000 + random (500) kleft 729, 451 5 5 // жмяк по захвату wait 3000 + random (500)
// бьём эту ТВАРЬ Repeat 33 kleft 676, 648 wait 3000 if_not 998, 363 39305 // проверка энергии kleft 947, 404 5 5 // добавить wait 2000 + random (500) move 976, 345 5 5 // навести курсор wait 500 + random (300) kleft 987, 384 5 5 // больше wait 2000 + random (500) kleft 1016, 568 5 5 // покупка wait 2000 + random (500) kleft 684, 636 5 5 // купить и применить wait 2000 + random (500) kleft 1086, 91 5 5 // закрыть окно wait 2000 + random (500) end_if End_Repeat kleft 1025, 202 5 5 // закрыть логово wait 2000 + random (500)
else // если нет иконки ищем крест и закрываем окно set #a findcolor (999, 86 1049, 316 1 1 (8708095) %arr 2) // поиск креста if #a > 0 kleft %arr [1 1], %arr[1 2] wait 2000 + random (500) end_if end_if Это скрипт для игры Викинги, с помощью его хочу бить захватчиков. Проблема в этой части if 632, 474 1585282 // проверка иконки перемещения не всегда срабатывает поиск цвета пикселей, хотя картинка на которой ищу не изменяется, может 50 раз нормально найти, а потом нет. В чём может быть проблема и как её можно решить, может заменить на другой код? Буду рад любой помощи. Так же принимаются поправки по остальному коду в этом скрипте, буду благодарен за совету, так как сам в этом полный бот)
|
|
|
|
|
  |
Ответов
DarkMaster |
8.11.2020, 22:33
|
          
Модератор UOPilot
Сообщений: 9.742
Регистрация: 2.12.2008 Группа: Супермодераторы Наличность: 29658
Пользователь №: 11.279

|
Цитата Понятия не имею как это сделать, только начинаю изучать эту программу. Буду пробовать разобраться что за (gosub). Это типа функций на старом синтаксисе. Цитата Вставил рестарт в двух местах, но так он не срабатывает. Может я вас не так понял Так не бывает. Должен запускаться. Попробуйте выставить в начало: log commands и посмотреть вывод в лог. Цитата Тут тоже если честно не совсем понял как это реализовать Я кусочек скрипта шаблончик, как раз для этого накидал в предыдущем посте. После какой строки можно сделать проверку? Когда мы можем сделать проверку чтобы понять надо нам переходить на вторую попытку или нет?
--------------------
Скрипты UOPilot под заказ. Консультации по UOpilot 15$/час. Услуги Lua разработчика (не пилот, проекты, постоянка) Disсоrd: Kov____
|
|
|
|
paxael |
8.11.2020, 22:47
|
 
Neophyte
Сообщений: 10
Регистрация: 1.11.2020 Группа: Пользователи Наличность: 0
Пользователь №: 19.789
Возраст: 36

|
Цитата(DarkMaster @ 8.11.2020, 22:33)  После какой строки можно сделать проверку? Когда мы можем сделать проверку чтобы понять надо нам переходить на вторую попытку или нет?
Вот можно после этого кода: Код // перемещение к захвату kleft 858, 381 5 5 // ПЕРВАЯ попытка wait 1500 + random (500) Весь скрипт: скрипт
Код if 724, 66 2706009 // проверка кнопки навигатора set #a findcolor (975, 90 1273, 337 1 1 (8708095) %arr 2) // поиск креста if #a > 0 kleft %arr [1 1], %arr[1 2] wait 2000 + random (500) end_if end_if
kleft 725, 63 5 5 // навигатор wait 2000 + random (500)
while 1017, 162 5252419 set #a findcolor (386, 284 500, 756 1 1 (7569544) %arr 2 10) // поиск захвата if #a > 0 kleft %arr [1 1], %arr[1 2] // жмяк по захвату wait 1500 + random (500) kleft 695, 541 5 5 // да wait 1500 + random (500) else // если на страницы нет нужного захвата, клацаем 6 раз в низ kleft 1202, 741 2 2 // 1 wait 100 + random (150) kleft 1202, 741 2 2 // 2 wait 100 + random (150) kleft 1202, 741 2 2 // 3 wait 100 + random (150) kleft 1202, 741 2 2 // 4 wait 100 + random (150) kleft 1202, 741 2 2 // 5 wait 100 + random (150) kleft 1202, 741 2 2 // 6 wait 100 + random (150) end_if end_while
// перемещение к захвату kleft 858, 381 5 5 // ПЕРВАЯ попытка wait 1500 + random (500) if 636, 520 10116233 11889312 // проверка иконки перемещения kleft 936, 554 5 5 // применить wait 2000 + random (500) kleft 698, 543 5 5 // да wait 2000 + random (500) kleft 729, 451 5 5 // жмяк по захвату wait 3000 + random (500)
// бьём эту ТВАРЬ Repeat 33 kleft 676, 648 wait 3000 if_not 998, 363 39305 // проверка энергии kleft 947, 404 5 5 // добавить wait 2000 + random (500) move 976, 345 5 5 // навести курсор wait 500 + random (300) kleft 987, 384 5 5 // больше wait 2000 + random (500) kleft 1016, 568 5 5 // покупка wait 2000 + random (500) kleft 684, 636 5 5 // купить и применить wait 2000 + random (500) kleft 1086, 91 5 5 // закрыть окно wait 2000 + random (500) end_if End_Repeat kleft 1025, 202 5 5 // закрыть логово wait 2000 + random (500) restart_script 0 else // если нет иконки ищем крест и закрываем окно set #a findcolor (999, 86 1049, 316 1 1 (8708095) %arr 2) // поиск креста if #a > 0 kleft %arr [1 1], %arr[1 2] wait 2000 + random (500) end_if restart_script 0 end_if
// перемещение к захвату kleft 862, 464 5 5 // ВТОРАЯ попытка wait 1500 + random (500) if 636, 520 10116233 11889312 // проверка иконки перемещения kleft 936, 554 5 5 // применить wait 2000 + random (500) kleft 698, 543 5 5 // да wait 2000 + random (500) kleft 737, 371 5 5 // жмяк по захвату wait 3000 + random (500)
// бьём эту ТВАРЬ Repeat 33 kleft 676, 648 wait 2900 if_not 998, 363 39305 // проверка энергии kleft 947, 404 5 5 // добавить wait 2000 + random (500) move 976, 345 5 5 // навести курсор wait 500 + random (300) kleft 987, 384 5 5 // больше wait 2000 + random (500) kleft 1016, 568 5 5 // покупка wait 2000 + random (500) kleft 684, 636 5 5 // купить и применить wait 2000 + random (500) kleft 1086, 91 5 5 // закрыть окно wait 2000 + random (500) end_if End_Repeat kleft 1025, 202 5 5 // закрыть логово wait 2000 + random (500)
else // если нет иконки ищем крест и закрываем окно set #a findcolor (999, 86 1049, 316 1 1 (8708095) %arr 2) // поиск креста if #a > 0 kleft %arr [1 1], %arr[1 2] wait 2000 + random (500) end_if end_if restart_script 0
// перемещение к захвату kleft 745, 454 5 5 // ТРЕТЬЯ попытка wait 1500 + random (500) if 636, 520 10116233 11889312 // проверка иконки перемещения kleft 936, 554 5 5 // применить wait 2000 + random (500) kleft 698, 543 5 5 // да wait 2000 + random (500) kleft 729, 451 5 5 // жмяк по захвату wait 3000 + random (500)
// бьём эту ТВАРЬ Repeat 33 kleft 676, 648 wait 2900 if_not 998, 363 39305 // проверка энергии kleft 947, 404 5 5 // добавить wait 2000 + random (500) move 976, 345 5 5 // навести курсор wait 500 + random (300) kleft 987, 384 5 5 // больше wait 2000 + random (500) kleft 1016, 568 5 5 // покупка wait 2000 + random (500) kleft 684, 636 5 5 // купить и применить wait 2000 + random (500) kleft 1086, 91 5 5 // закрыть окно wait 2000 + random (500) end_if End_Repeat kleft 1025, 202 5 5 // закрыть логово wait 2000 + random (500)
else // если нет иконки ищем крест и закрываем окно set #a findcolor (999, 86 1049, 316 1 1 (8708095) %arr 2) // поиск креста if #a > 0 kleft %arr [1 1], %arr[1 2] wait 2000 + random (500) end_if end_if restart_script 0
// перемещение к захвату kleft 748, 387 5 5 // ЧЕТВЁРТАЯ попытка wait 1500 + random (500) if 636, 520 10116233 11889312 // проверка иконки перемещения kleft 936, 554 5 5 // применить wait 2000 + random (500) kleft 698, 543 5 5 // да wait 2000 + random (500) kleft 872, 452 5 5 // жмяк по захвату wait 3000 + random (500)
// бьём эту ТВАРЬ Repeat 33 kleft 676, 648 wait 2900 if_not 998, 363 39305 // проверка энергии kleft 947, 404 5 5 // добавить wait 2000 + random (500) move 976, 345 5 5 // навести курсор wait 500 + random (300) kleft 987, 384 5 5 // больше wait 2000 + random (500) kleft 1016, 568 5 5 // покупка wait 2000 + random (500) kleft 684, 636 5 5 // купить и применить wait 2000 + random (500) kleft 1086, 91 5 5 // закрыть окно wait 2000 + random (500) end_if End_Repeat kleft 1025, 202 5 5 // закрыть логово wait 2000 + random (500)
else // если нет иконки ищем крест и закрываем окно set #a findcolor (999, 86 1049, 316 1 1 (8708095) %arr 2) // поиск креста if #a > 0 kleft %arr [1 1], %arr[1 2] wait 2000 + random (500) end_if end_if restart_script 0
|
|
|
|
Сообщений в этой теме
paxael Поиск цвета пикселя в заданных координатах 7.11.2020, 22:26 cirus
Может цвет незначительно меняется. Проверьте всег... 8.11.2020, 0:56 paxael
Может цвет незначительно меняется. Проверьте всег... 8.11.2020, 11:06 DarkMaster https://forum.uokit.com/index.php?showtopic=22116
... 8.11.2020, 11:08 paxael И ещё такой вопрос у меня возник. Есть ли команда ... 8.11.2020, 11:27 DarkMaster
log 1
goto qwe
log 2
:qwe
Но в целом очень ... 8.11.2020, 13:04 paxael не совсем понял, что вы хотите сделать.
Вот смотр... 8.11.2020, 17:03 DarkMaster Что-то у меня на радикале грузится весь хлам, кром... 8.11.2020, 20:23 paxael
Для начала начните использовать в пилоте "Ск... 8.11.2020, 21:56 DarkMaster
// перемещение к захвату
kleft 858, 381 5 5 // ПЕ... 8.11.2020, 23:21 paxael
// перемещение к захвату
kleft 858, 381 5 5 // П... 8.11.2020, 23:26 DarkMaster
учтите, что в старом синтаксисе переменные все гл... 8.11.2020, 23:29
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|