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: Дык код в студию! Посмотрим, потестим... ;)
Я уже протестил и ВЕТЕРан тоже протестил, ему понравилось !!! Спасибо !!!
ну попробуй тогда из леса в город прийти на своем скрипте. если ты используешь только те команды, что есть в документации - из леса ты вряд ли выйдешь.
А оно надо ? Из леса в город перется !!! И кстати я выйду и в город если надо !!!
Используются и недокументированные возможности !!!

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: Слушай, перестань кричать. И одно из двух - либо пости сюда свой скрипт на хождение (и мы все тогда уже посмотрим что ты наваял) или ... Тема-то как называется? А что ты тут пишешь? Рекламу? Человек просил процедуру хождения. Либо ты ее даешь, либо молчишь в тряпочку и сам своим скриптом восхищаешься дома в одиночестве.
Да мне до лампочки !!! Я для себя написал !!! Не интересно так не надо !!! Что то я не слышал ни одного дельного предложения по улучшению процедуры хождения ни от кого !!!
слушай, бросай кричать тут, или ты другого знака препинания не знаешь, окромя восклицательного? создается впечатление, будто из уфы до кремля докричаться хочешь. ты это брось. они не услышат все равно - им плевать.
Бросил .