Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - gsukhado

Pages: 1 ... 5 6 [7]
91
Предложения / Re: Анализ текста в окне
« on: August 08, 2017, 11:29:28 AM »
Общий вопрос по алгоритму Распознавание чисел 1.5.cms (http://crapware.aidf.org/forum/index.php?topic=88.msg1571#msg1571 )

Для случаев, когда конкретные написания цифр могут достаточно сильно отклоняться от "шаблона", можно ли использовать не конкретные образцы, а их массивы? Например, сделать подпапки "texures\number0\", "texures\number1\", "texures\number2\"... в которые накидывать разные написания одной и той же цифры. А алгоритм бы проверял на совпадение каждому из вариантов цифры в соответствующей подпапке.
А совсем идеально - чтобы если совпадений не найдено (установив высокую точность, например от 95), но скриншот данного кусочка экрана сразу складировался в отдельной папке - из которой потом вручную можно было бы нарезать цифры и добавить в нужную подпапку...

Есть мастера, которые могли бы так доделать алгоритм распознавания? Или тогда комп каждое распознавание будет по полчаса делать?

92
Использование / Re: Gods and glory
« on: August 08, 2017, 10:31:15 AM »
не могу определиться к чему цепять проверку на уровень и свободность шахты.
Я привязываю в абсолютных пикселях к координатам того фрагмента изображения шахты, по которому ищется сама шахта. Плюс добавляю люфты - учитывая неточность в поиске в размытых текстурах

93
Предложения / Re: Анализ текста в окне
« on: August 07, 2017, 09:17:01 PM »
там палка о 2-х концах. Надо чтобы больше шахт влазило, но при этом картинки будут - хрен разберешь. Можно приблизить, иметь хорошие картинки и отлично определять текст, но при этом на экран будет влезать всего пара шахт (если повезёт) нужного уровня. Постоянный фарм пары шахт - прямая дорга в баню. По хорошему, надо приблизить и помимо поиска картинок задать алгоритм слайда карты в пределах синей границы. Ну или хотя бы в большом приближении жестко задать количество свайпов типа: вправо, вправо, вниз, влево, влево, вверх)
Да, все верно - "обход" свайпами внутри синей границы - это следующий шаг в восстановлении студенческих навыков программирования ))
Но сделать алгоритм рандомного блуждания внутри границы - сам не потяну, придется высчитывать и жестко прописывать свайпы обхода...

94
Предложения / Re: Анализ текста в окне
« on: August 07, 2017, 06:17:37 PM »
Vint, спасибо за ответы!
Что то нарезанные образцы цифр сильно рафинированные. Неужели настоящие?
Нет, пытался их облагородить :)

При таком маленьком шрифте и такой дикой разнице, там некоторые и на 50% не найдёт.
А шрифт никак нельзя увеличить? Выставить более высокое разрешение в игре или подобрать размер окна чтоб размер был ближе к не сглаженным эталонам.
Если нельзя, то я сочувствую. Или выбрать другой способ или тщательно настраивать каждую цифру подбором образца и процента. Потом ещё исключить взаимное влияние.
С ноутбука, так что размер в bluestack какой есть...
...Хотя попробую повернуть экран набок на 90 градусов, тогда размер экрана bluestack увеличится почти в 2 раза, буду надеяться что поможет....

95
Предложения / Re: Анализ текста в окне
« on: August 07, 2017, 01:32:00 PM »
Всем день добрый.
Попробовал использовать для своих целей Распознавание чисел 1.5.cms
Есть поле с шахтами, в левом нижнем углу которых указывается их уровень, надо его распознать
В основном коде ставлю строку
         number_read($tmp_x-18,$tmp_y+6,$tmp_x+8,$tmp_y+25, "textures\digit_", 7)
Нарезал со скриншотов цифры, прилагаются в архиве.
Хоть что-то распознает в среднем при качестве распознавания CASE(7) со значением $pr = 70 и ниже - но при этом попадает вообще пальцем в небо (чаще всего распознает якобы уровень 7, независимо от того какая на самом деле).
Смещения пробовал ставить от $SHIFT_X = 1 $SHIFT_Y = 1 до $SHIFT_X = 3 $SHIFT_Y = 5, не помогает.
В строке SCANPICTURE($a_scan, $f_x1,$f_y1,$f_x2,$f_y2, STRCONCAT($pref,$i,".bmp"), 16744447, $pr) попробовал заменить на SCANPICTURE($a_scan, $f_x1,$f_y1,$f_x2,$f_y2, STRCONCAT($pref,$i,".bmp"), -1, $pr) - тоже не помогло

Уважаемые знатоки, что тут еще надо "подвернуть", чтобы заработало для конкретной ситуации?

Код в основной части:
Code: (clickermann) [Select]
//основная часть
#include "Распознавание чисел 1.5.cms" //подключение для распознавания уровня шахт

print("--------------")
print("Начинаем фармить на поверхности")
   undefine($mass_shaht)
   getscreen
   colormode(7)
   $sh_x=0 //задание координат шахты для атаки, если (0,0) - то атаковать нечего
   $sh_y=0
 
   // ---Поиск шахты с золотом   
   SCANPICTURE ($mass_shaht, 70, 400, 355, 685, "g1_gold_7v1.bmp",-1,70) // ищем с 70% совпадения
   Print("количество золотых шахт до проверки = ", arrsize($mass_shaht)/2 )
   
   $arrsize_fict=arrsize($mass_shaht)
   while ($arrsize_fict > 0)
      $tmp_y=arrpop($mass_shaht)
      $tmp_x=arrpop($mass_shaht)
     
      IF_PICTURE_IN ($tmp_x-5+11, $tmp_y-46-5, $tmp_x+23+5, $tmp_y-20+5, "g1_taiming_7v2.bmp",-1,70) // проверка на наличие тайминга
         print("...тайминг есть, атаковать нельзя")
         // поиск уровня обнаруженной шахты
         $log = 1
         number_read($tmp_x-18,$tmp_y+6,$tmp_x+8,$tmp_y+25, "textures\digit_", 7)
         print ("уровень шахты:  ", $res, " просто посмотрели")
         
      else
         print("...тайминга нет")
         $sh_x=$tmp_x
         $sh_y=$tmp_y
         // поиск уровня обнаруженной шахты
         $log = 1
         number_read($tmp_x-18,$tmp_y+6,$tmp_x+8,$tmp_y+25, "textures\digit_", 7)
         if ($res < 13)
        print ("...уровень шахты:  ", $res, " атакуем")
$arrsize_fict=0 //для прерывания цикла while - если нашли цель, то иные можно не проверять
GOTO(end_while)
         else
            print("...уровень шахты:  ", $res, " НЕ атакуем")
         end_if
      end_if
      $arrsize_fict=arrsize($mass_shaht)
      end_while:   
   end_cyc
//далее алгоритм собственно атаки

P.S.Не очень понял где лучше данный вопрос задать: то ли создавать отдельный вопрос в основном чате "Общие вопросы", то ли не плодить нового и продолжить имеющуюся тему. Решил продолжить имеющуюся

96
А твой личный скрипт для себя и друга им не опасен.
Более того - тут за счет разных эмуляторов и разрешений просто физически нельзя просто взять у соседа и применить, а по крайней мере надо все координаты и размеры заново выставлять, а возможно еще и тайминги подкручивать в зависимости от скорости соединения :(

97
Вопрос к иным пользователям форума: а вам уведомления приходят?

98
Такое впечатление что разработчики игры читают данный форум - взяли и сегодня накатили обновление, в котором тайминги невозможности атак, которые были ранее поверх картинки шахты - вынесли в сторону, так чтобы просто по эталонной картинке шахты кликер уже не смог сработать )))

99
И кстати не приходят уведомления от форума об ответах в теме, хотя вроде бы "подписался"...

100
Oraven, спасибо!
Данный блок заработал, продолжаю дальше ваять. Разве что тут COLORMODE(6) оказалось недостаточно, поставил COLORMODE(7), но это не суть ))

i0
а чем плох выход из if через goto ?

101
О, уже третья тема про Gods and Glory :)

Sinkl, а зачем делить на фрагменты? Если попробовать использовать IF_PICTURE_IN, и там те шахты, где появился таймер после захвата - наверное должно отсеивать из-за изменения верха картинки по отношению к эталонной?

102
Использование / Re: Gods and glory
« on: July 31, 2017, 10:52:59 AM »
faser, идея классная, разве что я бы в районе 66-й строки еще добавил проверку на случайное поражение, с соответствующей логикой выхода из нее.
Ну и координаты точек увы не совпадают, надо все равно под свой экран перерабатывать :)

Плюс, не понимаю почему, но случайным образом, при проверке заполненности шкалы и проверке наличия войск, когда применяю getscreen - почему-то оказывается что используется не текущий экран, а предыдущий его снимок. Экспериментально вылечилось установлением больших задержек примерно по wait(5) до и после команды getscreen

upd: еще вспомнил: цели строк 66-67 не понял, у меня достаточно однократного клика на сундук. Соответственно, строки 78-87 без доната не проверял

103
Всем день добрый.
Пробую использовать вроде бы детально описанную тут команду if_picture_in
Сделал скриншот с использованием http://crapware.aidf.org/forum/index.php?topic=2778.0 (пробовал варианты цветокоррекции на 3 и на 6, итог одинаков), обрезал картинку до размера примерно 30на50, и пробую найти ее на поле игры.
Однако if_picture_in выдает в качестве результата все время (0,0). Я попробовал даже уменьшить поле в if_picture_in(11,125...) - но результат все тот же.
Хотя нужный фрагмент на экране визуально присутствует, скорее внизу экрана - но его данная функция найти никак не хочет.
В чем тут может быть подвох, как сделать?

Code: (clickermann) [Select]
//main part
print("Начинаем фармить")
// ---Поиск шахты с лесом
getscreen(0,0,513,950)
colormode(6,0,0,513,950)
if_picture_in(11,125,510,948,"st_les.bmp",-1,100)
   print("Нашел совпадение, координаты:", $_return1, " ,", $_return2)
   move($_return1+5, $_return2+5)
   wait(5)
   goto(ataka_shahty)
   print("Ничего нет")
   goto(tmp_end)
enf_if

P.S.Если это существенно: картинку ищу в игре на эмуляторе BlueStack3

104
День добрый.
Зарегистрировался с почты sukhadol@yandex.ru
Затем когда хотел войти - то почему-то пароль не подходит (правда, зарегистрировался с длинным паролем, возможно где-то опечатался). При попытке зарегистрироваться заново с тем же адресом - говорит что таковой уже используется. Но при попытке использования сервиса восстановления пароля - на почту вообще ничего не пришло, прождал более суток.
Сейчас пришлось создать второй аккаунт :(

Pages: 1 ... 5 6 [7]