Автокликер Clickermann :: Форум

Основной раздел => Использование => Topic started by: 101вирус on May 30, 2019, 08:59:16 PM

Title: Рыбалка
Post by: 101вирус on May 30, 2019, 08:59:16 PM
Задачка состоит в том что , надо сделать нажатие цифры, одной из десяти?
Цвет, размер и его шрифт разный каждые 5 секунд.
Всего 4 цвета: "1из10" желтый на красном, белый на сером, зеленый на желтом, фиолетовый на зеленом.

Идея моя какая, проверка с лева на право пикселей, находим сумму пикселей одного и второго. Далее, выбираем сумму с меньшим цветом пикселей. Допустим наша сумма, 100 . Идем дальше, сумма 100 это наша цифра "семь", командой тыкаем семь. Проблема в том что иногда, у мелкого шрифта, кол-во пикселей совпадает, например 7 и 1 с одним и тем же кол- вом этих самых пикселей. Что предложите, какие идеи? С вырезкой в .bmp не вариант, так как надо успеть за пять секунд, действия медленные и не всегда правильные. Пытаюсь уже третью неделю.
Ниже примеры (скрины)
Title: Re: Рыбалка
Post by: 101вирус on May 31, 2019, 06:24:26 AM
просто определяйте цвет, отличный от основного цвета предложенных цифр и кликайте по нему. Если место появления цифр заранее известно, то особой сложности это не составит.
Места появления цифр разное, и всегда разный шрифт и размер. Нажимать нужно именно клавишу клавиатуры для выбора.
То есть, подходит вариант в моем первом посте, сложность его реализовать.
Title: Re: Рыбалка
Post by: Космич on May 31, 2019, 06:59:43 AM
а где на игру можно посмотреть?
Title: Re: Рыбалка
Post by: 101вирус on May 31, 2019, 07:18:51 AM
а где на игру можно посмотреть?
К сожалению видео удалил, но есть на ютубе ролик https://youtu.be/BUtvdFwPWfc?t=145 на 2-25 по времени, видно как происходит выбор.
Title: Re: Рыбалка
Post by: Vint on May 31, 2019, 02:11:53 PM
Зона поиска у нас же имеет какие-то внятные границы?

Есть предложение алгоритма.

Думаю, накидать код не составит труда, там ничего сложного. Если нужно, могу и в коде набросать.
Title: Re: Рыбалка
Post by: 101вирус on June 01, 2019, 04:04:16 AM
Зона поиска у нас же имеет какие-то внятные границы?

Есть предложение алгоритма.
  • Определяем пару рабочих цветов. Допустим получили красный-желтый.
  • Ищем  красный пиксел и жёлтый.
  • Сравниваем их x-координату и выбираем наименьшую.
  • Ищем самый правый красный и жёлтый пикселы
  • Сравниваем их x-координату и выбираем наибольшую.
  • В итоге получили границы последовательности 0-9 назовём "поле". Главная фишка: хоть шрифты и размеры разные, по фото - кернинг одинаковый
  • Берём среднюю величину жёлтого пиксела (между первым и последним). На самом деле этот шаг можно даже попробовать пропустить и брать всегда первый
  • вычисляем процентное расположение по X на поле нашего усреднённого пиксела. (Процент или десятые доли - это не важно, уже детали)
  • По проценту легко определяется необходимая цифра.
  • Profit

Думаю, накидать код не составит труда, там ничего сложного. Если нужно, могу и в коде набросать.
ВИНТ ты вообще, вообще "Великий" :) Я даже и не думал что, что то напишешьте .... посоветуете. В общем пробовал разное всякое ( с Clickermann)  ;D
Выходило только одно, находил "больший цвет" и пропускал мой белый ,я не могу понять как ему помочь, распознать цыфру, 1 2 3 4 ... как найти алгоритм, что бы правельно Как бы строки меняются, шрифт, следовательно пиксели, цвет. Тут для меня встала проблема. Короч  :) ПомоГи ВиНт!!!!                                                       и да там на видео более понятно, 10 секунд  займет...
Title: Re: Рыбалка
Post by: Vint on June 02, 2019, 06:11:48 PM
Из первого сообщения я понял что нахождение цвета отработано и с этим проблем нет. Оказывается нет? Мы это умеем или нет?
Для начала научиться стабильно находить два цвета основной и дополнительный. Для этого видео мало, нужны несжатые скриншоты, много выриантов цвета и расположения.
Title: Re: Рыбалка
Post by: 101вирус on June 04, 2019, 07:42:04 AM
Из первого сообщения я понял что нахождение цвета отработано и с этим проблем нет. Оказывается нет? Мы это умеем или нет?
Для начала научиться стабильно находить два цвета основной и дополнительный. Для этого видео мало, нужны несжатые скриншоты, много выриантов цвета и расположения.
Скриншоты сделаны, давно самим "Кликкером", разные варианты цифр и шрифтов. Выписаны все варианты "два цвета основной и дополнительный" (всего 6), кодировки цвета тоже 6. Нужна помощь в написании кода, поиск с лева направо цвета, наименьшего цвета по количеству пикселей, раз в 5 секунд. Ниже пара примеров.
 
(http://www.fotolink.su/pic_s/44bd7571b856722dbf3c47f674a9b6e5.jpg)
1301x803(2.99 MB) (http://www.fotolink.su/v.php?id=44bd7571b856722dbf3c47f674a9b6e5)
Code: [Select]
[code][/code]

(http://www.fotolink.su/pic_s/713d29343ba6777b6efae269b0ca0166.jpg)
1245x753(2.68 MB) (http://www.fotolink.su/v.php?id=713d29343ba6777b6efae269b0ca0166)
www.fotolink.su (http://www.fotolink.su)

(http://www.fotolink.su/pic_s/0cb1396be655cd318eb306c0df0a5b01.jpg)
1221x777(2.72 MB) (http://www.fotolink.su/v.php?id=0cb1396be655cd318eb306c0df0a5b01)
www.fotolink.su (http://www.fotolink.su)
Title: Re: Рыбалка
Post by: Vint on June 04, 2019, 03:19:42 PM
На скринах только два варианта цвета, остальных нет. Это не "много" как я просил.
Если будут проблемы с маленькими шрифтами (а они могут быть, особенно с серым), то кто виноват мы знаем  ;D

Дописать недостающие цвета и указать область поиска (не весь экран!)
Code: (clickermann) [Select]
#name "Рыбалка_101вирус"
// Author: Vint
// Version: 1.0 (04.06.2019)
// Скрипт для Clickermann v4.14.002

#define \n:STRCONCAT(char(13),char(10))

//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

// область появления цифр
$wnd_x1 = 330
$wnd_y1 = 310
$wnd_x2 = 1600
$wnd_y2 = 970


//Всего 4 цвета:
//желтый на красном        5294320, 3289824
//белый на сером           15790320, 9211020
//зеленый на желтом
//фиолетовый на зеленом

// цвета цифр активных (подсвеченных)
STRSEPARATE("5294320,15790320", ",", $color_actv)

// цвета цифр основных
STRSEPARATE("3289824,9211020", ",", $color_main)


//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


SUB(find_x_min, $col) //========================================================
    GETSCREEN($wnd_x1,$wnd_y1, $wnd_x2,$wnd_y2)
    IF_PIXEL_IN($wnd_x1,$wnd_y1, $wnd_x2,$wnd_y2, $col)
        ARRPUSH($dict_min, $_return1)
    ELSE
        LOGWRITE("Цвет ", $col, " не найден! Индекс в массиве: ", $ind)
        SCREENSHOTEX($wnd_x1,$wnd_y1, $wnd_x2,$wnd_y2, "no_color_", 0)
        HALT
    END_IF
END_SUB


SUB(find_x_max, $col) //========================================================
    GETSCREEN($wnd_x1,$wnd_y1, $wnd_x2,$wnd_y2)
    SCANPXL($arr, $wnd_x1,$wnd_y1, $wnd_x2,$wnd_y2, $col)
   
    $len = ARRSIZE($arr)
    IF($len > 0)
        $right_x = -1
        FOR($i=0, $i < $len, 2)
            $X = $arr[$i]
            IF($X > $right_x)
                $right_x = $X
            END_IF
        END_CYC
        UNDEFINE($ARR_SCAN)
        ARRPUSH($dict_max, $right_x)
    ELSE
        LOGWRITE("Цвет ", $col, " не найден! Индекс в массиве: ", $ind)
        SCREENSHOTEX($wnd_x1,$wnd_y1, $wnd_x2,$wnd_y2, "no_color_", 0)
        HALT
    END_IF
END_SUB

//==============================================================================


//##############################################################################

WAITMS(300)
LOGCLEAR

WHILE(1)
    UNDEFINE($dict_min)
    UNDEFINE($dict_max)
   
    // ждём появление одного из активных цветов
    $found = 0
    WHILE($found = 0)
        FOR($n=0, $n < ARRSIZE($color_actv))
            GETSCREEN($wnd_x1,$wnd_y1, $wnd_x2,$wnd_y2)
            IF_PIXEL_IN($wnd_x1,$wnd_y1, $wnd_x2,$wnd_y2, $color_actv[$n])
                $ind = $n
                $found = 1
                $n = 100
                // MOVE($_return1, $_return2)
            ELSE
                WAITMS(100)
            END_IF
        END_CYC
    END_CYC
   
    // определяем минимальные координаты
    find_x_min($color_actv[$ind])
    find_x_min($color_main[$ind])
   
    IF($dict_min[0] < $dict_min[1])
        $x_min = $dict_min[0]
    ELSE
        $x_min = $dict_min[1]
    END_IF
   
    // определяем максимальные координаты
    find_x_max($color_actv[$ind])
    find_x_max($color_main[$ind])
   
    IF($dict_max[0] > $dict_max[1])
        $x_max = $dict_max[0]
    ELSE
        $x_max = $dict_max[1]
    END_IF
   
    // определяем средние координаты активной цифры
    $act_x_min = $dict_min[0]
    $act_x_max = $dict_max[0]
    $act_x = ($act_x_min + $act_x_max) / 2
   
    // высчитываем активную цифру
    $step = ($x_max - $x_min) / 10
    $result = INT(($act_x - $x_min) / $step)
   
    LOGWRITE("----------------------------------")
    LOGWRITE("Поле min-max ", $x_min, " / ", $x_max)
    LOGWRITE("Act_X ", $act_x, "   ", $act_x_min, " / ", $act_x_max)
    LOGWRITE("Ответ: ", $result)
    LOGWRITE(\n)
   
    // действие
    KEYPRESS($result+48)
    WAITMS(5000)  // подобрать паузу, чтобы небыло многократного срабатывания на одну комбинацию
    // или делать задержку выполнения по особым признакам.
   
    // другие действия (определение окончания и т.п.)
END_CYC

HALT
Title: Re: Рыбалка
Post by: 101вирус on June 05, 2019, 08:09:48 AM
"Просек" как работает  :) Логично в принципе, я не мог понять как этот "Act_X " найти, все супер но надо работать еще, буду заниматься. И еще, как сюда свои наработки выкладывать? Говорит форум, много буКав. Наверно надо пойти на ФАкЮ  :)
 
Винт, скрин даже один, не помещается на форум, 2 мегаВатта :) весит.  Могу конечно сбросить, в архив закатать, если интересно.
Title: Re: Рыбалка
Post by: Vint on June 05, 2019, 02:03:35 PM
В png сохраняй. На обменник, на Яндкс.Диск, Гугл диск и прочие "диски".
Title: Re: Рыбалка
Post by: 101вирус on June 07, 2019, 11:20:17 AM
Переконвертировал в png, засунул в архив https://yadi.sk/d/ttsWqTlqhzQ71w

Проблема с серым цветом и вот этим вот шрифтом , видимо из-за наклона, ну это фиг с ним. А вот на серый как то неправильно реагирует, не находит.
Винт а вот это
Code: [Select]
SCREENSHOTEX($wnd_x1,$wnd_y1, $wnd_x2,$wnd_y2, "no_color_", 0)
специально в коде  :D???
На скринах только два варианта цвета, остальных нет. Это не "много" как я просил.
Если будут проблемы с маленькими шрифтами (а они могут быть, особенно с серым), то кто виноват мы знаем  ;D


Я тут подумал, можно же прописать что бы цвет менял самостоятельно. Типо с серого на тот же красный (3289824), на работу кода повлияет? Вообщем буду пробовать. 8)
Title: Re: Рыбалка
Post by: Vint on June 07, 2019, 06:07:55 PM
С серым неправильно, потому, что его много не на цифрах. Находит не там.
Пока не смотрел, это предположение.
Title: Re: Рыбалка
Post by: 101вирус on June 20, 2019, 03:58:11 AM
С серым неправильно, потому, что его много не на цифрах. Находит не там.
Пока не смотрел, это предположение.
Винт, можешь помочь?
Привязать к твоему коду, который выше, добавить "распозновалку капчи". Она появляется каждые, 16 минут. Если несложно напишите пожалуйста код, распознования. Нарезал цифры, этой капчи, цвет одинаков, шрифт и фон тоже, кол-во цыфр всегда пять. Сам думал, привязаться к слову "КОД", как только появляется это слово, скрипт срабатывает на "капчу". Ниже скрин ... спасибо.
Code: [Select]
#name "Распознавание чисел"
// Author: Vint
// Version: 1.5 (28.05.2015)
// Скрипт для Clickermann v4.11 002

// подключение number_read
// #include "Распознавание чисел 1.5.cms"
//==============================================================================
SUB(sort_arr)  // сортируем $data по возрастанию X
   $data_size = ARRSIZE($data)
   FOR($out=0, $out < $data_size, 2)
      $min = $data[$out]
      $ind = $out
     
      FOR($in=($out+2), $in < $data_size, 2)
         IF($data[$in] < $min)
            $min = $data[$in]
            $ind = $in
         END_IF
      END_CYC
      //LOGWRITE("минимум: ", $min, "  ", $ind, " - ", $out)
      $X =  $data[$ind]
      $Y =  $data[$ind+1]
     
      $data[$ind] = $data[$out]
      $data[$ind+1] = $data[$out+1]
      $data[$out] = $X
      $data[$out+1] = $Y
     
      //LOGWRITE($X, " / ", $Y)
      WAITMS(20)
   END_CYC
END_SUB

//==============================================================================
SUB(number_read, $f_x1,$f_y1,$f_x2,$f_y2, $pref, $c_mode)
   // $f_x1, $f_y1 область ЛевоВерх
   // $f_x2, $f_y2 область ПравоНиз
   // $pref = "textures\digit_" префикс имён файлов с цифрами (для разных шрифтов)
   // $c_mode - режим COLORMODE
   
   // Результат возвращается в $res если не найдено $res=-1
   
   
   $res = -1 // очищаем ответ
   UNDEFINE($data) // главный массив данных
   UNDEFINE($a_scan) // временный массив для SCANPICTURE
   $SHIFT_X = 15 // смещение (кол-во игнор пикселов вокруг найденного)
   $SHIFT_Y = 15
   
   GETSCREEN
   IF($c_mode > 0)
      COLORMODE($c_mode, $f_x1,$f_y1,$f_x2,$f_y2)
   END_IF
   FOR ($i=0, $i < 11)
      SWITCH($i)
      CASE(0)
         $pr = 95
      CASE(1)
         $pr = 99
         //      CASE(2)
         //         $pr = 95
      CASE(3)
         $pr = 93
      CASE(4)
         $pr = 95
      CASE(5)
         $pr = 95
      CASE(6)
         $pr = 95
      CASE(7)
         $pr = 95
      CASE(8)
         $pr = 94
         //      CASE(9)
         //         $pr = 95
      DEFAULT
         $pr = 100
      END_SWITCH
     
      SCANPICTURE($a_scan, $f_x1,$f_y1,$f_x2,$f_y2, STRCONCAT($pref,$i,".bmp"), 15527148, $pr)
     
      // заносим 'X,цифра' в $num с учётом мёртвых зон
      $a_scansize = ARRSIZE($a_scan)
      IF($log0 = 1)
         LOGWRITE ("Ищем картинку ", $i, "  найдено ", $a_scansize/2)
      END_IF
     
      FOR($j=0, $j < $a_scansize, 2)
         $X = $a_scan[$j]
         $Y = $a_scan[$j+1]
         
         // проверяем мёртвые зоны
         $dead_zone = 0
         $dead_size = ARRSIZE($dead)
         FOR($m=0, $m < $dead_size, 2)
            $X_old = $dead[$m]
            $Y_old = $dead[$m+1]
            IF($log0 = 1)
               LOGWRITE ("$X/$X_old = ", $X, " / ", $X_old)
               LOGWRITE ("$X/$Y = ", $X, " / ", $Y, "   ABS ", ABS($X - $X_old))
            END_IF
            IF((($Y - $Y_old) < $SHIFT_Y+1) & (ABS($X - $X_old) < $SHIFT_X+1))
               $dead_zone = 1
               $m = $dead_size + 10
            END_IF
         END_CYC
         
         IF($log0 = 1)
            LOGWRITE ("$dead_zone = ", $dead_zone)
            LOGWRITE ("$dead_size = ", $dead_size)
         END_IF
         IF($dead_zone = 0)
            ARRPUSH($dead, $X)
            ARRPUSH($dead, $Y)
            ARRPUSH($data, $X)
            ARRPUSH($data, $i)
            IF($log0 = 1)
               LOGWRITE ("добавляем ", $i, " $X/$Y = ", $X, " / ", $Y)
            END_IF
         END_IF
      END_CYC
      IF($log0 = 1)
         LOGWRITE ("после добавления ", $i, " всего ", ARRSIZE($data)/2)
         LOGWRITE (" ")
      END_IF
      UNDEFINE($dead)
      UNDEFINE($a_scan)
   END_CYC
   
   $data_size = ARRSIZE($data)
   IF($data_size > 0)
      sort_arr()
      IF($log0 = 1)
         LOGWRITE ("цифр после сортировки ", ARRSIZE($data)/2)
      END_IF
     
      FOR($i=1, $i < $data_size, 2)
         IF($res = -1)
            $res = STRCONCAT("", $data[$i])   // если первыё символ
         ELSE
            IF($data[$i] < 10)
               $res = STRCONCAT($res, $data[$i]) // последующие символы цифры
            ELSE
               $res = STRCONCAT($res, "") // последующие символы  зпт
            END_IF
         END_IF
      END_CYC
      //$res = ROUND($res, -8)
   ELSE
      LOGWRITE ("число не найдено")
   END_IF
END_SUB

//==============================================================================


LOGCLEAR
$log = 1
//$log0 = 1
number_read(49,701, 96,715, "textures\digit_", 7)
LOGWRITE ("Найдено число:  ",$res)
HINTPOPUP("Найдено число:  ",$res)
HALT
Вот бы его подкоректировать под колормод7. Находит цифры, с первого скрина с которого нарезал, дальше находит но, одну или три (уже на других)
 
Title: Re: Рыбалка
Post by: 101вирус on June 26, 2019, 04:19:41 AM
Может другой кто поможет, Винт чет не хочет советовать ...
Title: Re: Рыбалка
Post by: 101вирус on June 27, 2019, 01:06:10 PM
Может другой кто поможет, Винт чет не хочет советовать ...
правильно делает, личные сообщения на форумах всегда запрещены, для этого у вас существует меню личных сообщений.
Спасибо, в курсе
Title: Re: Рыбалка
Post by: рыбак on September 04, 2019, 12:21:27 PM
всем привет, этот скрипт работает на поиск картинки, а как сделать наоборот, чтоб когда картинка пропадала он кликал????

GETSCREEN
IF_PICTURE_IN (749,385,1070,553, "104.bmp", 9, 0)
LCLICK(908,571)
   WAITMS(500) 
END_IF
Title: Re: Рыбалка
Post by: Oraven on September 04, 2019, 01:09:46 PM
всем привет, этот скрипт работает на поиск картинки, а как сделать наоборот, чтоб когда картинка пропадала он кликал????

GETSCREEN
IF_PICTURE_IN (749,385,1070,553, "104.bmp", 9, 0)
LCLICK(908,571)
   WAITMS(500) 
END_IF

Параметр 9 отвечает за цвет прозрачности в картинке. Действительно ли в твоей картинке обозначена прозрачность таким цветом?

Парамтр 0 указывает на то что картинка ищется с 0% совпадения. То есть картинку кликер найдет где угодно.

Использовать процент совпадения без цветокоррекции в большинстве случаев бессмысленно.

Чтобы кликать если картинка не найдена нужно написать альтернативу ELSE в условии/
Code: (clickermann) [Select]
GETSCREEN
IF_PICTURE_IN (749,385,1070,553, "104.bmp", 0, 100)
   WAITMS(50)
ELSE
   LCLICK(908,571)
   WAITMS(500)
END_IF
Title: Re: Рыбалка
Post by: рыбак on September 04, 2019, 01:22:06 PM
bgcolor и currency - непонятные для меня параметры выбраны опытным путем, не утверждаю что правильно))) ваш скрипт попробую спасибо!!! да картинка не статичная, это рыбалка, поплавок клюет на половину, пропадает и ведет в стороны
Title: Re: Рыбалка
Post by: рыбак on September 04, 2019, 02:26:07 PM
всем привет, этот скрипт работает на поиск картинки, а как сделать наоборот, чтоб когда картинка пропадала он кликал????

GETSCREEN
IF_PICTURE_IN (749,385,1070,553, "104.bmp", 9, 0)
LCLICK(908,571)
   WAITMS(500) 
END_IF

Параметр 9 отвечает за цвет прозрачности в картинке. Действительно ли в твоей картинке обозначена прозрачность таким цветом?

Парамтр 0 указывает на то что картинка ищется с 0% совпадения. То есть картинку кликер найдет где угодно.

Использовать процент совпадения без цветокоррекции в большинстве случаев бессмысленно.

Чтобы кликать если картинка не найдена нужно написать альтернативу ELSE в условии/
Code: (clickermann) [Select]
GETSCREEN
IF_PICTURE_IN (749,385,1070,553, "104.bmp", 0, 100)
   WAITMS(50)
ELSE
   LCLICK(908,571)
   WAITMS(500)
END_IF

скрипт стал подсекать сразу после включения
Title: Re: Рыбалка
Post by: Oraven on September 04, 2019, 02:51:27 PM
bgcolor и currency - непонятные для меня параметры выбраны опытным путем, не утверждаю что правильно))) ваш скрипт попробую спасибо!!! да картинка не статичная, это рыбалка, поплавок клюет на половину, пропадает и ведет в стороны

Нужно искать цвет поплавка а не картинку.

скрипт стал подсекать сразу после включения

Естественно, ведь я написал там 100% совпадение.
Title: Re: Рыбалка
Post by: рыбак on September 04, 2019, 03:07:13 PM
bgcolor и currency - непонятные для меня параметры выбраны опытным путем, не утверждаю что правильно))) ваш скрипт попробую спасибо!!! да картинка не статичная, это рыбалка, поплавок клюет на половину, пропадает и ведет в стороны

Нужно искать цвет поплавка а не картинку.

скрипт стал подсекать сразу после включения

Естественно, ведь я написал там 100% совпадение.

так картинка не пропала, а он срабатывает??? или как это работает???
 
Title: Re: Рыбалка
Post by: Vint on September 04, 2019, 03:12:13 PM
Она "не пропала", её там и не было.

(именно той, что ты ищешь и именно при 100% совпадении)
Title: Re: Рыбалка
Post by: рыбак on September 04, 2019, 03:27:35 PM
Она "не пропала", её там и не было.

(именно той, что ты ищешь и именно при 100% совпадении)

хорошо, может я неправильно делаю картинку, как мне сделать, картинку подвижного поплавка? без условия ELSE кликерман находит эту картинку на рабочем столе(статичную) и кликает куда мне нужно
Title: Re: Рыбалка
Post by: Vint on September 04, 2019, 10:49:38 PM
Уже сказали: искать не картинку, а цвет.
Title: Re: Рыбалка
Post by: рыбак on September 04, 2019, 11:32:43 PM
Уже сказали: искать не картинку, а цвет.

подскажите скрипт, я думаю проблема в подвижном поплавке свечение пикселей на нем меняются что ли? глазу это не видно.
Скажите от какого скрипта отталкиваться и подскажите направление, мне уже не так рыбалка важна, как разобраться в этом, дело принципа уже)
Title: Re: Рыбалка
Post by: рыбак on September 09, 2019, 03:58:22 PM
Уже сказали: искать не картинку, а цвет.

COLORMODE (7,0,0, $_xmax,$_ymax)
GETSCREEN
IF_PICTURE_IN (749,385,1070,553, "105.bmp", 0, 100)
   WAITMS(50)
ELSE
   LCLICK(908,571)
   WAITMS(500)
END_IF
итог тот же, срабатывает сразу после включения скрипта
Title: Re: Рыбалка
Post by: Oraven on September 09, 2019, 04:39:03 PM
Уже сказали: искать не картинку, а цвет.

COLORMODE (7,0,0, $_xmax,$_ymax)
GETSCREEN
IF_PICTURE_IN (749,385,1070,553, "105.bmp", 0, 100)
   WAITMS(50)
ELSE
   LCLICK(908,571)
   WAITMS(500)
END_IF
итог тот же, срабатывает сразу после включения скрипта

Для начала сделай скриншот объекта таким скриптом.
Code: (clickermann) [Select]
GETSCREEN // снимок
COLORMODE(7) // цветокоррекция снимка
SCREENSHOTEX(0,0, $_xmax,$_ymax, "Image_", 0) // сохранение снимка в файл
HALT

Вырежи маленькую часть объекта без захвата фона и тестируй нахождение таким скриптом
Code: (clickermann) [Select]
GETSCREEN
COLORMODE(7)
IF_PICTURE_IN (749,385,1070,553, "Image_00000000.bmp", -1, 80) // подбирай процент совпадения
   MOVE($_return1, $_return2) // курсор перемещается на картинку
ELSE
   HINTPOPUP("Не нашел")
END_IF
HALT

И вот уже только когда настроишь правильный процент совпадения устанавливай такие же параметры для своего скрипта.
Code: (clickermann) [Select]
GETSCREEN(749,385,1070,553)
COLORMODE(7,749,385,1070,553)
IF_PICTURE_IN (749,385,1070,553, "105.bmp", -1, 80)
   WAITMS(50)
ELSE
   LCLICK(908,571)
   WAITMS(500)
END_IF
Title: Re: Рыбалка
Post by: рыбак on September 10, 2019, 11:26:08 PM
спасибо, буду пробовать!!! И еще вопрос параметр bgcolor принимает значения от "каких до каких"?
Title: Re: Рыбалка
Post by: Oraven on September 11, 2019, 06:05:44 AM
спасибо, буду пробовать!!! И еще вопрос параметр bgcolor принимает значения от "каких до каких"?

bgcolor - это цвет который кликер будет считать за прозрачность в картинке поиска. Этим цветом ты должен закрасить в своей картинке то что не нужно анализировать.
Title: Re: Рыбалка
Post by: рыбак on September 11, 2019, 01:31:55 PM
Для начала сделай скриншот объекта таким скриптом.
Code: (clickermann) [Select]
GETSCREEN // снимок
COLORMODE(7) // цветокоррекция снимка
SCREENSHOTEX(0,0, $_xmax,$_ymax, "Image_", 0) // сохранение снимка в файл
HALT

Вырежи маленькую часть объекта без захвата фона и тестируй нахождение таким скриптом
Code: (clickermann) [Select]
GETSCREEN
COLORMODE(7)
IF_PICTURE_IN (749,385,1070,553, "Image_00000000.bmp", -1, 80) // подбирай процент совпадения
   MOVE($_return1, $_return2) // курсор перемещается на картинку
ELSE
   HINTPOPUP("Не нашел")
END_IF
HALT

сделать скриншот вашим скриптом не получилось, сделал этим:
GETSCREEN
COLORMODE(7)
SCREENSHOT
HALT

начал тестировать,менять параметр currency, при параметрах от 100 до 12 появляется надпись "не нашел", курсор на месте, а при 11 до 0 курсор перемещается в выбранные координаты
в любом случае: когда поплавок присутствует на экране и когда его уже нет. Изменение параметра bgcolor никаких результатов не дало, при разных показаниях параметра currency.
Все вышеизложенное пробовал тестировать не только в игре где подвижный поплавок, но и просто на рабочем столе со статичным изображением, результаты получились точно такие же