Автокликер Clickermann :: Форум
Основной раздел => Использование => Topic started by: Космич on September 20, 2018, 07:08:31 PM
-
Есть прямоугольная 2D карта, на ней есть одна синяя точка с ограниченной квадратной областью видимости и неизвестное кол-во красных точек.
Цель задачи:
Если в радиус синей точки попала красная, то совершать клики на N количество пикселей в противоположную сторону от красной точки, что бы красная точка вышла из радиуса видимости синей. Т.е. образно говоря, что бы синяя точка убегала от красных.
В чем, собственно, сама проблема.
Область карты ограниченна и это тоже нужно как то учитывать перед кликами. Не ясно как быть с красными точками, брать одну ближайшую или как то учитывать все, применять какие то шаблонны?
В общем, я буду рад, если мне кто-то составит компанию в решении данной задачи...
-
лучше сразу честно признаться для какой это игры и выложить скрины,
а то окажется что это очередной давно и многократно написанный DarkOrbit или ещё что-то уже готовое.
да, и код выкладывайте сразу, на код компания быстрее составится.
Игру угадал, но я решил не акцентировать внимание на игре, что бы не усложнять тему игровыми особенностями и не привязывать тему к самой игре, но, видимо, получился обратный эффект. ;D
Кода касающегося данной темы у меня еще нету. Есть пустышка, в которой всё должно происходить.
IF( ( ($flee_from_enemy & $pvp_maps) == 1) & ( ($actual_map & $work_map) == STRCONCAT(4, $id_company) ) )
#include "data\include\ship_position.cms" // Получение координат корабля на миникарте
IF(PXLCOUNT($_xpos - 15, $_ypos - 15, $_xpos + 15, $_ypos + 15, 204) > 0)
SCANPXL($array_coord, $_xpos - 15, $_ypos - 15, $_xpos + 15, $_ypos + 15, 204)
$check_out = 0
$len = ARRSIZE($array_coord)
IF($len > 0)
FOR($i = 0, ($i < $len, 2) & ($check_out = 0))
IF( ($_xpos - $array_coord[$i])*($_xpos - $array_coord[$i])+($_ypos - $array_coord[$i+1])*($_ypos - $array_coord[$i+1]) <= (8*8) ) // тут совершенно другая история
$check_out = 1
END_IF
END_CYC
UNDEFINE($array_coord)
END_IF
END_IF
END_IF
P.S. что то вроде такого если для одного пикселя, но как тогда избежать выхода за пределы карты, т.е. сделать смещение, что бы кликал вдоль/поперёк границы?
$X_run = INT($_xpos - $array_coord[$i]) * 2
$Y_run = INT($_ypos - $array_coord[$i+1]) * 2
MOVE($_xpos + $X_run, $_ypos + $Y_run)
-
а зачем от красных убегать, этож мобы их фармят?
а убегают только от вражеских игроков и ещё отсиживаются пока они карту не покинут.
Или я уже, что-то забыл? :)
на обычных картах да, но на пвп картах только живые враги
-
не убежит так бот от игроков, поверь моему опыту,
только сразу к телепортироваться на другую карту и пережидать пока улетят или в невидимости фармить.
На обычных картах у меня сразу же бежит на порт и телепортируется, но на пвп можно сделать похитрее. Смысл в том, что радиус поражения пушек ниже чем радиус видимости на миникарте. Соответственно, мы еще можем себе позволить отлететь в сторону, пока красная точка не вошла в указанный радиус. Если всё же красная точка вошла в радиус, то можно использовать Ультра камуфляж и спокойно сменить карту. :)