Page 1 of 1

Помогите подправить скриптик.....

Posted: 2006-02-06 11:21:22
by Balu
Мининг по скале! проблема в том, что с крипт не скидывает руду при перевесе а идет и копает до конечной точки, как только дошёл до последней координаты идёт выкладывать руду, выложил и опять начинает с первой! Подправте пожалуйста что бы он при перевесе шел выкладывать руду а после разгрузки шел копать координату на которой закончил! заранее спасибо

Code: Select all

var tSeif='' 
var Kirka='0x0E85'

sub main()
 while not uo.dead()
  go(x,y,1)#k=1 капаем k<>1 холостой ход

 


  go(x,y,0)#подходим к сундуку
  UnLoad()#выкидываем руду
wend
endsub

sub minround()
VAR TileNum = '-1'
VAR x, y, t, k
VAR MaxTime = 100 
VAR ms1 = "There is no ore here to mine"
VAR ms2 = "You can't use"
##VAR ms3 = "You put the"
VAR ms4 = "You loosen some rocks"
VAR ms5 = "You are too far away"
VAR ms6 = "Try mining in rock"
VAR ms7 = "You can't see that"
VAR ms8 = "You put the Iron Ore"
VAR ms9 = "You have no line of sight to that location"
VAR ms10 = "You put the Agapite Ore"
VAR ms11 = "You put the Orion Ore"
VAR ms12 = "You put the Shadow Ore"
VAR ms13 = "You put the Crystal Ore"
VAR ms14 = "You put the Golden Ore"
VAR ms15 = "You put the Mytheril Ore"
VAR ms16 = "You put the Magma Ore"
VAR ms17 = "You put the Copper Ore"
VAR ms18 = "You put the Valorite Ore"
VAR ms19 = "You put the Verite Ore"
VAR ms20 = "You put the Dwarf Ore"
VAR ms21 = "You put the Silver Ore"

var kolr,per
for y=-2 to 2
for x=-2 to 2 
  k = 0
  repeat
    UO.DeleteJournal()
    t = UO.Timer()
    k = k + 1
    if uo.targeting() then
     UO.CancelTarget()
    endif
    CheckLag()
    wait(300)
    UO.WaitTargetTile( TileNum, STR( UO.GetX() + x ), STR( UO.GetY() + y ), 0)
    UO.UseType( Kirka )
    repeat
     wait(300)
     if Uo.injournal("You have found some") then
     podbor()
     end if
    until UO.InJournal(ms1) OR UO.InJournal(ms2) OR UO.InJournal(ms4) OR UO.InJournal(ms5) OR UO.InJournal(ms6) OR UO.InJournal(ms7) OR UO.InJournal(ms8) OR UO.InJournal(ms9) OR UO.InJournal(ms10) OR UO.InJournal(ms11) OR UO.InJournal(ms12) OR UO.InJournal(ms13) OR UO.InJournal(ms14) OR UO.InJournal(ms15) OR UO.InJournal(ms16) OR UO.InJournal(ms17) OR UO.InJournal(ms18) OR UO.InJournal(ms19) OR UO.InJournal(ms20) OR UO.InJournal(ms21) OR ((t + MaxTime) < UO.Timer())
    uo.findtype('0x19B9','-1','backpack')
    kolr=uo.getquantity('finditem')
    per=uo.str*4+20-uo.weight
    uo.print("kol-vo irona " + str(kolr) + " do perevesa " + str(per))   
  until ( NOT UO.InJournal(ms4) AND NOT UO.InJournal(ms10) AND NOT UO.InJournal(ms11) AND NOT UO.InJournal(ms12) AND NOT UO.InJournal(ms13) AND NOT UO.InJournal(ms14) AND NOT UO.InJournal(ms15) AND NOT UO.InJournal(ms16) AND NOT UO.InJournal(ms17) AND NOT UO.InJournal(ms18) AND NOT UO.InJournal(ms19) AND NOT UO.InJournal(ms20) AND NOT UO.InJournal(ms21)OR (k > 10) )
 next
next
endsub

Sub go(x,y,k)
   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   

         dx=x-UO.GetX()
         dy=y-UO.GetY()
         If dx==0 AND dy==0 Then
            Exit=1
         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
   if k==1 then
    minround()
   endif
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

sub UnLoad()
var i
DIM Item[13]

Item[1]=0x19B9 ; >3 ore
Item[2]=0x19B7 ; 1 ore
Item[3]=0x19BA ; 2 ore
Item[4]=0x19B8 ; 3 ore
Item[5]=0x0F11 ; saphires
Item[6]=0x0F16 ; amethysts
Item[7]=0x0F18 ; tourmalines
Item[8]=0x0F15 ; citrines
Item[9]=0x0F10 ; emeralds
Item[10]=0x0F0F ; star sapphires
Item[11]=0x0F26 ; diamonds
Item[12]=0x0EED ; gold

for i = 1 to 12
UO.FindType(Item[i], '-1', 'backpack')
while UO.GetQuantity('finditem') > 0
UO.MoveItem('finditem','-1',tSeif)
Wait(1000)
CheckLag()
UO.FindType(Item[i],'-1','backpack')
wend
next
end sub

sub podbor()
uo.findtype(0x19B9,-1,'ground')
uo.grab(0,'finditem')
wait(1000)
uo.findtype(0x19B8,-1,'ground')
uo.grab(0,'finditem')
wait(1000)
uo.findtype(0x19BA,-1,'ground')
uo.grab(0,'finditem')
wait(1000)
uo.findtype(0x19B7,-1,'ground')
uo.grab(0,'finditem')
wait(1000)
end sub


Posted: 2006-02-06 12:00:23
by GimFlex
а тебе зачем именно так? если у тебя капалка вдоль скалы пусть так и будет
если же невтерпеж то вот функция можешь добавить ее checklag()

Code: Select all

sub maxvess()
var maxves=700#<-------сюда впиши вес перегруза
var x1,y2
if uo.weight>=maxves then
 x1=uo.getx()
 y1=uo.gety()
 go(x,y,0)#<----------координаты рядом с сундуком
 unload()#<-----------функция на разгруз
 go(x1,y1,1)#<-------возвращаемся откуда ушли( не менять)
endif
endsub

Posted: 2006-02-06 12:08:22
by Balu
Question wrote:а тебе зачем именно так? если у тебя капалка вдоль скалы пусть так и будет
если же невтерпеж то вот функция можешь добавить ее checklag()

Code: Select all

sub maxvess()
var maxves=700#<-------сюда впиши вес перегруза
var x1,y2
if uo.weight>=maxves then
 x1=uo.getx()
 y1=uo.gety()
 go(x,y,0)#<----------координаты рядом с сундуком
 unload()#<-----------функция на разгруз
 go(x1,y1,1)#<-------возвращаемся откуда ушли( не менять)
endif
endsub


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

Posted: 2006-02-06 12:24:57
by GimFlex

Code: Select all

var tSeif='000000000' 
var Kirka='0x0F39'
var maxves=700 ; sdelai chyt pomenshe

var xs=34 ;koordinatu y syndyka
var ys=89 ;

var ma

sub main()
 while not uo.dead()
 go(x,y,k)
 ........
wend
endsub

sub minround()
VAR TileNum = '1339'
VAR x, y, t, k
VAR MaxTime = 100
VAR ms1 = "There is no ore here to mine"
VAR ms2 = "You can't use"
VAR ms3 = "You put the"
VAR ms4 = "You loosen some rocks"
VAR ms5 = "You are too far away"
VAR ms6 = "Try mining in rock"
VAR ms7 = "You can't see that"
var kolr,per
for y=-1 to 1
for x=-1 to 1
 k = 0
 repeat
  UO.DeleteJournal()
  t = UO.Timer()
  k = k + 1
  if uo.targeting() then
   UO.CancelTarget()
  endif
  CheckLag()
  wait(300)
  UO.WaitTargetTile( TileNum, STR( UO.GetX() + x ), STR( UO.GetY() + y ), 0)
  UO.UseType( Kirka )
  repeat
   wait(300)
  until UO.InJournal(ms1) OR UO.InJournal(ms2) OR UO.InJournal(ms3) OR UO.InJournal(ms4) OR UO.InJournal(ms5) OR UO.InJournal(ms6) OR UO.InJournal(ms7) OR ((t + MaxTime) < UO.Timer())
  uo.findtype('0x19B9','-1','backpack')
  kolr=uo.getquantity('finditem')
  per=uo.str*4+30-uo.weight
  uo.print("kol-vo irona " + str(kolr) + " do perevesa " + str(per)) 
  maxvess()
 until ( NOT UO.InJournal(ms4) AND NOT UO.InJournal(ms3) OR (k > 10) )
 next
next
endsub

Sub go(x,y,k)
  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 

      dx=x-UO.GetX()
      dy=y-UO.GetY()
      If dx==0 AND dy==0 Then
        Exit=1
      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
  if k==1 then
  minround()
  endif
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

sub unload()
var i
DIM Item[13]

Item[1]=0x19B9 ; >3 ore
Item[2]=0x19B7 ; 1 ore
Item[3]=0x19BA ; 2 ore
Item[4]=0x19B8 ; 3 ore
Item[5]=0x0F11 ; saphires
Item[6]=0x0F16 ; amethysts
Item[7]=0x0F18 ; tourmalines
Item[8]=0x0F15 ; citrines
Item[9]=0x0F10 ; emeralds
Item[10]=0x0F0F ; star sapphires
Item[11]=0x0F26 ; diamonds
Item[12]=0x0EED ; gold

for i = 1 to 12
UO.FindType(Item[i], '-1', 'backpack')
while UO.GetQuantity('finditem') > 0
UO.MoveItem('finditem','-1',tSeif)
Wait(1000)
CheckLag()
UO.FindType(Item[i],'-1','backpack')
wend
next
end sub

sub maxvess()
var x1,y2
if uo.weight>=maxves then
 x1=uo.getx()
 y1=uo.gety()
 go(xs,ys,0)
 unload()
 go(x1,y1,1)
endif
endsub

Posted: 2006-02-06 15:17:49
by Balu
короче фигня такая! когда идет капает по координатам всё нормально, но когда идёт для выгрузки или обратно к последней точке ходилка не может обойти некоторые припятствия! народ помогите плиз!?

Posted: 2006-02-06 15:19:31
by GimFlex
Balu wrote:короче фигня такая! когда идет капает по координатам всё нормально, но когда идёт для выгрузки или обратно к последней точке ходилка не может обойти некоторые припятствия! народ помогите плиз!?


выход один искать хорошую ходилку или путь к точке разделять на несколько стационарных стабильных точек

Posted: 2006-02-06 15:28:33
by Balu
А можно ли сделать что бы чар при выгрузе и при возвращении на точку у которой закончил шёл по уже готовым координатам по тем которые я задал для копания? т.е. чар будет ходить строго по координатам вдоль скалы, у меня координаты проставлены через шаг!Сундук у меня стоит рядом с начальной координатой для копания! я думаю это решило бы проблему с обходом припятствий! А? народ помогите!!!!

Posted: 2006-02-06 16:05:25
by GimFlex
если доверишься мне то могу к тебе прийти и написат для твоей капалки если ты на дрв играешь

Posted: 2006-02-06 18:29:04
by Balu
Question wrote:если доверишься мне то могу к тебе прийти и написат для твоей капалки если ты на дрв играешь


Доверюсь не вопрос только я на оскоме