Фишинг с ходбой

Anything and all.

Moderators: Murderator+, Murderator

Savage
Expert!
Posts: 1205
Joined: 2004-04-04 11:13:54
Location: Балаково, Саратовская обл.
Contact:

Post by Savage »

Code: Select all

UO.GetX()
UO.GetY()
Grim Reaper
Posts: 21
Joined: 2006-11-27 21:01:56
Contact:

Post by Grim Reaper »

короче я не понял как работает ета функция вот смотри что у мя получилось(я не знаю куда вставить гет икс и игрек)

Code: Select all

sub Fishing()
      Maps_only()
   SuperWalk(x,y,0)
      Maps_only()
   SuperWalk(x,y,0)
      Maps_only()
   SuperWalk(x,y,0)
      Maps_only()
   SuperWalk(x,y,0)
      Maps_only()
   SuperWalk(x,y,0)
      Maps_only()
   SuperWalk(x,y,0)
      Maps_only()
   SuperWalk(x,y,0)
      Maps_only()
   SuperWalk(x,y,0)
      Maps_only()
   SuperWalk(x,y,0)
wend
Endsub

sub Maps_only() 
var mx, my, mz, i, j 
mx = UO.GetX('self') 
my = UO.GetY('self') 
mz = UO.GetZ('self') 
UO.DeleteJournal() 
while true 
for i = mx-6 to mx+6 
for j = my -6 to my+6 
UO.Print("Now Fishing In: "+str(mx-i)+" "+str(my-j)) 
while not UO.InJournal("no fish here") and not UO.InJournal("fishing in water") 
UO.DeleteJournal() 
UO.Waittargettile("6043", str(i), str(j), str(mz)) 
UO.Usetype('0x0DBF') 
while not UO.InJournal('You pull out') and not UO.InJournal('fail') and not UO.InJournal('no fish') and not UO.InJournal("fishing in water") 
wait (100) 
wend 
if UO.InJournal("You pull") then 
#UO.WaitTargetGround('0x09CC') ; fish1 
#wait(500) 
#UO.Grab() 
 
#UO.WaitTargetGround('0x09CD') ; fish2 
#wait(500) 
#UO.Grab() 
 
#UO.WaitTargetGround('0x09CE') ; fish3 
#wait(500) 
#UO.Grab() 
 
#UO.WaitTargetGround('0x09CF') ; fish4 
#wait(500) 
#UO.Grab() 
 
#UO.WaitTargetGround('0x0DD6') ; small fish 
#wait(500) 
#UO.Grab() 
 
UO.WaitTargetGround('0x14EB') ; maps 
wait(500) 
UO.Grab()
next
next
endif
 
wend 
UO.DeleteJournal() 
next 
next 
endif
Endsub

#==============================================================
#  SuperWalk(X,Y,Serial) - char is walking by dX and dY step
#                sub using Home, End, PgUp, PgDown keys
#                d'not rebind this key from default action!
#     walkwait - delay after keypress
#--------------------------------------------------------------
sub SuperWalk(x,y,Target)
   VAR i
   VAR dir,ldir,rdir,key,olddir
   VAR dx,dy,Exit=0
   VAR CacheLimit=9,CacheIndex="Text"
   DIM CacheX[10], CacheY[10]
   
   CacheX[0]="Test"
   While Exit<>1   
      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
      Else
         dx=x-UO.GetX()
         dy=y-UO.GetY()
         If dx==0 AND dy==0 Then
            Exit=1
         Endif

      Endif
   
      If dx<>0 AND dy<>0 Then
         If dx>0 AND dy>0 Then ; GoSE
            dir=3
            ldir=2
            rdir=4
            key=40 ; DownArrow
            olddir=UO.GetDir()
            If StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) Then
               If olddir==2 Then ; GoNE
                  dir=1
                  ldir=0
                  rdir=1
                  key=39 ; RightArrow
                  While UO.GetDir()<>1
                     StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
                  Wend
               Else ; GoSW
                  dir=5
                  ldir=5
                  rdir=6
                  key=37 ; LeftArrow
                  While UO.GetDir()<>5
                     StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
                  Wend
               Endif
            Endif
         Endif

         If dx>0 AND dy<0 Then ; GoNE
            dir=1
            ldir=0
            rdir=2
            key=39 ; RightArrow
            olddir=UO.GetDir()
            If StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) Then
               If olddir==0 Then ; GoWN
                  dir=7
                  ldir=6
                  rdir=7
                  key=38 ; UpArrow
                  While UO.GetDir()<>7
                     StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
                  Wend
               Else ; GoSE
                  dir=3
                  ldir=3
                  rdir=4
                  key=40 ; DownArrow
                  While UO.GetDir()<>3
                     StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
                  Wend
               Endif
            Endif
         Endif

         If dx<0 AND dy>0 Then ; GoSW
            dir=5
            ldir=4
            rdir=6
            key=37 ; LeftArrow
            olddir=UO.GetDir()
            If StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) Then
               If olddir==6 Then ; GoWN
                  dir=7
                  ldir=7
                  rdir=0
                  key=38 ; UpArrow
                  While UO.GetDir()<>7
                     StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
                  Wend
               Else ; GoSE
                  dir=3
                  ldir=2
                  rdir=3
                  key=40 ; DownArrow
                  While UO.GetDir()<>3
                     StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
                  Wend
               Endif
            Endif
         Endif

         If dx<0 AND dy<0 Then ; GoWN
            dir=7
            ldir=6
            rdir=0
            key=38 ; UpArrow
            olddir=UO.GetDir()
            If StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) Then
               If olddir==0 Then ; GoNE
                  dir=1
                  ldir=1
                  rdir=2
                  key=39 ; RightArrow
                  While UO.GetDir()<>1
                     StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
                  Wend
               Else ; GoSW
                  dir=5
                  ldir=4
                  rdir=5
                  key=37 ; LeftArrow
                  While UO.GetDir()<>5
                     StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
                  Wend
               Endif
            Endif
         Endif
      Endif
   
      If dx<>0 AND dy==0 Then
         If dx>0 Then ; GoE
            dir=2
            key=34 ; PgDown
            olddir=UO.GetDir()
            If StepEdit(UO.GetX(),UO.GetY(),dir,key) Then
               If olddir==2 Then ; GoSE
                  dir=3
                  ldir=3
                  rdir=4
                  key=40 ; DownArrow
                  While UO.GetDir()<>3
                     StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
                  Wend
               Else ; GoNE
                  dir=1
                  ldir=1
                  rdir=0
                  key=39 ; RightArrow
                  While UO.GetDir()<>1
                     StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
                  Wend
               Endif
            Endif
         Endif
         
         If dx<0 Then ; GoW
            dir=6
            key=36 ; Home key
            olddir=UO.GetDir()
            If StepEdit(UO.GetX(),UO.GetY(),dir,key) Then
               If olddir==0 Then ; GoWN
                  dir=7
                  ldir=7
                  rdir=0
                  key=38 ; UpArrow
                  While UO.GetDir()<>7
                     StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
                  Wend
               Else ; GoSW
                  dir=5
                  ldir=4
                  rdir=5
                  key=37 ; LeftArrow
                  While UO.GetDir()<>5
                     StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
                  Wend
               Endif
            Endif
         Endif
      Endif

      If dx==0 AND dy<>0 Then
         If dy>0 Then ; GoS
            dir=4
            key=35 ; End
            If StepEdit(UO.GetX(),UO.GetY(),dir,key) Then
               If olddir==2 Then ; GoSE
                  dir=3
                  ldir=2
                  rdir=3
                  key=40 ; DownArrow
                  While UO.GetDir()<>3
                     StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
                  Wend
               Else ; GoSW
                  dir=5
                  ldir=6
                  rdir=5
                  key=37 ; LeftArrow
                  While UO.GetDir()<>5
                     StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
                  Wend
               Endif
            Endif
         Endif
         
         If dy<0 Then ;GoN
            dir=0
            key=33 ; PgUp
            olddir=UO.GetDir()
            If StepEdit(UO.GetX(),UO.GetY(),dir,key) Then
               If olddir==2 Then ; GoNE
                  dir=1
                  ldir=1
                  rdir=2
                  key=39 ; RightArrow
                  While UO.GetDir()<>1
                     StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
                  Wend
               Else ; GoWN
                  dir=7
                  ldir=7
                  rdir=6
                  key=38 ; UpArrow
                  While UO.GetDir()<>7
                     StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
                  Wend
               Endif
            Endif
         Endif
      Endif
   Wend
end sub


sub StepEdit(x,y,dir,key)
   VAR walkwait=300
   VAR ErrLevel=0
   If UO.GetDir()<>dir Then
      UO.Press(key)
      wait(walkwait)
      If UO.GetDir()<>dir Then
         CheckLag()
      Endif
   Endif
   UO.Press(key)
   wait(walkwait)
   If x==UO.GetX() AND y==UO.GetY() Then
      CheckLag()
      If x==UO.GetX() AND y==UO.GetY() Then
;zatik
         ErrLevel=1
      Endif
   Endif
   Return ErrLevel
end sub


sub StepArrow(x,y,dir,ldir,rdir,key)
   VAR walkwait=300
   VAR ErrLevel=0
   If UO.GetDir()<>dir Then
      UO.Press(key)
      wait(walkwait)
      If UO.GetDir()<>dir AND UO.GetDir()<>ldir AND UO.GetDir()<>rdir Then
         CheckLag()
      Endif
   Endif

   If UO.GetX()==x AND UO.GetY()==y Then
      UO.Press(key)
      wait(walkwait)
      If UO.GetDir()==dir AND UO.GetX()==x AND UO.GetY()==y Then
         CheckLag()
         If UO.GetDir()==dir AND UO.GetX()==x AND UO.GetY()==y Then
; zatik         
            ErrLevel=1
         Endif
      Endif
   Endif
   Return ErrLevel
end sub

Sub CheckLag()
   UO.DeleteJournal()
   UO.Click('backpack')
   repeat
      wait(50)
   until UO.InJournal('backpack')
end sub

   

но чар все равно делает тока один шаг сам попробуй :!: :!:
Last edited by Grim Reaper on 2006-12-21 19:55:46, edited 1 time in total.
ДРВ - Кульный шард!!!
Savage
Expert!
Posts: 1205
Joined: 2004-04-04 11:13:54
Location: Балаково, Саратовская обл.
Contact:

Post by Savage »

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

И убери эти чеклаги, они там не нужны, в ходилке есть чеклаг его достаточно.
Grim Reaper
Posts: 21
Joined: 2006-11-27 21:01:56
Contact:

Post by Grim Reaper »

Кто нибудь помогите!!!
ДРВ - Кульный шард!!!
Nmy
Expert!
Posts: 2152
Joined: 2005-09-14 15:31:58
Location: Latvia

Post by Nmy »

Code: Select all

SuperWalk(x,y,0)

а что неработает? ты так и запускал скрипт как тут показано? тебе ведь надо кординаты прописать куда идти и ловить, например

Code: Select all

SuperWalk(1245,3455,0)
Grim Reaper
Posts: 21
Joined: 2006-11-27 21:01:56
Contact:

Post by Grim Reaper »

В том то яи дело что с координатами но он один шаг делал и останавливался!!!
ДРВ - Кульный шард!!!
Nmy
Expert!
Posts: 2152
Joined: 2005-09-14 15:31:58
Location: Latvia

Post by Nmy »

Grim Reaper wrote:В том то яи дело что с координатами но он один шаг делал и останавливался!!!

Code: Select all

sub using Home, End, PgUp, PgDown keys

может тебе там чтото стоит ? лил он гдето упёрся?
~KR@FT~
Posts: 44
Joined: 2006-06-21 20:49:37
Location: Moscow
Contact:

Post by ~KR@FT~ »

тоже проблема! Он не хочет ходить,координату поставил первую прям рядом с собой! Не пошел,да и скрипт слетел! Не пойму в чем дело(
kraftlive
Post Reply