DrW. Fishing.

Ask for scripts here

Moderators: Murderator+, Murderator

Post Reply
Owner
Posts: 3
Joined: 2007-08-30 15:54:34

DrW. Fishing.

Post by Owner »

Все привет. На ДрВ перешел недавно. Играл ранее на асисте на буржуйском шарде.

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

Чар ходит по берегу, от точки к точке. (где-то видел пример с trip())
Пытается ловить только в воде. (тоже на форуме видел такой способ ловли)
Подбирает с пола только карты.
Когда пройдет все точки (штук 15) - телепортируется к сейфу.
В сейфе лежит 2 сумки: с мешками и пустая. Достаёт мешок и забивает его картами. Когда карт становится 255 - кладёт мешок в пустую сумку и достаёт новый.
Ещё чтобы в паке лежал еда, а когда чар хоть чуть-чуть проголодается - он её ел. (.hungry не работает).
Ну и наконец реконектор.

Заранее спасибо. Очень надеюсь на помощь.
let's start.
Question_GimFlex
Posts: 188
Joined: 2007-03-24 08:12:51

Post by Question_GimFlex »

я писал такой скрипт для дрв для себя и только для себя :roll: все как ты говоришь :roll: даже все места хотьбы уже промарчены :roll: я там не ловлю уже , так что осталось сойтись в цене :oops: :lol:
I'm
Expert!
Posts: 1396
Joined: 2004-10-15 22:38:04
Location: Moscow City.
Contact:

Post by I'm »

Question_GimFlex wrote:я писал такой скрипт для дрв для себя и только для себя :roll: все как ты говоришь :roll: даже все места хотьбы уже промарчены :roll: я там не ловлю уже , так что осталось сойтись в цене :oops: :lol:
Давай сразу договоримся... Предложения такого рода в ПМ.
The End.
Question_GimFlex
Posts: 188
Joined: 2007-03-24 08:12:51

Post by Question_GimFlex »

I'm wrote:
Question_GimFlex wrote:я писал такой скрипт для дрв для себя и только для себя :roll: все как ты говоришь :roll: даже все места хотьбы уже промарчены :roll: я там не ловлю уже , так что осталось сойтись в цене :oops: :lol:
Давай сразу договоримся... Предложения такого рода в ПМ.
да не моя цель не продават ьскрипт а поставить в изветность что его можно найти :)
Owner
Posts: 3
Joined: 2007-08-30 15:54:34

Post by Owner »

Question_GimFlex wrote:я писал такой скрипт для дрв для себя и только для себя :roll: все как ты говоришь :roll: даже все места хотьбы уже промарчены :roll: я там не ловлю уже , так что осталось сойтись в цене :oops: :lol:
На ДРВ я только пришел. Если скрипт работает - и точно такой, как я описал - через недельку с меня 2кк :)
let's start.
Question_GimFlex
Posts: 188
Joined: 2007-03-24 08:12:51

Post by Question_GimFlex »

Owner wrote:
Question_GimFlex wrote:я писал такой скрипт для дрв для себя и только для себя :roll: все как ты говоришь :roll: даже все места хотьбы уже промарчены :roll: я там не ловлю уже , так что осталось сойтись в цене :oops: :lol:
На ДРВ я только пришел. Если скрипт работает - и точно такой, как я описал - через недельку с меня 2кк :)
на нем за 2 дня 2кк сделать можно :wink:
HellFire
Posts: 89
Joined: 2004-10-02 23:47:48

Post by HellFire »

Твоя цена?) :?:
Question_GimFlex
Posts: 188
Joined: 2007-03-24 08:12:51

Post by Question_GimFlex »

запусчкать в веспере у банка точнее за банком

Code: Select all

var schet
sub main()
var time,kol=0
while not uo.dead()
 unload()
 time=MakeTime()
 uo.textprint("начало цикла "+time)
 go(2868,670,1)
 go(2865,682,0)
 go(2863,682,1)
 go(2866,684,0)
 go(2860,697,1)
 go(2871,701,0)
 go(2861,710,1)
 go(2847,715,1)
 go(2864,723,0)
 go(2867,746,0)
 go(2841,746,1)
 go(2855,756,1)
 go(2863,754,0)
 go(2871,757,1)
 go(2883,753,0)
 go(2883,776,1)
 go(2884,784,0)
 go(2900,779,1)
 go(2921,781,1)
 go(2931,789,0)
 go(2939,781,1)
 go(2933,789,0)
 go(2931,792,0)
 go(2927,803,1)
 go(2917,812,0)
 go(2917,832,1)
 go(2917,841,0)
 go(2925,843,0)
 go(2928,844,0)
 go(2930,845,0)
 go(2931,848,0)
 go(2945,846,1)
 go(2957,848,0)
 go(2956,833,0)
 go(2947,822,1)
 go(2947,805,1)
 go(2965,801,1)
 go(2973,808,0)
 go(2973,787,1)
 go(2973,768,1)
 go(2981,768,0)
 go(2981,746,1)
 go(2981,738,0)
 go(2959,738,1)
 go(2959,716,0)
 go(2946,716,1)
 go(2946,707,0)
 go(2927,707,1)
 go(2912,708,0)
 go(2913,689,0)
 go(2898,670,0)
 go(2891,665,0)
 go(2887,669,0)
 uo.findtype('0x14EB','-1','backpack')
 kol=uo.findcount()
 uo.textprint("выловлено карт "+str(kol))
wend
endsub 

Sub fish() 
var mx,my,mz,i,j,inFishing=0
var spining='0x0DBF'
var map='0x14EB'
DIM text[6]
 text[0] = 'You pull out a'
 text[1] = 'You fish a while'
 text[2] = 'That is too far away'
 text[3] = 'Try fishing in water'
 text[4] = 'There are no fish here'
 text[5] = 'location'
 text[6] = 'return'
var ms1="Prize"
var ms2="Truly"
var ms3="treasure"
var ms4="fishing net"
uo.set('finddistance','1')
mx = UO.GetX("self")
my = UO.GetY("self")
mz = UO.GetZ("self")
UO.DeleteJournal()
for i = mx-6 to mx+6
 for j = my -6 to my+6
  if IsWater(i,j) then
   inFishing=0
   while inFishing==0
    UO.DeleteJournal()
    UO.Waittargettile("1341", str(i), str(j), str(mz))
    UO.Usetype(spining)
    repeat
     wait(50)
    Until UO.InJournal(text[0]) OR UO.InJournal(text[1]) OR UO.InJournal(text[2]) OR UO.InJournal(text[3]) OR UO.InJournal(text[4]) OR UO.InJournal(text[5]) OR UO.InJournal(text[6])
    if not UO.InJournal(text[1]) then
     inFishing=1
    endif
   wend
   uo.findtype(map,'-1','ground')
   if uo.findcount() then
    uo.moveitem('finditem','1','backpack')
    wait(500)
   endif
  endif
  UO.DeleteJournal()
 next
 uo.resend()
next
end sub

Sub IsWater(X,Y)
 if UO.PrivateGetTile(X, Y, -1, 6039, 6065) then
  return 1
 else
  return 0
 endif
end sub

sub unload()
var cont
var map='0x14EB'
var mesh='0x0E75'
var sm,fl=1,kol
uo.ignorereset()
uo.say("bank")
wait(1000)
cont=uo.getserial('lastcontainer')
uo.findtype(map,'-1','backpack')
while uo.findcount()
   fl=1
   uo.findtype(mesh,'-1',cont)
   sm=uo.getserial('finditem')
   uo.useobject(sm)
   wait(500)
   uo.findtype(map,'-1',sm)
   while fl<>0
    uo.findtype(map,'-1','backpack')
    if not uo.findcount() then
     fl=0
    endif
    uo.findtype(map,'-1',sm)
    kol=uo.findcount()
    if kol<250 then
      uo.findtype(map,'-1','backpack')
      if uo.findcount() then
       uo.moveitem('finditem','1',sm)
       wait(700)
      endif 
     else
      fl=0
      uo.ignore(sm)
    endif
   wend 
   uo.findtype(map,'-1','backpack')
wend   
endsub 

Sub go(x,y,k) 
   VAR i,m,p 
   VAR dir,ldir,rdir,key,olddir 
   VAR dx,dy,Exit=0 
   VAR CacheLimit=9,CacheIndex="Text" 
   DIM CacheX[10], CacheY[10] 
   uo.resend() 
   CacheX[0]="Test" 
   While Exit<>1    
         dx=x-UO.GetX() 
         dy=y-UO.GetY() 
         ;for m=-1 to 1
          ;for p=-1 to 1
           If dx==0 AND dy==0 Then 
            Exit=1 
           Endif 
          ;next
         ;next 
      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
         dx=x-UO.GetX() 
         dy=y-UO.GetY() 
         ;for m=-1 to 1
          ;for p=-1 to 1
           If dx==0 AND dy==0 Then 
            Exit=1 
           Endif 
          ;next
        ; next 
   Wend 
   if k==1 then
    fish()
   endif 
end sub 


Sub StepEdit(x,y,dir,key) 
   VAR walkwait=100 
   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 
         ErrLevel=1 
      Endif 
   Endif 
   Return ErrLevel 
end sub 


Sub StepArrow(x,y,dir,ldir,rdir,key) 
   VAR walkwait=100 
   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           
            ErrLevel=1 
         Endif 
      Endif 
   Endif 
   Return ErrLevel 
end sub 

Sub CheckLag()
   uo.DeleteJournal()
   uo.Click('backpack')
   repeat
      wait(10)
   until uo.InJournal('backpack') or UO.Dead()
end Sub

Sub MakeTime()
VAR D, T, Ret, i
Ret = STR(UO.Time())
T = ""
For i = 0 To Len(Ret)
T = Ret[Len(Ret)-i] + T
If (I == 2) OR (I == 4) Then
T = ":" + T
EndIf
Next 
Ret = T
RETURN Ret
end sub 
Owner
Posts: 3
Joined: 2007-08-30 15:54:34

Post by Owner »

Question_GimFlex wrote:запусчкать в веспере у банка точнее за банком

Code: Select all

var schet
sub main()
var time,kol=0
while not uo.dead()
 unload()
 time=MakeTime()
 uo.textprint("начало цикла "+time)
 go(2868,670,1)
 go(2865,682,0)
 go(2863,682,1)
 go(2866,684,0)
 go(2860,697,1)
 go(2871,701,0)
 go(2861,710,1)
 go(2847,715,1)
 go(2864,723,0)
 go(2867,746,0)
 go(2841,746,1)
 go(2855,756,1)
 go(2863,754,0)
 go(2871,757,1)
 go(2883,753,0)
 go(2883,776,1)
 go(2884,784,0)
 go(2900,779,1)
 go(2921,781,1)
 go(2931,789,0)
 go(2939,781,1)
 go(2933,789,0)
 go(2931,792,0)
 go(2927,803,1)
 go(2917,812,0)
 go(2917,832,1)
 go(2917,841,0)
 go(2925,843,0)
 go(2928,844,0)
 go(2930,845,0)
 go(2931,848,0)
 go(2945,846,1)
 go(2957,848,0)
 go(2956,833,0)
 go(2947,822,1)
 go(2947,805,1)
 go(2965,801,1)
 go(2973,808,0)
 go(2973,787,1)
 go(2973,768,1)
 go(2981,768,0)
 go(2981,746,1)
 go(2981,738,0)
 go(2959,738,1)
 go(2959,716,0)
 go(2946,716,1)
 go(2946,707,0)
 go(2927,707,1)
 go(2912,708,0)
 go(2913,689,0)
 go(2898,670,0)
 go(2891,665,0)
 go(2887,669,0)
 uo.findtype('0x14EB','-1','backpack')
 kol=uo.findcount()
 uo.textprint("выловлено карт "+str(kol))
wend
endsub 

Sub fish() 
var mx,my,mz,i,j,inFishing=0
var spining='0x0DBF'
var map='0x14EB'
DIM text[6]
 text[0] = 'You pull out a'
 text[1] = 'You fish a while'
 text[2] = 'That is too far away'
 text[3] = 'Try fishing in water'
 text[4] = 'There are no fish here'
 text[5] = 'location'
 text[6] = 'return'
var ms1="Prize"
var ms2="Truly"
var ms3="treasure"
var ms4="fishing net"
uo.set('finddistance','1')
mx = UO.GetX("self")
my = UO.GetY("self")
mz = UO.GetZ("self")
UO.DeleteJournal()
for i = mx-6 to mx+6
 for j = my -6 to my+6
  if IsWater(i,j) then
   inFishing=0
   while inFishing==0
    UO.DeleteJournal()
    UO.Waittargettile("1341", str(i), str(j), str(mz))
    UO.Usetype(spining)
    repeat
     wait(50)
    Until UO.InJournal(text[0]) OR UO.InJournal(text[1]) OR UO.InJournal(text[2]) OR UO.InJournal(text[3]) OR UO.InJournal(text[4]) OR UO.InJournal(text[5]) OR UO.InJournal(text[6])
    if not UO.InJournal(text[1]) then
     inFishing=1
    endif
   wend
   uo.findtype(map,'-1','ground')
   if uo.findcount() then
    uo.moveitem('finditem','1','backpack')
    wait(500)
   endif
  endif
  UO.DeleteJournal()
 next
 uo.resend()
next
end sub

Sub IsWater(X,Y)
 if UO.PrivateGetTile(X, Y, -1, 6039, 6065) then
  return 1
 else
  return 0
 endif
end sub

sub unload()
var cont
var map='0x14EB'
var mesh='0x0E75'
var sm,fl=1,kol
uo.ignorereset()
uo.say("bank")
wait(1000)
cont=uo.getserial('lastcontainer')
uo.findtype(map,'-1','backpack')
while uo.findcount()
   fl=1
   uo.findtype(mesh,'-1',cont)
   sm=uo.getserial('finditem')
   uo.useobject(sm)
   wait(500)
   uo.findtype(map,'-1',sm)
   while fl<>0
    uo.findtype(map,'-1','backpack')
    if not uo.findcount() then
     fl=0
    endif
    uo.findtype(map,'-1',sm)
    kol=uo.findcount()
    if kol<250 then
      uo.findtype(map,'-1','backpack')
      if uo.findcount() then
       uo.moveitem('finditem','1',sm)
       wait(700)
      endif 
     else
      fl=0
      uo.ignore(sm)
    endif
   wend 
   uo.findtype(map,'-1','backpack')
wend   
endsub 

Sub go(x,y,k) 
   VAR i,m,p 
   VAR dir,ldir,rdir,key,olddir 
   VAR dx,dy,Exit=0 
   VAR CacheLimit=9,CacheIndex="Text" 
   DIM CacheX[10], CacheY[10] 
   uo.resend() 
   CacheX[0]="Test" 
   While Exit<>1    
         dx=x-UO.GetX() 
         dy=y-UO.GetY() 
         ;for m=-1 to 1
          ;for p=-1 to 1
           If dx==0 AND dy==0 Then 
            Exit=1 
           Endif 
          ;next
         ;next 
      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
         dx=x-UO.GetX() 
         dy=y-UO.GetY() 
         ;for m=-1 to 1
          ;for p=-1 to 1
           If dx==0 AND dy==0 Then 
            Exit=1 
           Endif 
          ;next
        ; next 
   Wend 
   if k==1 then
    fish()
   endif 
end sub 


Sub StepEdit(x,y,dir,key) 
   VAR walkwait=100 
   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 
         ErrLevel=1 
      Endif 
   Endif 
   Return ErrLevel 
end sub 


Sub StepArrow(x,y,dir,ldir,rdir,key) 
   VAR walkwait=100 
   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           
            ErrLevel=1 
         Endif 
      Endif 
   Endif 
   Return ErrLevel 
end sub 

Sub CheckLag()
   uo.DeleteJournal()
   uo.Click('backpack')
   repeat
      wait(10)
   until uo.InJournal('backpack') or UO.Dead()
end Sub

Sub MakeTime()
VAR D, T, Ret, i
Ret = STR(UO.Time())
T = ""
For i = 0 To Len(Ret)
T = Ret[Len(Ret)-i] + T
If (I == 2) OR (I == 4) Then
T = ":" + T
EndIf
Next 
Ret = T
RETURN Ret
end sub 
Спасибо... но ведь так ГЗ.
И где указывать сейф.. рунбук...?
let's start.
HellFire
Posts: 89
Joined: 2004-10-02 23:47:48

Post by HellFire »

Надо опробывать будет. Спасибо.
HellFire
Posts: 89
Joined: 2004-10-02 23:47:48

Post by HellFire »

Вроде пашет. Мерси. :wink: :)
Кролик роджер
Posts: 2
Joined: 2007-09-17 16:21:03
Contact:

Post by Кролик роджер »

а у тебя он нормально работает?просто я играю н6а другом шарде и он у меня отказывается рыбу ловить!все время орет БАНК, а када я становлюсь на самую первую координату из скрипта,он вырубается!подскажите.что не так?
Post Reply