Page 2 of 2

Posted: 2004-10-19 01:47:48
by GrayLord
Askaneli wrote:
Edred wrote:
Askaneli wrote:Мой чар на моей ходилке напрямую прётся туда куда надо и при этом с умом обходит все препятствия без лишьних нарезаний кругов !!!


Дык код в студию! Посмотрим, потестим... ;)

Я уже протестил и ВЕТЕРан тоже протестил, ему понравилось !!! Спасибо !!!

ну попробуй тогда из леса в город прийти на своем скрипте. если ты используешь только те команды, что есть в документации - из леса ты вряд ли выйдешь.

Posted: 2004-10-19 04:17:15
by Askaneli
GrayLord wrote:
Askaneli wrote:
Edred wrote:
Askaneli wrote:Мой чар на моей ходилке напрямую прётся туда куда надо и при этом с умом обходит все препятствия без лишьних нарезаний кругов !!!


Дык код в студию! Посмотрим, потестим... ;)

Я уже протестил и ВЕТЕРан тоже протестил, ему понравилось !!! Спасибо !!!

ну попробуй тогда из леса в город прийти на своем скрипте. если ты используешь только те команды, что есть в документации - из леса ты вряд ли выйдешь.

А оно надо ? Из леса в город перется !!! И кстати я выйду и в город если надо !!!
Используются и недокументированные возможности !!!

Posted: 2004-10-19 11:48:25
by Edred
Askaneli wrote:А оно надо ? Из леса в город перется !!! И кстати я выйду и в город если надо !!!
Используются и недокументированные возможности !!!


Слушай, перестань кричать. И одно из двух - либо пости сюда свой скрипт на хождение (и мы все тогда уже посмотрим что ты наваял) или ... Тема-то как называется? А что ты тут пишешь? Рекламу? Человек просил процедуру хождения. Либо ты ее даешь, либо молчишь в тряпочку и сам своим скриптом восхищаешься дома в одиночестве.

Posted: 2004-10-19 14:32:42
by Askaneli
Edred wrote:
Askaneli wrote:А оно надо ? Из леса в город перется !!! И кстати я выйду и в город если надо !!!
Используются и недокументированные возможности !!!


Слушай, перестань кричать. И одно из двух - либо пости сюда свой скрипт на хождение (и мы все тогда уже посмотрим что ты наваял) или ... Тема-то как называется? А что ты тут пишешь? Рекламу? Человек просил процедуру хождения. Либо ты ее даешь, либо молчишь в тряпочку и сам своим скриптом восхищаешься дома в одиночестве.

Да мне до лампочки !!! Я для себя написал !!! Не интересно так не надо !!! Что то я не слышал ни одного дельного предложения по улучшению процедуры хождения ни от кого !!!

Posted: 2004-10-19 14:36:52
by Kazoo
hmm vrode u Sergiusa horoshoe hozhdenija !

Code: Select all

#При работе должна быть "отжата" кнопка NumLock 
Var MoveDelay=1000 # Промежуток между шагами
Var Ep=0.172 # Значение ширины угла хождения при определении направления. Если на пути встречаются сложные и широкие препятствия - увеличить. 0.172 - сбаланчированный.

Sub CheckLag()
 DeleteJournal('backpack')
 UO.Click('backpack')
 While not UO.InJournal('backpack')
  Wait(100)
 Wend
EndSub

sub abs(a)
 Var b
 If a<0 Then
  b=-a
 Else
  b=a
 endif
 return b
endsub

sub max(A,B)
 Var C
 If A>B Then
  C=A
 Else
  C=B
 EndIf
 Return C
EndSub

sub DeleteJournal(St)
 While UO.InJournal(St)
  UO.SetJournalLine(UO.InJournal(St)-1,'')
 Wend
endsub

Sub GetSome(What,Where,Count)
 UO.UseObject('backpack')
 While UO.GetSerial('lastcontainer')<>UO.GetSerial('backpack')
  Wait(100)
 Wend
 UO.UseObject(Where)
 While UO.GetSerial('lastcontainer')<>UO.GetSerial(Where)
  Wait(100)
 Wend
 UO.FindType(What,'-1',Where)
 UO.Click('finditem')
 While UO.GetName('finditem')==''
  Wait(100)
 Wend
 If UO.Count(What)+UO.GetQuantity('finditem')<Count Then
  UO.Print('Not enouth '+UO.GetName('finditem')+'s')
 Else
  If UO.Count(What)<Count THen
   Wait(1000)
   Var Jo=UO.GetQuantity('finditem')
   Var Ao=UO.ContainerOf('finditem')
   UO.MoveItem('finditem',Str(Count-UO.Count(What)),'backpack')
   While (Jo==UO.GetQuantity('finditem')) and (Ao==UO.ContainerOf('finditem'))
    Wait(1000)
   Wend
  endif
 EndIf
EndSub

Sub OpenBank()
 DeleteJournal('your Bank Box')
 UO.ServerPrint('I want to see my account in thy bank')
 Wait(3000)
 If not UO.InJournal('your Bank Box') Then
  UO.ServerPrint('Hey! Where is my bank account?')
  Wait(3000)
  If not UO.InJournal('your Bank Box') Then
   UO.ServerPrint('Hurry! My bank account!!!')
   Wait(3000)
  EndIf
 EndIf
 If not UO.InJournal('your Bank Box') Then
  OpenBank()
 EndIf
EndSub

Sub Meditate()
 While UO.Mana<UO.Int
  UO.UseSkill('Meditation')
  Wait(8000)
 Wend
EndSub

Sub GetNumb(C,I)
 var J,T,K
 J=0
 K=1
 While K>0
  J=J+1
  If (Mid(C,J,1)==' ') Or (J>=Len(C)-1) Then
   If I==0 Then
    T=Val(Left(C,J))
   Else
    T=GetNumb(Right(C,Len(C)-J-1),I-1)
   EndIf
   K=0
  EndIf
 wend
 UO.Print(T)
 return T
endsub

Sub Perp(Dir)
 Var D
 D=Dir
 If Dir==1 Then
  D=3
 EndIf
 If Dir==2 Then
  D=4
 EndIf
 If Dir==3 Then
  D=-1
 EndIf
 If Dir==4 Then
  D=-2
 EndIf
 If Dir==-1 Then
  D=-3
 EndIf
 If Dir==-2 Then
  D=-4
 EndIf
 If Dir==-3 Then
  D=1
 EndIf
 If Dir==-4 Then
  D=2
 EndIf
 RETURN D
EndSub

Sub MoveOnce(Dir,Del)
 Var D=UO.GetDir(),X=UO.GetX(),Y=UO.GetY(),T=UO.Timer()
 If (Dir<>0) Then
  If Dir==1 Then
   UO.Press(38)
  EndIf
  If Dir==2 Then
   UO.Press(33)
  EndIf
  If Dir==3 Then
   UO.Press(39)
  EndIf
  If Dir==4 Then
   UO.Press(34)
  EndIf
  If Dir==-1 Then
   UO.Press(40)
  EndIf
  If Dir==-2 Then
   UO.Press(35)
  EndIf
  If Dir==-3 Then
   UO.Press(37)
  EndIf
  If Dir==-4 Then
   UO.Press(36)
  EndIf
  While (Del>(UO.Timer()-T)*100) and (X==UO.GetX()) and (Y==UO.GetY()) and (D==UO.GetDir())
   Wait(100)
  Wend
  If D<>UO.GetDir() Then
   MoveOnce(Dir,Del-(UO.Timer()-T)*100)
  EndIf
 EndIf
EndSub

Sub GetQDir(x,y)
 Var J=0
 If X==0 Then
  J=1
 Else
  If (Y/X)<ep Then
   J=3
  Else
   If (X/Y)<ep Then
    J=1
   Else
    J=2
   EndIf
  EndIf
 EndIf
 RETURN J
EndSub

sub GetDir(myx,myy,ox,oy)
 Var I,J
 J=0
 Var X=ox-myx
 Var Y=oy-myy
 I=GetQDir(Abs(X),Abs(Y))
 If X>=0 Then
  If Y>=0 Then
   If I==1 Then
    J=-2
   Else
    If I==2 Then
     J=-1
    Else
     If I==3 Then
      J=4
     EndIf
    EndIf
   EndIf
  Else
   If I==1 Then
    J=2
   Else
    If I==2 Then
     J=3
    Else
     If I==3 Then
      J=4
     EndIf
    EndIf
   EndIf
  EndIf
 Else
  If Y>=0 Then
   If I==1 Then
    J=-2
   Else
    If I==2 Then
     J=-3
    Else
     If I==3 Then
      J=-4
     EndIf
    EndIf
   EndIf
  Else
   If I==1 Then
    J=2
   Else
    If I==2 Then
     J=1
    Else
     If I==3 Then
      J=-4
     EndIf
    EndIf
   EndIf
  EndIf
 EndIf
 RETURN J
endsub

sub GetDistance(X,Y)
 return max(abs(X-uo.getx()),abs(Y-uo.gety()))
endsub

Sub GoodDist(OX,OY,N,S)
 If ((GetDistance(OX,OY)<=N) and (not S)) or ((GetDistance(OX,OY)==N) and S) Then
  Return True
 Else
  Return False
 EndIf
EndSub

Sub MoveTo(X,Y,O)
 If (GetDistance(X,Y)>O-1) Then
  MoveOnce(GetDir(UO.GetX(),UO.GetY(),X,Y),MoveDelay/O)
 Else
  MoveOnce(GetDir(UO.GetX(),UO.GetY(),X,Y),MoveDelay)
  Wait(MoveDelay*(GetDistance(X,Y)-O+1))
 EndIf 
EndSub

sub GoToTile(OX,OY,N,S)
 If not GoodDist(OX,OY,N,S) Then
  Var X=UO.GetX()
  Var Y=UO.GetY()
  Var LX=X/2
  Var LY=Y/2
  Var LLX=LX/2
  Var LLY=LY/2
  Var Dir,AX,AY,Bol,DR,Dis
  While not GoodDist(OX,OY,N,S)
   While (not GoodDist(OX,OY,N,S)) and (not GoodDist(LLX,LLY,0,True))
    UO.Print('aaaAAAaaa')
    MoveTo(OX,OY,3)
    CheckLag()
    LLX=LX
    LLY=LY
    LX=X
    LY=Y
    X=UO.GetX()
    Y=UO.GetY()
    UO.Print('aaAAaa')
   Wend
   If not GoodDist(OX,OY,N,S) Then
    UO.Print('aAa')
    AX=UO.GetX()
    AY=UO.GetY()
    Dir=GetDir(AX,AY,OX,OY)
    DR=Dir
    If Mod(DR,2)==1 Then
     DR=(Abs(DR)+1)*Abs(DR)/DR
    EndIf
    Bol=True
    X=AX
    Y=AY
    While (Abs(DR-GetDir(UO.GetX(),UO.GetY(),OX,OY))<=1) or ((AX==UO.GetX()) and (AY==UO.GetY()) and Bol)
     MoveOnce(DR,MoveDelay)
     MoveOnce(DR,MoveDelay)
     CheckLag()
     UO.Print(Str(DR))
     Wait(MoveDelay)
     If Bol and ((AX<>UO.GetX()) or (AY<>UO.GetY())) Then
      Bol=False
     EndIf
     If (X==UO.GetX()) and (Y==UO.GetY()) Then
      DR=-Perp(DR)
     EndIf
     X=UO.GetX()
     Y=UO.GetY()
    Wend
    If not GoodDist(OX,OY,N,S) Then
    EndIf
   EndIf
  Wend
 EndIf
endsub

Sub a()
 GoToTile(3244,651,0,True)
EndSub

Sub b()
 GoToTile(1497,1760,0,True)
EndSub

Sub c()
 GoToTile(1428,1700,0,True)
EndSub

sub NearTile(Obj,Des,S)
endsub

Posted: 2004-10-20 01:13:58
by GrayLord
Askaneli wrote:
Edred wrote:
Askaneli wrote:А оно надо ? Из леса в город перется !!! И кстати я выйду и в город если надо !!!
Используются и недокументированные возможности !!!


Слушай, перестань кричать. И одно из двух - либо пости сюда свой скрипт на хождение (и мы все тогда уже посмотрим что ты наваял) или ... Тема-то как называется? А что ты тут пишешь? Рекламу? Человек просил процедуру хождения. Либо ты ее даешь, либо молчишь в тряпочку и сам своим скриптом восхищаешься дома в одиночестве.

Да мне до лампочки !!! Я для себя написал !!! Не интересно так не надо !!! Что то я не слышал ни одного дельного предложения по улучшению процедуры хождения ни от кого !!!

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

Posted: 2004-10-20 05:05:07
by Askaneli
GrayLord wrote:
Askaneli wrote:
Edred wrote:
Askaneli wrote:А оно надо ? Из леса в город перется !!! И кстати я выйду и в город если надо !!!
Используются и недокументированные возможности !!!


Слушай, перестань кричать. И одно из двух - либо пости сюда свой скрипт на хождение (и мы все тогда уже посмотрим что ты наваял) или ... Тема-то как называется? А что ты тут пишешь? Рекламу? Человек просил процедуру хождения. Либо ты ее даешь, либо молчишь в тряпочку и сам своим скриптом восхищаешься дома в одиночестве.

Да мне до лампочки !!! Я для себя написал !!! Не интересно так не надо !!! Что то я не слышал ни одного дельного предложения по улучшению процедуры хождения ни от кого !!!

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

Бросил .