Page 1 of 1

Преследование

Posted: 2004-07-07 09:45:46
by Bambr
sub FollowHim()
var dx, dy
uo.print('totem')
uo.exec('addobject TOT')
while uo.targeting()
wait(100)
wend
UO.DeleteJournal()
while NOT UO.Dead()
dx=UO.GetX('TOT')-UO.GetX()
dy=UO.GetY('TOT')-UO.GetY()
if dx==0 then
if dy>0 then
UO.Press(35)
else
if dy<0 then
UO.Press(33)
end if
end if
end if
if dx>0 then
if dy>0 then
UO.Press(40)
else
if dy<0 then
UO.Press(39)
else
UO.Press(34)
end if
end if
end if
if dx<0 then
if dy>0 then
UO.Press(37)
else
if dy<0 then
UO.Press(38)
else
UO.Press(36)
end if
end if
end if
wend
end sub

Таргетинг чужой и прилеплен для удобства тестирования.
Недостатки:
- написан для работы в поле;
- припятствия не обходит;
- при хайде цели чар идёт к нулевым координатам;
- при скорости цели больше скорости чара теряем цель;
- скрипт частично зависимый (нельзя писать);
- прочее выясняется ...

Предлагаю по скрипту опрос: кому больше нужен? красным или синим?

Posted: 2004-07-07 18:58:51
by Kazoo
Bambr попробуй хождения сергуса !

Code: Select all

http://yokoinjection.narod.ru/scripts/MoveUnit.sc

нашот апроса думаю красным

Posted: 2004-07-08 07:21:00
by Bambr
Kazoo wrote:Bambr попробуй хождения сергуса !

Code: Select all

http://yokoinjection.narod.ru/scripts/MoveUnit.sc

нашот апроса думаю красным


Посмотрел краем глаза. У меня стояла другая задача: преследование, а не дойти до финиша. Это разный тип задач. При преследовании необходимо, что бы время выполнения скрипта было минимальным. Иначе, с учетом задержки клиент-сервер, вероятность достигнуть движущейся цели приближается к нулю. Поэтому проверки ланшафта на предмет стен, деревьев и обрывов не вписаны. Заманчиво, конечно, подвестить UO.GetDir('TOT') и на его основе направлять чара "наперерез". Но тогда придется подвешивать анализ местности с выбором оптимального пути ... А это уже из области "хачу всё на адной кнопке".
Более простой задачей будет превратить "преследование" в "убегание", хотя ........