Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: FJ on November 12, 2015, 11:42:44 PM
-
Доброго времени суток.
Можете подсказать, как организовать такую штуку.
Допустим у меня скрипт ищет часть картинки(IF_PICTURE_IN ) в базе картинок, не находит и сохраняет(SCREENSHOTEX) часть, где должна располагаться эта картинка в соседнюю папку temp. после переходит к следующей картинке и действие повторяется.
Хотел бы, чтобы скрипт сначала искал в базе, если не находит, то искал в папке темп, если и там не находил, то сохранял картинку.А то приходится перебирать тонны одинаковых картинок, что отнимает относительно много времени :)
Хотелось бы это без привлечения сторонних программ реализовать.
И еще, перебор картинок через IF_PICTURE_IN очень долгий, может есть более быстрый способ? Куда капать?
Вот часть кода например:
for ( $rang = 1 , $rang < 10 )
GETSCREEN
IF_PICTURE_IN ( $Xmin , $Ymin + 300 , $Xmax , $Ymin + 396 , strconcat("screens\temp\rang \", $rang ,".bmp"), -1, 100)
if ( $rang = 9)
SCREENSHOTEX ( $_return1 - 70 , $_return2 - 5 , $_return1 + 30 , $_return2 + 18, "temp\rang\9_" , 0 )
$_return1 $_return2
print ("найден ранг, но нет в базе - скрин сделал")
else
...
Эти 10 картинок он быстро перебирает, но есть часть кода, которая состоит более чем из 300 картинок... Долго в общем! :)
Натолкните на мысль пожалуйста! :)
-
Наталкиваю. Сменить подход и попытаться сделать по другому.
300 картинок в любом случае будет не быстро искать.
Не весь скрипт, что он делает если не найдёт?
У GETSCREEN можно задать область - ускорение
GETSCREEN не обязательно делать внутри цикла если ничего не меняется на экране в период перебора картинок.
GETSCREEN самая тормознутая команда, тем более по всему экрану.
Вывод в лог тоже стоит оставлять полным только на этапе отладки. Штука тоже сильно замедляющая.
P.S. что за висящие в вакууме $_return1 $_return2 - замедление на парсинге при обработке мусора.
-
Не весь скрипт, что он делает если не найдёт?
Не понял вопроса
У GETSCREEN можно задать область - ускорение
Круто, не знал. А поиск в этой области как осуществлять лучше 0,0,xmax,ymax ?
Не весь скрипт, что он делает если не найдёт?
GETSCREEN не обязательно делать внутри цикла если ничего не меняется на экране в период перебора картинок.
Да, вчера понял это. Заметно ускорился! :)
Вывод в лог тоже стоит оставлять полным только на этапе отладки. Штука тоже сильно замедляющая.
Вывод у меня только пока отладка, после идет в конце цикла, показывает что нашел.
P.S. что за висящие в вакууме $_return1 $_return2 - замедление на парсинге при обработке мусора.
Тоже убрал :)
А в итоге:
Хотел бы, чтобы скрипт сначала искал в базе, если не находит, то искал в папке темп, если и там не находил, то сохранял картинку.
-
И еще, раз уж дело пошло.
Почему сегодня например скрины кликер сделал, я их добавил. А завтра он опять говорит, что не может найти картинку, и снова добавляет. в чем подвох?
-
так ты наверно их в перебор не добавляешь?)
-
Нет, они добавлены.
Самое интересное, что заменяю картинку, которую сделал кликер, и все работает, а через какое-то время снова перестанет, не понимаю что за дела...
-
Ты бы задачу объяснил с примерами изображений и с подробным описанием. Вполне вероятно что ты пытаешься отлавливать то, что отлавливать не нужно. Например, (здесь хотел написать примеры, но потом замучался в н-ный раз гадать "а что же там имелось ввиду")
-
Хороше.
У меня выпадает текст на белом фоне такого рода(прикрепил изображение)
Это ранг, он может быть от 1 - 100. В игре выделить это нельзя, выскакивает как картинка.
Если кликер не нашел изображение в папке база, то сохраняю его с помощью SCREENSHOTEX в папку темп(изображение появляется всегда статично, поэтому координаты знаю).
1) Я хочу чтобы кликер определял это значение.
2) Хочу узнать, как осуществить поиск картинки сначала в папке база, затем в папке темп
Вот вроде и все :)
-
Может использовать скрипт для распознавания цифр (http://crapware.aidf.org/forum/index.php?topic=88.msg1571#msg1571), тогда картинок будет всего 11.
В любом случаи надо применять цветокоррекцию 8 уровня чтоб сделать все черно белым
COLORMODE(8)
скорее всего при перезагрузках игры шрифт немного по разному рендерится поэтому у тебя уже 300 картинок. Без цветокоррекции и процента совпадения тут никак.
Ну и делать 300 картинок это неверное направление. Бред...
-
Да не, у меня всего 40 картинок:)
И в принципе работает :)
Про распознавание спасибо, сейчас посмотрю! :)
-
С колормодом вообще клево стало все! Спасибо! :)
А вот на счет этого можете подсказать?
2) Хочу узнать, как осуществить поиск картинки сначала в папке база, затем в папке темп
-
Но существует вероятность, что не искать хочется вам, а сравнивать с вновь полученной картинкой? ::)
Надеюсь мы правильно друг друга понимаем, в итоге я не хочу перебирать в ручную сотни одинаковых картинок(перед SCREENSHOTEX проверить, может такая картинка уже есть?).