Page 1 of 1

подправьте плиз !

Posted: 2006-09-10 11:36:56
by Dreygon
вставьте в скрипт хидинг чтоб копать спокойней было) и если возможно чтоб от элементалей останавливал скрипт) я из скрипта пользуюсь тока функцией вининг от сейфа вдоль скалы и к сейфу и вот сам скрипт)

Code: Select all

var Kirka = '0x0E85' ;òèï ïðåäìåòà êîòîðûì êàïàåì 
var tools='0x1EBC' ;òèï òèíêåð òóëñîâ 
var book='0x400428BB' ;ÈÄ ðóíáóêè 
var namelist='neck'; èìÿ ëèñòà ïðîäàæè 
var namevendor='Betty'; èìÿ âåíäîðà êîòîðîìó ïðîäàåì 
########### 
#Çàìå÷àíèå: 
#ñêðèïò äåëàåò íåêëàñû à îíè íà äðâ äåëàþòñÿ ïîñëå 
#çíà÷åíèÿ ñêèëà >65 ïîýòîìó êà÷àéòå äî 65 ñàìè 
#èëè ïåðåäåëûâàéòå ôóíêöèþ Tinkering() ýòî íåñëîæíî 
########### 
sub main() 
 while not uo.dead() 

  gor() 
 
  Plavka() 


 wend 
endsub 

Sub gor()
  
   go(0000,0000,1)
   go(0000,0000,1)
  
  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 
uo.useobject('backpack') 
for y=-1 to 1 
for x=-1 to 1  
  k = 0 
  repeat 
    UO.DeleteJournal() 
    t = UO.Timer() 
    k = k + 1 
    CheckLag() 
    wait(300) 
    UO.WaitTargetTile( TileNum, STR( UO.GetX() + x ), STR( UO.GetY() + y ), 0) 
    UO.UseType( Kirka ) 
    uo.deletejournal() 
    repeat 
     wait(100) 
    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))    
  until ( NOT UO.InJournal(ms4) AND NOT UO.InJournal(ms3) OR (k > 10) ) 
 next 
next 
endsub 

Sub go(x,y,k) 
    var kop 
   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" 
   kop=0 
   While Exit<>1    

         dx=x-UO.GetX() 
         dy=y-UO.GetY() 
         If dx==0 AND dy==0 Then 
            Exit=1 
         Endif 
          
            kop=kop+1 
            if kop==15 then 
             Exit=1 
            else 
    
      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 
     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() 
var ms="attacking you" 
var k=uo.life-uo.str 
    if k*k>1 or uo.injournal(ms) then 
     uo.say("") 
    endif 
   UO.DeleteJournal() 
   UO.Click('backpack') 
   repeat 
      wait(50) 
   until UO.InJournal('backpack') 
end sub 

Sub Plavka()

if uo.Waiting() then 
uo.CancelTarget() 
end if 
var a, Exit 
var UnloadChest='0x401B0B60' ## - ID ñóíäóêà äëÿ ñáðîñà ðóäû. 
DIM Ore[5] 
Ore[0]=0x19B9 ## - 4 and more ore 
Ore[1]=0x19B7 ## - 1 ore 
Ore[2]=0x19BA ## - 2 ore 
Ore[3]=0x19B8 ## - 3 ore 
uo.SetReceivingContainer(UnloadChest) 
wait(500) 
for a=0 to 3 
exit=0 
repeat 
uo.FindType(Ore[a]) 
if uo.GetQuantity('finditem')>0 then 
uo.Grab('0','finditem') 
wait(1500) 
else 
exit=1 
end if 
until Exit==1 
next 
uo.UnSetReceivingContainer() 
end sub



Sub FastLootCheck() 
  UO.DeleteJournal() 
  wait(600) 
  if UO.InJournal("FastLoot") OR UO.InJournal("World save") then 
   CheckLag() 
  endif 
end sub 

Sub NoTarget() 
  if UO.Waiting() then 
   UO.CancelTarget() 
  endif 
end sub 

Posted: 2006-09-10 12:49:27
by Nmy

Code: Select all

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
uo.useobject('backpack')
While NOT UO.HIDDEN()
uo.useskill('Hiding')
wait(5000)
wend
for y=-1 to 1
for x=-1 to 1 
  k = 0
  repeat
    UO.DeleteJournal()
    t = UO.Timer()
    k = k + 1
    CheckLag()
    wait(300)
    UO.WaitTargetTile( TileNum, STR( UO.GetX() + x ), STR( UO.GetY() + y ), 0)
    UO.UseType( Kirka )
    uo.deletejournal()
    repeat
     wait(100)
    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))   
  until ( NOT UO.InJournal(ms4) AND NOT UO.InJournal(ms3) OR (k > 10) )
 next
next
endsub 

Posted: 2006-09-10 13:02:20
by Dreygon
NMY wrote:

Code: Select all

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
uo.useobject('backpack')
While NOT UO.HIDDEN()
uo.useskill('Hiding')
wait(5000)
wend
for y=-1 to 1
for x=-1 to 1 
  k = 0
  repeat
    UO.DeleteJournal()
    t = UO.Timer()
    k = k + 1
    CheckLag()
    wait(300)
    UO.WaitTargetTile( TileNum, STR( UO.GetX() + x ), STR( UO.GetY() + y ), 0)
    UO.UseType( Kirka )
    uo.deletejournal()
    repeat
     wait(100)
    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))   
  until ( NOT UO.InJournal(ms4) AND NOT UO.InJournal(ms3) OR (k > 10) )
 next
next
endsub 
спс

Posted: 2006-09-10 13:05:32
by Dreygon
а возможно сделать если выкапал элемента скрипт останавливался?

You Must Die: Хорош темами флудить, а то понафлудят-а как перекроют все, начинают жаловатся.