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 - invahak

Pages: [1]
1
Общие вопросы / Re: IF внутри IF
« on: August 27, 2021, 08:27:39 AM »
Второй код работает на 20%) есть нюансы которые нужно доработать, но тут хотя бы я сам) клик мышки сдвинуть правее и ниже, а то кликает прям на край и не склеивает иногда, и пытается склеить нужные башни но они разного уровня, но тут уже никак, на 20% он все за одну воспринимает)  А так рабочий код, огромное спасибо!

2
Общие вопросы / Re: IF внутри IF
« on: August 25, 2021, 05:23:42 PM »
И непонятно почему нужно проверять 5 полей, если их там 15?

В начале 5 сказал чтоб не заморачиваться, где 5 там и 50) теперь я понял что нужно в тончайших подробностях все объяснить )

3
Общие вопросы / Re: IF внутри IF
« on: August 25, 2021, 04:32:14 PM »
Кликер находит например башню №2 и просто тыкает на неё все время, мне кажется он просто её же и обнаруживает второй раз и пошел цикл на саму себя кликать, я предлагаю разбить поиск по клеткам, искать в каждой отдельно как я делал в своем коде, как это пихнуть в ваш код?

4
Общие вопросы / Re: IF внутри IF
« on: August 25, 2021, 10:58:25 AM »
Code: (clickermann) [Select]
$tower = 1
WHILE($tower <= 7)   // перебираем все башни от 1 до 7   башня_1.bmp - башня_7.bmp
    UNDEFINE($scan)
    GETSCREEN(1423, 567, 1755, 766)
    SCANPICTURE($scan, 1423, 567, 1755, 766, STRCONCAT("башня_", $tower, ".bmp"), -1, 90)
   
    $scan_size = ARRSIZE($scan)
    LOGWRITE("Найдена башня №", $tower, ", количество: ", $scan_size / 2)
    IF($scan_size > 2)
        LDOWN($scan[0], $scan[1])
        WAITMS(100)
        LUP($scan[2], $scan[3])
        WAITMS(100)
        // здесь "тыкаем кнопку чтоб кинуть на поле башню"
    ELSE  // найдено меньше двух штук
       INC($tower)  // переключаем на следующий номер башни
    END_IF
END_CYC

HALT

// если находятся дубли одной картинки в одном поле - нужно знать размеры поля для исключения
// если можно сразу склеить все цепочкой 1-2 2-3 и т.д. напиши, тогда так склеим в одном поиске.

ставлю 70% уже, ничего не происходит, даже не кликает на кнопку чтоб на поле кидать башни.

5
Общие вопросы / Re: IF внутри IF
« on: August 25, 2021, 10:43:02 AM »
Quote
Или можно все сразу склеить?
Все одновременно склеить нельзя, сперва одну пару, потом другую.

Quote
А не проще, если другой нет, не нажимать совсем, т.к. "отжал просто" это всё равно где-то и непонятно к чему это приведёт.
У меня в голове просто чуть сложнее) если можно упростить, то я ток за!

Quote
И поиск с 40% совпадением это неправильно. При таком проценте, ты будешь находить кучу копий почти в одном месте. В любом поиске, если процент опустился до 60 - жди беды. Это почти нерабочий вариант. 70 (даже 75) - 100 Чем больше, тем лучше.
Нужно попробовать поиск одной башни с разным % снижая его. Посмотреть на скольких находится. Можно сделать скрин.
все это запомнил, принял, но это второстепенная задача, мне бы кусочек кода, от чего я буду отталкиваться,

Quote
Скрин, само собой, не сжатый.
Там башни стреляют, они вечно в анимации какой-то смотрят в разные стороны, поэтому по моему сугубо не опытному мнению, нужен COLORMODE и 100% там никак не найдет)


6
Общие вопросы / Re: IF внутри IF
« on: August 25, 2021, 09:31:06 AM »
Действительно мой косяк, мне почему-то всегда не ловко просить помочь и стараюсь просить помочь ток о самом главном)

Quote
Есть ли код до и после этого кода? Если нет, все GOTO - безсмысленны. Если есть, выкинуть GOTO и поменять на нормальные конструкции.
Да это весь код, ну это начало, просто хочу понять как это сделать, а дальше распишу на 5 страниц, надеюсь)

Тогда расскажу прям как есть все все все!)
Есть поле битвы разбитое на клетки 5 на 3
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0

У меня есть 5 разных башнь которые я выкидываю на поле появляются они в рандомном месте и сами они тоже рандомные, мне нужно склеивать одинаковые чтобы там появилась более мощная башня, но появится тоже рандомная, короче надо тыкать все время кнопку чтоб на поле появилась башня и склеивать одинаковые, есть башни которые нужно склеить в первую очередь, а есть которые трогать нужно только если уже нет других вариантов, все поле например закрыла одна и та же башня!
Вот и хочу написать цикл, ищем башню номер 1 например на всех этих клетках по отдельности, думаю так проще искать будет, если нашлась башня №1 на клетке ну 7 допустим, ищем такую же  дальше, нашли? Склеиваем, тыкаем кнопку чтоб кинуть на поле башню и повторяем все заново, если башня №1 нигде нет, ищем №2, нашли? ищем такую же и так далее, мне нужно понять как сделать механизм, если нашел одну, зажал ЛКМ и ищешь другую, нашел? идешь туда и отжимаешь ЛКМ если нет, отжал просто, тыкнул кнопку создание башни и еще раз ищешь, ну и с метками этими туплю, по любому нужно будет как то с метками делать.

7
Общие вопросы / IF внутри IF
« on: August 24, 2021, 08:39:53 PM »
Всем добрый! Помогите умоляю, я начинающий кликермен, все прочитал, но то что мне нужно не нашел, везде пишут мол IF_PICTURE_IN нашел картинку и кликай, ELSE кликай в другое место, а мне нужно сканировать скрин, найти не пиксель а картинку которая всегда двигается так что применяю COLORMODE(6) и совпадения на 40 ставлю пока, так вот нужно найти картинку и если нашлась, то зажимаем ЛКМ и ищем эту картинку в еще 4 разных местах, если она где-то обнаружилась то не отпуская ЛКМ идет туда где нашли вторую и там отпускаем, там самым 2 картинки склеются, и все это в цикл, картинок таких разных 5 шт. всех по приоритетам выставлю, мне главное понять как сделать так чтоб кликер нашел одну, зажал ЛКМ и перетащил её туда где найдет вторую, а дальше поиск заново. а дальше дело за малым. Помогите плиз)


Code: [Select]
10: // ТИПА цикл, сюды возвращюсь если везде лажа
   GETSCREEN (1423, 567, 1755, 766)   // делаем скрин  поле боя
   IF_PICTURE_IN (1422, 567, 1484, 632, "4.bmp", -1, 40)  //ищем в координатах фотку
      LDOWN($_return1, $_return2)  //если нашли то зажимаем ЛКМ
      WAITMS(100)
      GOTO(1)  // и тут самое сложно, нужно найти в другом месте еще такую же картинка
               // гото 1 прыгаем на другой IF где ищем картинку     
   END_IF
//=============================================
1:   
      IF_PICTURE_IN (1484, 567, 5554, 632, "4.bmp", -1, 40) //если нашли то
         LUP($_return1, $_return2)      // то перетаскиваем сюда ЛКМ и отпускаем её, тем самым 2 картинка это 2 башни которые склеиваются.  Если тут не нашлb такую картику, ищем в другом месте и т.д
         WAITMS(100)
         GOTO(10)
      ELSE
         IF_PICTURE_IN (1557, 567, 1622, 632, "4.bmp", -1, 40)
            LUP($_return1, $_return2)   
            WAITMS(100)
            GOTO(10)         
         ELSE
            IF_PICTURE_IN (1622, 567, 1690, 632, "4.bmp", -1, 40)
               LUP($_return1, $_return2)   
               WAITMS(100)
               GOTO(10)
            ELSE
               IF_PICTURE_IN (1690, 567, 1757, 632, "4.bmp", -1, 40)
                  LUP($_return1, $_return2)   
                  WAITMS(100)
                  GOTO(10)
               ELSE
                  WAITMS(50)
               END_IF
END_IF
         END_IF
      END_IF
GOTO(10)
   

8
Здравствуйте, начинаю копаться с clickermann и уже понимаю суть и что да как, но вот у меня появилась задача.

Мне нужно чтобы при нажатие кнопки "капслок" делался скрин определённой области назовём этот скрин "Оригинал", далее каждые 100 мс надо делать скриншоты этой же области и сверять его с оригиналом, если скрин отличается от оригинала, то-есть картинка сменилась, то например кликать мышью, возможны ли такие махинации в этой проге? и кто может накинуть примерчиков, чтоб я знал от куда начать работу. Спасибо!

Pages: [1]