Нужно реализовать движение персонажа до объекта. Движение происходит за счет зажатия клавиши (wsad)
Идея такая, что с помощью findcolor нахожу координаты куда бежать персонажу, а потом зажать клавижу до тех пор пока он до нее не дойдет, но идею как это реализовать не пойму.
скорее findimage чем findcolor. А в чем вообще принципиальная проблема? Зажали, ждем появления точки/изображения, отжали. Код покажите любой кривости - подскажу по месту. Так очень сложно гадать в чем у вас проблема.
Извиняюсь, очень сумбурно написал.
findcolor'a достаточно, цели имеют уникальный цвет, с их поиском проблем не возникло.
Камера привязана к персонажу(он всегда в этих координатах).
--lua
log (1202, 573, 110, 100)
local heroX = 478
local heroY = 298
function getTargetPosition()
local x1, y1 = 478, 298
local x2, y2 = 478, 298
local count = 0
while true do
local cottonPos = findcolor (x1, y1, x2, y2, 1, 1, [[('3232848')]], '%arr', 2, 10, 2)
if cottonPos then
log(arr[1][1], arr[1][2])
return arr[1][1], arr[1][2]
else
-- log('expand search')
if count < 400 then
x1 = x1-1
y1 = y1-1
x2 = x2+1
y2 = y2+1
count = count +1
else
log('waiting spawn')
wait(5000)
x1,y1,x2,y2,count = 478,298,478,298,0
end
-- log(count)
end
end
end
function moveToTarget()
targetX, targetY = 0,0
while math.abs(heroX - targetX) > 50 or math.abs(heroX - targetY) > 50 do
targetX, targetY = getTargetPosition()
if heroX < targetX then
log('right')
kleft_down(rightX, rightY)
elseif heroX > targetX then
log('left')
kleft_down(leftX, leftY) -- т.к. send_down не работает, а send217_down некорректно работает, то зажимаю на джойстик движения мышкой
end
log('up')
kleft_up(leftX, leftY) -- отпускаю мышь
end
end
while true do
if color(755, 240) == 38358 then
kleft(752, 253)
wait(3000)
else
moveToTarget()
end
end
if count < 400 then
x1 = x1-1
y1 = y1-1
x2 = x2+1
y2 = y2+1
count = count +1
если одинаковых цветов не очень много, то сделать как Darkmaster написал, а если много, то можно попробовать вот здесь
if count < 400 then
x1 = x1-1
y1 = y1-1
x2 = x2+1
y2 = y2+1
count = count +1
Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)