Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: sarkis95 on January 25, 2019, 03:58:37 PM
-
Помогите пожалуйста в написании скрипта
задача в том, чтобы на экране обнаружить бота, который "танцует"(немного дрыгает руками от чего одного скрина бота не достаточно для обнаружения) и кликнуть по нему, через шаблоны сделать не выходит, кликер долго думает и не находит, на форуме похожих скриптов не нашел, какую переменную вставить чтобы кликер искал "или одну или вторую или третью и т.д" фотографию бота тоже не нашел.
и если не трудно, подскажите какие переменные вставлять после "вайт 5 сек" для банального клика по определенным кординатам
заранее очень признателен!
-
Выложи полную картинку игрового окна с этим ботом
-
Выложи полную картинку игрового окна с этим ботом
скрин общий https://pastenow.ru/db481897ff921ee8052b439c655a3b03
и те, что код взятый по шаблону не находит
-
Скорее всего через раз будет находить и не факт что бота ;D
GETSCREEN
COLORMODE(5)
SCANPXL($array_scan, 0,0, $_xmax,$_ymax, 8339295)
$size = ARRSIZE($array_scan)
FOR($i = 0, $i < $size, 2)
FOR($k = $i + 2, $k < $size, 2)
$y = $array_scan[$k+1] - $array_scan[$i+1]
$x = ABS($array_scan[$k] - $array_scan[$i])
IF( ($y > - 1 & $y < 5) & ($x > 10 & $x < 50) )
MOVE(ROUND( ($array_scan[$i] + $array_scan[$k]) / 2, 0), ROUND( ($array_scan[$i+1] + $array_scan[$k+1]) / 2, 0))
$size = 0
END_IF
END_CYC
END_CYC
UNDEFINE($array_scan)
HALT
-
А с чего он найдет эти картинки если фон все время меняется. Плюс эффекты сглаживания плюс возможная частичная прозрачность этих роботов.
Искать надо уникальный цвет робота,
-
а я и имел ввиду цвет, хотя мона еще попробовать с разложением на RGB цвета, но это будет еще дольше)
-
Скорее всего через раз будет находить и не факт что бота ;D
GETSCREEN
COLORMODE(5)
SCANPXL($array_scan, 0,0, $_xmax,$_ymax, 8339295)
$size = ARRSIZE($array_scan)
FOR($i = 0, $i < $size, 2)
FOR($k = $i + 2, $k < $size, 2)
$y = $array_scan[$k+1] - $array_scan[$i+1]
$dist = DIST($array_scan[$i], $array_scan[$i+1], $array_scan[$k], $array_scan[$k+1])
IF( ($y > -1 & $y < 10) & ($dist > 5 & $dist < 40) )
$x = ROUND( ($array_scan[$i] + $array_scan[$k]) / 2, 0)
$y = ROUND( ($array_scan[$i+1] + $array_scan[$k+1]) / 2, 0)
MOVE($x, $y)
$size = 0
END_IF
END_CYC
END_CYC
UNDEFINE($array_scan)
HALT
большое спасибо! буду пытаться дополнить)
-
Я уже изменил, там дистанция между пикселями излишне