|
Поиск цвета пикселя в заданных координатах |
|
|
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 раз нормально найти, а потом нет. В чём может быть проблема и как её можно решить, может заменить на другой код? Буду рад любой помощи. Так же принимаются поправки по остальному коду в этом скрипте, буду благодарен за совету, так как сам в этом полный бот)
|
|
|
|
|
  |
Ответов
paxael |
8.11.2020, 17:03
|
 
Neophyte
Сообщений: 10
Регистрация: 1.11.2020 Группа: Пользователи Наличность: 0
Пользователь №: 19.789
Возраст: 36

|
Цитата(DarkMaster @ 8.11.2020, 13:04)  не совсем понял, что вы хотите сделать.
Вот смотрите это мой полный скрипт: скрипт
Код 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 (7569542) %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)
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 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 В этом коде у меня есть 4 попытки переместится к нужному мне захватчику, вот этот кусок кода(первая попытка): Код // перемещение к захвату 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) Скрипт делает клик, открывается окно в котором он ищет иконку перемещения, если находит то идёт дальше по коду, если нет то ищет крестик окна закрывает его и переходит ко второй попытке. Вот этот скрин окна: (IMG:https://c.radikal.ru/c19/2011/9e/e2ccc822fedd.png) Если какое другое окно откроется то скрипт его закроет и перейдёт на вторую попытку. Но иногда происходит ситуация когда захватчик стоит возле воды, как на этом скрине: (IMG:https://c.radikal.ru/c05/2011/0c/f0e3373b314f.png) Клик делается где я нарисовал галочку, в этом случае не открывается не какое окно и скрипт уходит в рестарт. Так вот вопрос в следующем, как мне объяснить программе что окна здесь нету иди на вторую попытку, какое здесь подойдёт условие?
|
|
|
|
Сообщений в этой теме
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 DarkMaster Что-то у меня на радикале грузится весь хлам, кром... 8.11.2020, 20:23 paxael
Для начала начните использовать в пилоте "Ск... 8.11.2020, 21:56 DarkMaster
Это типа функций на старом синтаксисе.
Так не бы... 8.11.2020, 22:33 paxael
После какой строки можно сделать проверку? Когда ... 8.11.2020, 22:47 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
|
|