Автокликер Clickermann :: Форум
Основной раздел => Использование => Topic started by: HD1521 on June 04, 2022, 11:44:16 AM
-
Всем доброго.
Появился вот такой вопрос.
На экране имеется карта, на которой "противники" отображаются в виде краных треугольников, которые могут быть ориентированы как угодно по оружности 360 градусов.
Ориентация и координаты центра треугольника непрерывно меняются.
Как можно анализируя буфер экрана найти все координаты таких треугольников ? Поиск картинки не работает.
Памажите кто может.
-
Сначала ищется красный пиксель, потом подсчитывается число красных пикселей в ограниченной области от найденного и если соответствует требованиям, то координаты запоминаются в массив, делается отступ на заданное число пикселей и сканирование миникарты продолжается. В игре WoT, мой бот так успешно и быстро находил цели для арты.
-
А можно попросить кусок кода ?
-
А можно попросить кусок кода ?
SUB(тип.танка) // --- опред. тип цели на поле --------------
// === переменные для выбора направления к цели
$cel_x=$_return1
$cel_y=$_return2+$korr_markera
$strelka_x = $_return1 //
$strelka_y = $_return2
$opr_tip = PXLCOUNT ($_return1-7,$_return2-2, $_return1+7,$_return2+19,2039775)
LOGWRITE($cwic_tip," ","тип-",$opr_tip," ", $cel_x,"-",$cel_y,)
$tip_cel1 = $opr_tip
IF ($opr_tip >28) // было 28 при нормальном увеличении
HINTPOPUP ($cwic_tip,"тип-",$opr_tip)
LOGWRITE("есть цель-",$cwic_tip," ", $cel_x,"-",$cel_y," тип",$opr_tip)
goto(skip_cel)
ELSE
SWITCH($cwic_tip)
CASE(1)
goto(skip_poisk_celi_1)
case(2)
goto(skip_poisk_celi_2)
DEFAULT
goto(skip_poisk_celi_3)
END_SWITCH
END_IF
END_SUB
skip111:
GETSCREEN
WAITMS(30)
COLORMODE(5) // 350,248,1070,600
WAITMS(30)
$cel_y = 400
skip_poisk_celi_1:
$cwic_tip = 1
IF_PIXEL_IN ( 680,$cel_y+5,760,485, 2039775)
тип.танка()
END_IF // ===== 1 поиск в центре завершён===
$cel_y = 340
skip_poisk_celi_2:
$cwic_tip = 2
IF_PIXEL_IN (620,$cel_y+5,820,545, 2039775)
тип.танка()
END_IF // ===== второй поиск в центре завершён===
$cel_y = 248
skip_poisk_celi_3:
$cwic_tip = 3
IF_PIXEL_IN (350,$cel_y+5,1070,600, 2039775)
тип.танка()
ELSE
goto(skip_2_poisk_celi)
END_IF // ===== 3 поиск в центре завершён===
// === поиск цели завершён ====
Вот небольшой кусок. Насколько помню, бот проверял последовательно три сектора, чтоб выбивать сначала ближайших к себе и подсчитав число пикселей определял тип найденной цели, танк, ПТ ,арта или групповая цель если в область подсчёта попадало несколько врагов стоящих очень близко.
-
Да, идею уловил, спасибо