Page 1 of 1

Ходилка 2

Posted: 2006-06-05 09:40:01
by klonuk
Написал скрипт, но на моем шарде вендора не стоят на месте а бегают как завадные... поэтому пришлось дабавить ходилку за вендором
ипользывал ходилку SuperWalk(X,Y,Serial) , ходилка отличная кроме 1 но когда я ее запукаешь он идет к вендору и встает прямо на него...
на многих шардах в точ чилсе и на моем когда проходишь через кого либо жреться стамина ... и через не скольких таких заходов у чара самина болт ... скрипт сбиваеться... моя задача была написать скрипт чтобы он не подходил ближе к вендору чем на 1 таил .вот он

Code: Select all

sub pp()
VAR Dist
UO.Set ('finddistance','6')
repeat
Uo.FindType('Vendor', '-1', '1')
Dist=Uo.GetDistance ('finditem')
if Dist>1 then
xodilka()
else
wait (1000)
endif
if Dist==1 then
UO.Exec("terminate 'xodilka'")
endif
until Uo.Dead()
End sub

sub xodilka()
SuperWalk(0,0,'Vendor')
end sub



Но встала другая проблема когда запускаеться процендура ходилка ему похуй на все if и он всеровно встает на вендора , прошу помоч как дороботать этот скрипт... чтобы он всетаки остонавливалься когда дистанция до вендора 1 таил.За ранее блогадарен.

Posted: 2006-06-05 10:13:07
by Savage
Исправь это:

Code: Select all

         If dx==0 AND dy==0 Then
            Exit=1
         Endif

на это:

Code: Select all

         If dx<=1 AND dy<=1 Then
            Exit=1
         Endif

Posted: 2006-06-05 10:21:54
by klonuk
Savage wrote:Исправь это:

Code: Select all

         If dx==0 AND dy==0 Then
            Exit=1
         Endif

на это:

Code: Select all

         If dx<=1 AND dy<=1 Then
            Exit=1
         Endif


Code: Select all


  dx=x-UO.GetX()
         dy=y-UO.GetY()
         If dx<=1 AND dy<=1 Then
            Exit=1
         Endif


Нашел исправил, всевроно встает прям в вендора

Posted: 2006-06-05 10:27:11
by Savage
Тогда замени этот блок на:

Code: Select all

         If UO.GetDistance(Target)<=1 Then
            Exit=1
         Endif

Posted: 2006-06-05 10:29:14
by Savage
не, это не та ветка а вскрипте уже все предусмотрено должно работать итак:

Code: Select all

      If Target<>"" Then
         dx=UO.GetX(Target)-UO.GetX()
         dy=UO.GetY(Target)-UO.GetY()
;         UO.Print("Target locked!")
         If UO.GetDistance(Target)<2 Then
            Exit=1
         Endif

Posted: 2006-06-05 10:36:42
by klonuk
Savage wrote:не, это не та ветка а вскрипте уже все предусмотрено должно работать итак:

Code: Select all

      If Target<>"" Then
         dx=UO.GetX(Target)-UO.GetX()
         dy=UO.GetY(Target)-UO.GetY()
;         UO.Print("Target locked!")
         If UO.GetDistance(Target)<2 Then
            Exit=1
         Endif


Ммм ... и что делатьт?Я попробывал всетки изменить ту вышло следушие если запустить ходилку с дистанциец от вендора в 1 таил то но просто пропустит или подойдет с другой стороны к нему...
Если дистанция болше 1 таилы то опять на вендора

Posted: 2006-06-05 10:42:00
by Savage
А сколько клеток можно неподходить? Исправь 2 на эту цифру и попробуй.

Posted: 2006-06-05 10:43:09
by klonuk
Savage wrote:А сколько клеток можно неподходить? Исправь 2 на эту цифру и попробуй.


Ок шас попробую...

Posted: 2006-06-05 10:43:30
by Savage
или как вариант, можно в скрипте вычислять координаты цели, уменьшать их на 1 и полученные передавать в ходилку.

Posted: 2006-06-05 10:59:57
by klonuk
Savage wrote:или как вариант, можно в скрипте вычислять координаты цели, уменьшать их на 1 и полученные передавать в ходилку.


Примерчик на пиши любой . :idea:

Posted: 2006-06-05 11:06:09
by Savage

Code: Select all

SuperWalk(UO.GetX('finditem')-1,UO.GetY('finditem')-1,"")


Только если полдучится что тайл с вычесленными координатами непроходимый, будет косяк :)

Posted: 2006-06-05 11:10:04
by klonuk
Savage wrote:

Code: Select all

SuperWalk(UO.GetX('finditem')-1,UO.GetY('finditem')-1,"")


Только если полдучится что тайл с вычесленными координатами непроходимый, будет косяк :)


шас поробую :roll:

Posted: 2006-06-05 11:12:47
by klonuk
Ходит как слепой , но не туда куда надо.

Posted: 2006-06-05 11:14:41
by Savage
Image

Posted: 2006-06-05 11:19:14
by Savage
А может у тебя ходилка уже кривая? Возьми отсюда:
www.jetta.ru/autoload.sc

Posted: 2006-06-05 11:28:49
by Savage
Проверяй галочки. потому что ходилка впринципе не может ходить как слепая.

Posted: 2006-06-05 11:36:52
by klonuk
Savage wrote:Проверяй галочки. потому что ходилка впринципе не может ходить как слепая.


Нет не ходит , тока с такой ходилькой ( я про строчку ) тока в ровном поле вендора находяться в домах а там ужас сока предметов ))) надо думать ....

Posted: 2006-06-05 12:08:41
by klonuk
Savage wrote:Проверяй галочки. потому что ходилка впринципе не может ходить как слепая.



Все настроил не ординарным путем но все же пашет )))
ТОпик можно клоуз.