Автокликер Clickermann :: Форум
Основной раздел => Использование => Topic started by: Artiom on October 04, 2013, 10:26:54 PM
-
Доброго времени суток. Возникла небольшая проблема в одной игре (о ней ниже), которая состоит в поиске изображения. В игре стоит капча, состоящая из трех картинок, и текста. который сообщает, какую картинку надо все таки выбрать. С поиском текста проблем не возникло, но вот с поиском картинок так легко не получилось.
[spoiler]wmod.ru - сайт
Логин: CMann
Пароль: 34879U
[/spoiler]
Вы стоите на
Средиземье [1S/1W]
Шахта
[вход]->Золотая жила
Вот после нажатия на Золотая жила и появиться капча. Буду признателен, если поможете с распознаванием картинок. :3
-
Можно решить если только подготовить картинки всех слов и соответствующих им изображений. Если картинок разумное число, разумеется.
И если их регулярно не меняют.
Делаешь картинки своих слов и соответствующих им предметов.
Картинки на предметы нарезаешь разумно, из центральной части. Размер небольшой от 5х5 до 10х10 хватит.
Называешь их так:
слово1.bmp картинка1.bmp
слово2.bmp картинка2.bmp
слово3.bmp картинка3.bmp
...
Все кладёшь рядом с сохранённым скриптом.
В скрипте по очереди все ищешь и обрабатываешь. Сам скрипт:
$pic_num = 20 // Количество картинок
LOGWRITE ("Всего картинок для поиска = ", $pic_num)
MOVE($_xmax,$_ymax)
$i = 0
GETSCREEN
FOR($i, $i<$pic_num) // ищем слова по очереди
IF_PICTURE_IN (0,0,$_xmax,$_ymax, STRCONCAT("слово", $i, ".bmp"), -1, 85)
IF_PICTURE_IN (0,$_return2+10,$_xmax,$_return2+45, STRCONCAT("картинка", $i, ".bmp"), -1, 85)
IF_PICTURE_IN ($_return1-12,$_return2+15,$_return1+22,$_return2+53, "галка.bmp", -1, 90)
LDOWN($_return1+4, $_return2+4) // ставим чекбокс
WAITMS(50)
LUP($_return1+4, $_return2+4)
WAITMS(200)
LDOWN($_return1+4, $_return2+29) // жмём "положить"
WAITMS(50)
LUP($_return1+4, $_return2+29)
WAITMS(1000)
$i = $pic_num+1 // прерываем поиск по найденному
LOGWRITE ("Нашли. Поставили")
Else
LOGWRITE ("Не нашёл чекбокс")
END_IF
Else
$i = $pic_num+1 // не нашли соответствующую картинку прерываем поиск
LOGWRITE ("не нашли соответствующую слову картинку.")
GETSCREEN
IF_PICTURE_IN (0,0,$_xmax,$_ymax, "галка.bmp", -1, 90)
LDOWN($_return1+4, $_return2+4) // ставим чекбокс
WAITMS(50)
LUP($_return1+4, $_return2+4)
WAITMS(200)
LDOWN($_return1+4, $_return2+29) // жмём "положить"
WAITMS(50)
LUP($_return1+4, $_return2+29)
WAITMS(1000)
LOGWRITE ("Выбираем первую (просто наугад).")
Else
LOGWRITE ("Не нашёл чекбокс")
END_IF
END_IF
Else
WAITMS(50)
END_IF
END_CYC
Не забудь в скрипте прописать сколько у тебя всего пар картинок (наибольший индекс)
$pic_num = 20 // Количество картинок
Если какую-то картинку не нашёл, например её сменили к слову, будет выбираться первая.
P.S. Не забудь кинуть рядом со скриптом картинку галка.bmp из вложения.
-
Ну картинок всего 20 (10 слов из 10 вещей), но проблема была в том, что программа не находила вещь (шлем, лопату, щит и т.д.)
не нашли соответствующую слову картинку. это когда уже переименовал все вещи\слова
-
Картинки покажи. И желательно скрин где не находит.
-
Как то так
-
Что ты делал с цветом? Зачем перевёл в индексированные цвета?
С картинкой для поиска не нужно ничего делать. Никаких яркостей, цветокоррекций и индексированных цветов!
-
я сделал скриншот, выделил кусок шлема, обрезал, сохранил в формате bmp
больше никаких действий с картинкой я не совершал D:
-
я сделал скриншот, выделил кусок шлема, обрезал, сохранил в формате bmp
больше никаких действий с картинкой я не совершал D:
Ну я же не выдумываю. Открой выложенную картинку в шопе. Цветовой режим. Стоит индексированные цвета. А сам ты это делал или программа которой делал скрин, не знаю.
-
я сделал скриншот, выделил кусок шлема, обрезал, сохранил в формате bmp
больше никаких действий с картинкой я не совершал D:
Ну я же не выдумываю. Открой выложенную картинку в шопе. Цветовой режим. Стоит индексированные цвета. А сам ты это делал или программа которой делал скрин, не знаю.
сделал новый скрин (решил попробовать с эликсиром). принтскрин-выделить-обрезать-сохранить как бмп. Назвал картинка2, а "эликсир" - слово2. тот же эфект (пробовал просто поиск картинки, с else - print("Ne nashel")).
Может конечно у меня руки совсем уже искривились.
Если тебя не затруднит, можешь сам сделать скрин и попытаться найти картинку ? адрес игры и данные от персонажа я указал, он сейчас на золотой жиле, так что времени много не займет.
-
Всё у меня ищет. Всё кликает.
Правда картинку чекбокса пришлось переделать. Прошлую делал на ноуте на W7. Сейчас на XP.
Ты картинку чекбокса сделай свою, потому, что его вид зависит от включенной темы и винды само собой.
Прикладываю образец где вырезать и свой вариант с XP (без сглаживания) на всякий случай.
Но помимо чекбокса у тебя ещё не находит картинку. С этим я не знаю что ты сделал. Попробуй подготовить картинку в другой программе...
Прикладываю свой вариант на котором проверял. Доспех и кольцо. Картинки у тебя должно находить, а мои слова нет (заменишь на свои) потому, что у меня текст без сглаживания.
Заккомментируй вторую строку в скрипте, мешает.
И не вырезай картинки с краю, там полупрозрачность, бери из центра.
-
Ай да Пушкин! Ай да сукин сын!
получилось, осталось только в самом начале сделать проверку на местонахождение (золото, руда, кристаллы) :3