|
Нужна помощь с findimage, выделите минуту пжлст |
|
|
Чекист |
1.6.2013, 15:31
|
Novice
Сообщений: 76
Регистрация: 2.12.2012 Группа: Пользователи Наличность: 0
Пользователь №: 15.534
|
Уважаемые пользователи сети интернет! Прошу помочь с одной проблемой , которая возникла у меня. есть скрипт , пример: Код set $zoloto findimage (#StartX #StartY #EndX #endY (C:\Images\****\золото.bmp) %crds16 2 100 -1) set $glavnaya findimage (#StartX #StartY #EndX #endY (C:\Images\*****\главная.bmp) %crds1 2 100 -1) if $zoloto > 0 and $glavnaya > 0 set #x16 %crds16[1 1] + 10 + random(8) set #y16 %crds16[1 2] + 10 + random(7) kleft #x16, #y16 wait 1000 + random(200) end_if Вот например нашло оно золото.bmp , но проблема в том что на экране золото.bmp больше 3 штук ....и тут постает вопрос , как заставить бота кляцать сначало по нижнему золото.bmp , а потом по остальным. Пример 1) Нашли золото.bmp - третий клик 2) Нашли золото.bmp - второй клик 3) Нашли золото.bmp - первый клик А если просто запускать оно тыкает на угад с этих 3х золото.bmp , в большинстве случаев по верхнем , а нужно наоборот кликать сначало по нижнем. Заранее очень благодарен!Извените за орфографические ошибки!
|
|
|
|
Чекист |
1.6.2013, 15:47
|
Novice
Сообщений: 76
Регистрация: 2.12.2012 Группа: Пользователи Наличность: 0
Пользователь №: 15.534
|
Уважаемые пользователи сети интернет! Прошу помочь с одной проблемой , которая возникла у меня. есть скрипт , пример: Код set $zoloto findimage (#StartX #StartY #EndX #endY (C:\Images\****\золото.bmp) %crds16 2 100 -1) set $glavnaya findimage (#StartX #StartY #EndX #endY (C:\Images\*****\главная.bmp) %crds1 2 100 -1) if $zoloto > 0 and $glavnaya > 0 set #x16 %crds16[1 1] + 10 + random(8) set #y16 %crds16[1 2] + 10 + random(7) kleft #x16, #y16 wait 1000 + random(200) end_if
Вот например нашло оно золото.bmp , но проблема в том что на экране золото.bmp больше 3 штук ....и тут постает вопрос , как заставить бота кляцать сначало по нижнему золото.bmp , а потом по остальным. Пример 1) Нашли золото.bmp - третий клик 2) Нашли золото.bmp - второй клик 3) Нашли золото.bmp - первый клик А если просто запускать оно тыкает на угад с этих 3х золото.bmp , в большинстве случаев по верхнем , а нужно наоборот кликать сначало по нижнем. Заранее очень благодарен!Извените за орфографические ошибки!
|
|
|
|
Чекист |
1.6.2013, 20:21
|
Novice
Сообщений: 76
Регистрация: 2.12.2012 Группа: Пользователи Наличность: 0
Пользователь №: 15.534
|
Цитата(Kanibal @ 1.6.2013, 18:44) #StartX #StartY #EndX #endY
Можно полностью написать как что ? Сейчас у меня так: Код // Разрешение экра set #StartX 0 set #StartY 0 set #endX screenwidth set #endY screenheight
///// Ищем сбор золота set $zoloto findimage (#StartX #StartY #EndX #endY (C:\Images\Небоскребы\золото.bmp) %crds16 2 100 -1) set $glavnaya findimage (#StartX #StartY #EndX #endY (C:\Images\Небоскребы\главная.bmp) %crds1 2 100 -1) if $zoloto > 0 and $glavnaya > 0 set #x16 %crds16[1 1] + 10 + random(8) set #y16 %crds16[1 2] + 10 + random(7) kleft #x16, #y16 wait 500 + random(200) end_if
|
|
|
|
esqado |
2.6.2013, 11:14
|
Journeyman
Сообщений: 357
Регистрация: 5.11.2011 Группа: Пользователи Наличность: 0
Пользователь №: 14.217
|
Это очень похоже на вопрос про сценарий поиска изображений.
set $a FindImage (#StartX #StartY #EndX #EndY ($filename) %ResultArray [#type [#accuracy [#count [#deviation]]]] [abs])
<$a> - переменная, в которую записывается процент точности найденного изображения или количество найденных изображений. <%ResultArray> - результирующий массив, в который записываются координаты изображения. Координатами изображения считается пиксель левого верхнего угла изображения. Если найдено несколько изображений, то координаты всех найденных изображений. Первая разрядность массива - найденное изображение, вторая - координата по оси X, для значения 1, по оси Y - для значения 2.
В твоем случае <%ResultArray> (равно) %crds16. Отсюда следует, что Первая разрядность массива - найденное изображение (%crds16[1]), вторая - координата по оси X, для значения 1(%crds16[1 1]), по оси Y - для значения 2(%crds16[1 2]). Т.к. тебе не нужно первое найденное совпадение (%crds16[1]), а интересует второе с местоположением по оси Y (%crds16[2 2]), тогда можно взять координаты отсюда (%crds16[2 1] и %crds16[2 2]). Если, после нажатия на выложить нижние подтягиваются вверх, а нажатое скрывается, то стоит посмотреть код, который я писал выше.
--------------------
В обычном программировании: любое значение может быть преобразовано в тип string В программировании Pilot: любое значение должно быть типа имейдж.
|
|
|
|
Чекист |
2.6.2013, 13:14
|
Novice
Сообщений: 76
Регистрация: 2.12.2012 Группа: Пользователи Наличность: 0
Пользователь №: 15.534
|
Цитата(zavas @ 2.6.2013, 11:14) Это очень похоже на вопрос про сценарий поиска изображений.
set $a FindImage (#StartX #StartY #EndX #EndY ($filename) %ResultArray [#type [#accuracy [#count [#deviation]]]] [abs])
<$a> - переменная, в которую записывается процент точности найденного изображения или количество найденных изображений. <%ResultArray> - результирующий массив, в который записываются координаты изображения. Координатами изображения считается пиксель левого верхнего угла изображения. Если найдено несколько изображений, то координаты всех найденных изображений. Первая разрядность массива - найденное изображение, вторая - координата по оси X, для значения 1, по оси Y - для значения 2.
В твоем случае <%ResultArray> (равно) %crds16. Отсюда следует, что Первая разрядность массива - найденное изображение (%crds16[1]), вторая - координата по оси X, для значения 1(%crds16[1 1]), по оси Y - для значения 2(%crds16[1 2]). Т.к. тебе не нужно первое найденное совпадение (%crds16[1]), а интересует второе с местоположением по оси Y (%crds16[2 2]), тогда можно взять координаты отсюда (%crds16[2 1] и %crds16[2 2]). Если, после нажатия на выложить нижние подтягиваются вверх, а нажатое скрывается, то стоит посмотреть код, который я писал выше.
Спасибо
|
|
|
|
OGOGO |
28.6.2013, 23:07
|
Группа: Пользователи Наличность: 0
Пользователь №: 16.177
Возраст: 15
|
Здравствуйте, нужен теперь мне хелп. Написал самый простейший из всех возможных скриптов, с использованием findimage: set $a findimage ( 0 0 1300 600 (D:\Mafia\Mafia\omg.bmp ) %crds 2 100 1) left %crds[1 1] %crds[1 2] end_script это весь скрипт. Когда запускаю - Выдается вот такая вещь: Картинка, то есть, как я понял, такого на экране не обнаруживается и uopilot пытается кликнуть по координате undefined undefined. Будем ждать помощи. Спасибо!
|
|
|
|
Zeleax |
28.6.2013, 23:10
|
ex-Moderator UOPilot
Сообщений: 2.440
Регистрация: 8.10.2010 Группа: Пользователи Наличность: 0 Из: Киев
Пользователь №: 13.093
|
--------------------
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|