Page 1 of 1

Проход по данжу

Posted: 2009-03-24 01:18:20
by Eventualis
Может кто нибудь выложить пример скрипта как из 1 точки в данже выйти к выходу по координатам?

Posted: 2009-03-24 01:49:12
by Андрюха из Одессы
Тебе нужно идти по конкретным координатам или просто из пункта А в пункт Б?
Если второй вариант, то забивай в поиске "ходилка". Читай комментарии и ссылку на понравившуюся пость сюда.

Хотя обычно:
goto xy(x,y,z) - при условии что сама ходилка называется "goto xy" (в скрипте "sub goto xy()" )

Posted: 2009-03-24 02:21:25
by Eventualis
если в данже извилины то недостаточно goto xy(x,y,z)
надо пример скрипта с списком координат по которым идти нужно, я вроде бы где то видел что координаты в отдельном файле могут лежать

Posted: 2009-03-24 02:52:05
by Андрюха из Одессы
В таких случаях, я всегда юзаю walker. Проблем с ним никогда не было. Единственное, что скоростью прохода он не радует. Но это пустяки.
Как вариант можно полностью прописывать путь на клавишах (эмулировать нажатия как во всех ходилках).

Posted: 2009-03-25 00:42:35
by korzh
Если без извратов, то как-то так:)

Code: Select all

sub goMap(map, len)
   for var i = 1 to len - 2 step 2
      goto(map[i], map[i+1], 1) #любая ходилка вида goto(x,y,prec)
   next
endsub

Где map - записанный массив координат вида

Code: Select all

dim map[4]
map[0] = 5096; x1
map[1] = 1222; y1
map[2] = 5110; x2
map[3] = 1230; y2

Posted: 2009-03-25 13:47:44
by Savage
Используя любую ходилку последовательно вызывай её с новыми координатами до той точки, до которой ходилка доходит без затыков.
Чего тут сложного?
Можно и в массив координаты загнать, но смысла нет. Потому как координаты опорных точек будут постоянными.
Пример:

Code: Select all

sub unload(TempX,TempY)
   SuperWalk(218,1391,'')
   SuperWalk(213,1391,'')
   UO.UseObject('0x6B1625B5')
   SuperWalk(213,1387,'')

   UO.MoveItem('^0x1BDD',-1,'~0x1BDD',uo.GetX('finditem'),uo.GetY('finditem'),uo.GetZ('finditem'))
   CheckLag()

   SuperWalk(213,1391,'')
   UO.UseObject('0x6B1625B5')
   SuperWalk(218,1391,'')
   SuperWalk(TempX,TempY,'')
end sub

чар идёт до угла дома, далее до двери, открывает её, проходит в дом, скидывает логи и назад тем же макаром.

Posted: 2009-03-26 00:45:39
by korzh
Ну все зависит от сложности марсшрута и расстояния, которое нужно пройти...

Posted: 2009-03-26 18:25:34
by Eventualis
Спасибо за помощь вроде понял, буду писать... :wink: