Сайт Антареса Сайт Антареса Форум Антарес
> >

Здравствуйте, гость ( Вход | Регистрация )


> > Дары Ревенанта смертным., Очень полезные. >
Revenant
сообщение 22.10.2005, 18:06
Сообщение #1


Хранитель
Group Icon

Группа: Пользователи
Сообщений: 3 392
Регистрация: 25.10.2004
Пользователь №: 50
Спасибо сказали: 7 раз(а)
Класс: Вампир



Исходный код

######################################
#  Antares /Revenant/ uoa.ru / ver 4
######################################
# в банке должны быть руны в пещеры, помеченные в инжекте как обьекты
# (Закладка Objects !!!!  не путать c  Object type)
# Mine , Mine1, Mine2, Mine3, Mine4, а в бекпаке обьект Bank - руна к банку
# промаркировать каждую пещеру надо зарание, запустив процедуру MultyMark()
# Для марка, обходя последовательно все точки копания набирать "set"
# (точка копания - центр квадрата 5х5 тайлов, который выкапывается подчистую)
# При окончании марка в текущей пещере набрать "stop" перереколиться в следующюю пещеру и продолжить
# После марка 5 пещер появятся файлы C:\mine4.dat, C:\mine3.dat, C:\mine2.dat, C:\mine1.dat, C:\mine.dat
# После этого можно начинать копку запустив процедуру main() стоя у банка.
# И если в банке будут лежать жаренные фишстеки, чар не применет возможностью ими полакомиться.
# при вероятности дисконнектов перед копкой запускать процедуру Reconnect
#
#
# скрипт с авторесом (при стаке в Брит) Верхнее меню помощи должно быть открыто.
# процедуру minesh(PX,PY) поставить вместо mine(PX,PY) для копки лопатой и разбивания добытых камней на стоунблоки, в паке должна быть кирка
# процедура pod() для экстренного подьема выпавшей из банка руды. Контейнер куда собирать указать в самой процедуре.

################################
var Cont = '0x40017CCE' ;ID контейнера в который будет складываться накопанное.
var RC = '0x40D0375A'   ;ID контейнера с регами
var Dagg = '0x40F18080' ;ID контейнера с дагерами и бинтами (на случай если копаются элемы)
var food= '0x097B'      ;еда(type) по умолчанию жаренные фишстейки
var q, w, p
var f=file("C:\mine.dat")
;var f , mine
var mine

###############################        процедура запуска для  5 пещер
# количество пещер может быть уменьшено или увеличено
# удалением или внесением троестрочий вида:
#      f=file("C:\mine1.dat")
#      mine='Mine1'
#      one()

sub main()
repeat

f=file("C:\mine.dat")
mine='Mine'                      
one()


f=file("C:\mine1.dat")
mine='Mine1'
one()


 f=file("C:\mine2.dat")
 mine='Mine2'
 one()

f=file("C:\mine3.dat")
mine='Mine3'
one()

 f=file("C:\mine4.dat")
 mine='Mine4'
 one()
 

until UO.Dead()
end sub
#########
sub tert()
   uo.print(str(uo.str*4))
end sub
################################      
sub one()
dim PX[50], PY[50]
var Minepoints=0
var i

uo.Print('Loading from file...')
f.open()
Minepoints=safe call f.ReadNumber()
for i=1 to Minepoints
   PX[i]=safe call f.ReadNumber()
   PY[i]=safe call f.ReadNumber()
next
f.close()
uo.Print('Loaded')
uo.say("Bank")
wait(100)
med()
takereg()
Recall(mine)
for p=1 to Minepoints
   uo.Print('X: '+str(PX[p])+' Y: '+str(PY[p]))
   WalkN(PX[p],PY[p],'')
   q=PX[p]
   w=PY[p]
   uo.Print('Mining...')
   UO.Warmode("0")
   mine(PX,PY)
 ;minesh(PX,PY)
next
 recall('Bank')  
 Razg()
end sub
##########################
sub vozvrat(PX,PY)
var i
uo.Print('Move...')
for i=1 to p
   uo.Print('X: '+str(PX[p])+' Y: '+str(PY[p]))
   WalkN(PX[i],PY[i],'')
next
end sub
########################
sub Mark()
dim PX[50], PY[50]
var Minepoints=0
var i
uo.Print('Start marking...')
for i=1 to 50
 UO.DeleteJournal()
 uo.Print('Set point '+ str(i))
 repeat
    wait(500)
    if UO.InJournal('stop')then
       SaveToFile(i-1,PX,PY)
       return
    endif
 until UO.InJournal('set')
   PX[i] = UO.GetX("self")
   PY[i] = UO.GetY("self")
   uo.Print('Point '+str(i)+' X: '+str(PX[i])+' Y: '+str(PY[i])+'taken')
next
end sub
########################
sub MultyMark()
 uo.Print('Cove............ 1')
 f=file("C:\mine.dat")
 Mark()
uo.Print('Cove............ 2')
f=file("C:\mine1.dat")
Mark()
 uo.Print('Cove............ 3')
 f=file("C:\mine2.dat")
 Mark()
uo.Print('Cove............ 4')
f=file("C:\mine3.dat")
Mark()
 uo.Print('Cove............ 5')
 f=file("C:\mine4.dat")
 Mark()
 uo.Print('Marking finished. Ready for mine')
end sub
#############################
sub SaveToFile(mp,PX,PY)
var s=0,k=0
f.open()
f.create()
uo.Print('points = '+ str(mp))
  s=safe call f.writeln(mp)
for k=1 to mp
  s=safe call f.writeln(str(PX[k])+' '+str(PY[k]))
next
f.close()
end sub

##################################
sub mine(PX,PY)
  var x,y,z
  VAR LastTimer
  UO.Set('finddistance','2')
  z=UO.GetZ("self")
     for x=-2 to 2
        for y=-2 to 2
         ;Hid()      
           UO.Print(str(x)+" "+str(y))
           Repeat
              if UO.InJournal('TORMOZ') then
                pause()
              endif
              if uo.injournal('boulder')or UO.count('0x134F') then
                 boulder()
              endif
;               if uo.dead() then
;                  wait(180000)
                 if uo.dead() then
                    ressurect(PX,PY)
                 endif
;               endif
              UO.DeleteJournal()
              UO.Warmode("0")
              UO.WaitTargetTile("1341",STR(UO.GetX()+x),STR(UO.GetY()+Y),str(z))
              UO.UseType('0x0E85')
              LastTimer=UO.Timer()
              Repeat
                 wait(500)
                 lookout()
              Until UO.InJournal("You put") or UO.InJournal("can't see") or UO.InJournal("heavy") or UO.InJournal("location") or UO.InJournal("no ore") or UO.InJournal("but fail") or UO.InJournal("far away") or UO.InJournal("in rock") or UO.InJournal("must wait") or UO.InJournal("nothing") or UO.InJournal("elsewhere") or UO.InJournal("where it") OR UO.Timer()>LastTimer+200
            ;lookout()
           Until UO.InJournal("nothing") or UO.InJournal("elsewhere") or UO.InJournal("no ore here") or UO.InJournal("location") or UO.InJournal("far away") or UO.InJournal("in rock") or UO.InJournal("where it") or UO.InJournal("must wait")
              if UO.Weight>(uo.str*4) then
                 unload(PX,PY)
              endif
         ;wait(4000)  ; раскоментировать при копке лопатой
        next
     next
end sub
#########################################
sub lookout()
   if UO.InJournal("elemental") then
      killelem()
   endif
end sub
#######################################
sub check()
  var noto, ser, jor
      for jor = 0 to 9
          ser = uo.journalserial(jor)
          UO.Print(ser)
          uo.Print(str(uo.IsNPC("ser")))
          if not UO.IsNPC('ser') and not uo.injournal("elemental") and ser <> '0x00000000' then
             if uo.waiting() then
                uo.canceltarget()
             endif
             UO.DeleteJournal()
             UO.Print('PPPPPP')
           ;UO.Print(ser)
           ;recall('Bank')  
           ;Razg()
           ;wait(180000)
             return
          endif
         
       next
end sub
#######################################
sub Pause()
UO.DeleteJournal()
REPEAT
WAIT(3000)
UO.Print("Paused")
UNTIL UO.InJournal('GO')
UO.Print("Continue")
endif
end sub
############################################
sub heal()
 UO.SetArm('arm')
 UO.Exec('bandageself')
 wait(500)
 UO.Arm('arm')
 wait(2000)
end sub
######################################
sub Razg()
VAR a
VAR LastTimer
DIM Ore[12]
Ore[1]=0x19B9; 4 and more ore
Ore[2]=0x19B7; 1 ore
Ore[3]=0x19BA; 2 ore
Ore[4]=0x19B8; 3 ore
Ore[5]=0x0EED; деньги
Ore[6]=0x09AA; пандоры
Ore[7]=0x19B9; руда
Ore[8]=0x0F26; диаманты
Ore[9]=0x0F8A; pig iron
Ore[10]=0x1422; plaster
Ore[11]=0x1BF2; marble
Ore[12]=0x14EB; map


uo.say("Bank")
wait(100)
For a=1 to 12
   While UO.Count(ore[a])>0
         UO.FindType(ore[a],-1,-1)
         UO.MoveItem('finditem',0,Cont)
         wait(200)
         uo.print(ore[a])
   Wend
next
eat()
   While UO.Count('0x0E20')>0
         UO.FindType('0x0E20',-1,-1)
         UO.MoveItem('finditem',0,Dagg)
         wait(200)
   Wend
takereg()
if UO.Mana < 30 then
  while UO.Mana<UO.Int
        LastTimer=UO.Timer()
        UO.UseSkill('Meditation')
        repeat
           wait(100)
        until UO.InJournal("You are") OR UO.InJournal("You lose") OR UO.Timer()>LastTimer+200
        UO.DeleteJournal()
        wait(200)
  wend
endif  
end sub


#######################################
sub eat()
VAR LastTimer
   UO.DeleteJournal()
   repeat
   LastTimer=UO.Timer()
   UO.findtype(food,-1,'0x4001ABF5')
     if UO.findcount('finditem') then
        uo.print('eat')
        UO.Useobject('finditem')
        wait(500)
     else
        return
     end if
   Until UO.InJournal("stuffed!") OR UO.InJournal("think") or UO.InJournal("found") OR UO.Timer()>LastTimer+200
end sub
################################
sub unload(PX,PY)
  Recall('Bank')
  Razg()
  wait(100)
  takereg()
  wait(100)
  Recall(mine)
  uo.DeleteJournal()    
  vozvrat(PX,PY)
end sub
########################################
sub ressurect1(PX,PY)
  CheckLag()
  UO.LClick(17,13)
  wait(1000)
  CheckLag()
  UO.LClick(17,61)
  wait(1000)
  CheckLag()
  uo.useobject('0x40FD37A9')
  wait(100)
  uo.useobject('backpack')
  wait(1000)
  uo.say('bank')
  wait(500)
  takereg()
  wait(1000)
  eat()
  wait(180000)
  Recall(mine)
  uo.DeleteJournal()    
  vozvrat(PX,PY)  
end sub
#############################
sub ressurect(PX,PY)
  UO.Exec('warmode 0')
  CheckLag()
  UO.LClick(17,13)
  wait(1000)
  CheckLag()
  UO.LClick(17,61)
  wait(1000)
  CheckLag()
  WalkN(1483,1636,'')
  WalkN(1480,1639,'')
  WalkN(1480,1647,'')
  WalkN(1468,1649,'')
  WalkN(1460,1657,'')
  WalkN(1460,1684,'')
  WalkN(1463,1690,'')
  WalkN(1463,1697,'')
  WalkN(1442,1697,'')
  WalkN(1430,1697,'')
  WalkN(1430,1691,'')
  WalkN(1428,1689,'')
  WalkN(1428,1684,'')
  WalkN(1428,1680,'')
  WalkN(1426,1678,'')
  uo.useobject('0x40021D98')
  wait(100)
  uo.useobject('backpack')
  wait(1000)
  uo.say('bank')
  wait(500)
  takereg()
  wait(1000)
  eat()
  Recall(mine)
  uo.DeleteJournal()    
  vozvrat(PX,PY)  
end sub
##############################
sub med()
VAR LastTimer
UO.DeleteJournal()
while UO.Mana<UO.Int
 LastTimer=UO.Timer()
 UO.UseSkill('Meditation')
 repeat
   wait(100)
 until UO.InJournal("You are") OR UO.InJournal("You lose") OR UO.Timer()>LastTimer+200
 UO.DeleteJournal()
 wait(200)
wend
end sub
#########################################
sub takereg()
DIM reg[3]
var i,n
reg[1]='0x0F86'; MR
reg[2]='0x0F7A'; BP
reg[3]='0x0F7B'; BM

UO.UseObject(RC)
for i=1 to 3
   while UO.Count(reg[i])<5
     UO.FindType(reg[i],-1,RC)
     n=UO.Count(reg[i])
     UO.Grab(str(5-n),'finditem')
     wait(200)
     CheckLag()
   wend  
next
;UO.UseObject(Dagg)
; if not UO.count('0x0F51') then
;      UO.FindType('0x0F51',-1,Dagg)
;      IF uo.findcount() then
;         UO.Grab(str(1),'finditem')
;         wait(200)
;         CheckLag()
;      endif  
; endif
;  if not UO.count('0x0E21') then
;      UO.FindType('0x0E21',-1,Dagg)
;            n=UO.Count(reg[i])
;      IF uo.findcount() then
;         UO.Grab(str(12-n),'finditem')
;         wait(200)
;         CheckLag()
;      endif  
; endif
end sub
#########################################
sub CheckLag()
UO.DeleteJournal()
UO.Click('backpack')
repeat
wait(500)
until UO.InJournal('Backpack')
end sub
######################################
sub Reconnect()
var ReconnectTime,rFlag
ReconnectTime='0'
rFlag=1
repeat
while (uo.ObjAtLayer('Bpack')=='')
if rFlag then
ReconnectTime=MakeTime()
rFlag=0
end if
wait(20000)
uo.Say('')
wait(3000)
uo.Say('')
wait(3000)
uo.Say('')
wait(3000)
uo.LDblClick(357,164)
uo.LClick(616,459)
wait(3000)
wend
wait(3000)
if (rFlag==0) and (ReconnectTime<>'0') then
uo.TextOpen()
uo.TextPrint('Disconnected & Reconnected @ '+ReconnectTime)
rFlag=1
ReconnectTime='0'
end if
until false
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 = STR(UO.Date())
  D = ""
  For i = 0 To Len(Ret)
     D = Ret[Len(Ret)-i] + D
     If (I == 2) OR (I == 4) Then
        D = "." + D
     EndIf
  Next    
  Ret = T + " @ " + D
  RETURN Ret
end sub
####################################
sub Hid()
while not uo.Hidden()
uo.exec('warmode 0')
uo.Print('Hiding...')
uo.UseSkill('Hiding')
wait(4000)
wend
wait(100)
end sub
#################################
sub Recall(dest)
var b
 uo.print('Recoll')
 for b=1 to 10
   uo.deletejournal()
   uo.waittargetobject(dest)
   uo.cast('Recall',dest)
   if WaitForRecall()==1 then
     return 1
   end if
 next
 return 0
end sub
###################################
sub WaitForRecall()
var Text1=uo.getname()+": The spell fizzles."
var mess='',lastX=uo.getX(),lastY=uo.getY()
 for var v=0 to 200
   mess=uo.journal(0)
   if uo.Journal(0)==Text1 then
     return 0
   end if
   if uo.getX()<>lastX OR uo.getY()<>LastY then
     return 1
   end if
   wait(50)
 next
 return 0
end sub
################################  
sub killelem()
VAR LastTimer, Elem ,i
LastTimer=UO.Timer()
  UO.DeleteJournal()
 UO.FindType('0x000E',-1,'ground')
 Elem=UO.GetSerial('finditem')
 UO.Exec('warmode 1')
 UO.Attack(Elem)
;WalkN(0,0,Elem)
 UO.Say('Dye, mother fucker!')
 repeat
      wait(2000)
  until UO.InJournal('Body') OR LastTimer+300<UO.Timer() or uo.dead(Elem)
UO.Exec('warmode 0')
wait(100)
LastTimer=UO.Timer()
if UO.Life<50 and UO.Count('0x0E21') then
  repeat
    UO.BandageSelf()
    wait(4000)
  until UO.Life>170 OR LastTimer+300<UO.Timer()
endif
loot()
WalkN(q,w,'')
end sub
##################################
sub loot()
DIM R[5]
var a
R[1] = 0x0EED # деньги
R[2] = 0x09AA # пандоры
R[3] = 0x19B9 # руда
R[4] = 0x0F8A # pig iron
R[5] = 0x19BA # руда, 2 штучки

UO.UseObject('lastcorpse')
wait(100)
uo.exec("warmode '0'")
uo.waittargetobject('lastcorpse')
uo.usetype(0x0F51)
wait(500)

for a=1 to 5
uo.findtype(R[a],"-1","lastcorpse")
if UO.FindCount()>0 and Uo.GetDistance("lastcorpse")<=2 then
UO.Grab("0","finditem")
wait(1500)
end if
wait(10)
next
end sub
##############################
#==============================================================
#  WalkN(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!
#       serial - Serial of target or "" - string
#     walkwait - delay after keypress
#     Example:
#     WalkN(2080,2113,'') - go to coordinates
#     WalkN(0,0,'0x12345678') - go to target position
#--------------------------------------------------------------
sub WalkN(x,y,Target)
  VAR i,StepSucess
  VAR dx,dy,Exit=0
   
  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
           StepSucess=Go(3,40,300);SE - DownArrow
           If StepSucess==-1 Then
              StepSucess=Go(7,38,300);WN - UpArrow
              StepSucess=Go(1,39,300);NE - RightArrow
              If StepSucess==-1 Then
                 StepSucess=Go(5,37,300);SW - LeftArrow
              Endif
           Endif
        Endif

        If dx>0 AND dy<0 Then
           StepSucess=Go(1,39,300);NE - RightArrow
           If StepSucess==-1 Then
              StepSucess=Go(5,37,300);SW - LeftArrow
              StepSucess=Go(3,40,300);SE - DownArrow
              If StepSucess==-1 Then
                 StepSucess=Go(7,38,300);WN - UpArrow
              Endif
           Endif
        Endif

        If dx<0 AND dy>0 Then
           StepSucess=Go(5,37,300);SW - LeftArrow
           If StepSucess==-1 Then
              StepSucess=Go(1,39,300);NE - RightArrow
              StepSucess=Go(7,38,300);WN - UpArrow
              If StepSucess==-1 Then
                 StepSucess=Go(3,40,300);SE - DownArrow
              Endif
           Endif
        Endif

        If dx<0 AND dy<0 Then
           StepSucess=Go(7,38,300);WN - UpArrow
           If StepSucess==-1 Then
              StepSucess=Go(3,40,300);SE - DownArrow
              StepSucess=Go(5,37,300);SW - LeftArrow
              If StepSucess==-1 Then
                 StepSucess=Go(1,39,300);NE - RightArrow
              Endif
           Endif
        Endif

     Endif
   
     If dx<>0 AND dy==0 Then
        If dx>0 Then
           StepSucess=Go(2,34,300);E - PgDown
           If StepSucess==-1 Then
              StepSucess=Go(3,40,300);SE - DownArrow
              If StepSucess==-1 Then
                 StepSucess=Go(1,39,300);NE - RightArrow
              Endif
              StepSucess=Go(2,34,300);E - PgDown
           Endif
        Endif
         
        If dx<0 Then
           StepSucess=Go(6,36,300);W - Home
           If StepSucess==-1 Then
              StepSucess=Go(7,38,300);WN - UpArrow
              If StepSucess==-1 Then
                 StepSucess=Go(5,37,300);SW - LeftArrow
              Endif
              StepSucess=Go(6,36,300);W - Home
           Endif
        Endif
     Endif


     If dx==0 AND dy<>0 Then
        If dy>0 Then
           StepSucess=Go(4,35,300);S - End
           If StepSucess==-1 Then
              StepSucess=Go(3,40,300);SE - DownArrow
              If StepSucess==-1 Then
                 StepSucess=Go(5,37,300);SW - LeftArrow
              Endif
              StepSucess=Go(4,35,300);S - End
           Endif
        Endif
         
        If dy<0 Then
           StepSucess=Go(0,33,300);N - PgUp
           If StepSucess==-1 Then
              StepSucess=Go(1,39,300);NE - RightArrow
              If StepSucess==-1 Then
                 StepSucess=Go(7,38,300);WN - UpArrow
              Endif
              StepSucess=Go(0,33,300);N - PgUp
           Endif
        Endif
     Endif
  Wend
end sub


sub Go(dir,key,walkwait)
  VAR x,y, OldDir

  x=UO.GetX()
  y=UO.GetY()
  OldDir=UO.GetDir()
;hid()
  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()
  Endif

  If x==UO.GetX() AND y==UO.GetY() AND OldDir<>UO.GetDir() Then
     UO.Press(key)
     wait(walkwait)
  Endif

  If x==UO.GetX() AND y==UO.GetY() Then
     CheckLag()
  Endif
   
  If x==UO.GetX() AND y==UO.GetY() Then
     UO.Print("Zasada!")
     return -1
  Else
     return 1
  Endif
end sub
###########################################
sub pod()
 UO.Say('Bank')
 repeat
   uo.findtype('0x19B9',-1,'ground')
   if UO.FindCount() and Uo.GetDistance('finditem')<3 then
     uo.moveitem('finditem','1000','0x40FA6B85')
     wait(100)
   end if
   wait(1000)
     uo.print("1")
  until not UO.FindCount()
end sub
################################################
sub boulder()
if uo.count('0x0E85') then
  while uo.count('0x134F')
     uo.waittargettype('0x134F')
     uo.usetype('0x0E85')
     wait(100)
  wend
  uo.findtype('0x134F',-1,'ground')
     if uo.FindCount()then
       uo.waittargetobject('finditem')
       uo.usetype('0x0E85')
     endif
     wait(2000)
endif
end sub
################################################
sub minesh(PX,PY)
  var x, y,z
  VAR LastTimer
  uo.LastTile()

  UO.Set('finddistance','2')
  z=UO.GetZ("self")
     for x=-2 to 2
        for y=-2 to 2
         ;Hid()      
           UO.Print(str(x)+" "+str(y))
           Repeat
              if UO.InJournal('TORMOZ') then
                pause()
              endif
              if uo.injournal('boulder')or UO.count('0x134F') then
                 boulder()
                 UO.Print('boulder')
              endif
              If UO.targeting() then
                 uo.canceltarget()
              endif
              UO.DeleteJournal()
              UO.Warmode("0")
              UO.WaitTargetTile("1339",STR(UO.GetX()+x),STR(UO.GetY()+Y),str(z))
              UO.UseType('0x0F39')
              LastTimer=UO.Timer()
              Repeat
                 wait(500)
              Until UO.InJournal("You put") or UO.InJournal("can't see") or uo.injournal('boulder') or UO.InJournal("heavy") or UO.InJournal("location") or UO.InJournal("no ore") or UO.InJournal("but fail") or UO.InJournal("far away") or UO.InJournal("in rock") or UO.InJournal("must wait") or UO.InJournal("nothing") or UO.InJournal("elsewhere") or UO.InJournal("where it") OR UO.Timer()>LastTimer+200
              lookout()

           Until UO.InJournal("nothing") or UO.InJournal("elsewhere") or UO.InJournal("no ore here") or UO.InJournal("location") or UO.InJournal("far away") or UO.InJournal("in rock") or UO.InJournal("where it")
           
              if UO.Weight>(uo.str*4 - 20) then
                 unload(PX,PY)
              endif
         ;wait(2000)  ;на случай флуда в окне
        next
     next
end sub
####################



Исходный код

# Для обкопки вокруг себя, без реколов, без еды и прочей хрени.
sub mineone()
  var x,y,z, n
  VAR LastTimer
  UO.Set('finddistance','2')
  n=0
  z=UO.GetZ("self")
     for x=-2 to 2
        for y=-2 to 2
           UO.Print(str(x)+" "+str(y))
           Repeat
              if UO.InJournal('TORMOZ') then
                pause()
              endif
              UO.DeleteJournal()
              UO.Warmode("0")
              UO.WaitTargetTile("1341",STR(UO.GetX()+x),STR(UO.GetY()+Y),str(z))
              UO.UseType('0x0E85')
              LastTimer=UO.Timer()
              Repeat
                 wait(500)
              Until UO.InJournal("You put") or UO.InJournal("can't see") or UO.InJournal("heavy") or UO.InJournal("location") or UO.InJournal("no ore") or UO.InJournal("but fail") or UO.InJournal("far away") or UO.InJournal("in rock") or UO.InJournal("must wait") or UO.InJournal("nothing") or UO.InJournal("elsewhere") or UO.InJournal("where it") OR UO.Timer()>LastTimer+200
              if UO.InJournal("You put") then
                  n=0
              else
                 n=n+1
              endif
           Until UO.InJournal("nothing") or UO.InJournal("elsewhere") or UO.InJournal("no ore here") or UO.InJournal("location") or UO.InJournal("far away") or UO.InJournal("in rock") or UO.InJournal("where it") or n>=5
        next
     next
end sub


Сообщение отредактировал Revenant - 25.10.2005, 15:52


Спасибо сказали:
Пользователь в офлайнеКарточкаОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
 
Ответить в эту темуОткрыть новую тему
> > Ответов(1 - 6) >
Deidan
сообщение 22.10.2005, 20:16
Сообщение #2


Недо-человек
Group Icon

Группа: Пользователи
Сообщений: 1 344
Регистрация: 7.8.2005
Из: USA, OHIO, Cleveland
Пользователь №: 1 432
Спасибо сказали: 0 раз(а)



У тех у кого непашет мининг Ревы, вот тот что пашет у меня, там надо было пару галочек проставитьи среколом переделать. Правда я без добавки рун его сделал, мне хватает одной )

Исходный код


######################################
#  Antares /Revenant/ uoa.ru / ver 4
######################################
# в банке должны быть руны в пещеры, помеченные в инжекте как обьекты
# (Закладка Objects !!!!  не путать c  Object type)
# Mine , Mine1, Mine2, Mine3, Mine4, а в бекпаке обьект Bank - руна к банку
# промаркировать каждую пещеру надо зарание, запустив процедуру MultyMark()
# Для марка, обходя последовательно все точки копания набирать "set"
# (точка копания - центр квадрата 5х5 тайлов, который выкапывается подчистую)
# При окончании марка в текущей пещере набрать "stop" перереколиться в следующюю пещеру и продолжить
# После марка 5 пещер появятся файлы C:\mine4.dat, C:\mine3.dat, C:\mine2.dat, C:\mine1.dat, C:\mine.dat
# После этого можно начинать копку запустив процедуру main() стоя у банка.
# И если в банке будут лежать жаренные фишстеки, чар не применет возможностью ими полакомиться.
# при вероятности дисконнектов перед копкой запускать процедуру Reconnect
#
#
# скрипт с авторесом (при стаке в Брит) Верхнее меню помощи должно быть открыто.
# процедуру minesh(PX,PY) поставить вместо mine(PX,PY) для копки лопатой и разбивания добытых камней на стоунблоки, в паке должна быть кирка
# процедура pod() для экстренного подьема выпавшей из банка руды. Контейнер куда собирать указать в самой процедуре.

################################
var Cont = '0x40698F03' ;ID контейнера в который будет складываться накопанное.
var RC = '0x402D4AD9'   ;ID контейнера с регами
var Dagg = '0x404C9683' ;ID контейнера с дагерами и бинтами (на случай если копаются элемы)
var food= '0x097B'      ;еда(type) по умолчанию жаренные фишстейки
var q, w, p
var f=file("D:\Ultima Online 2D\Injection\Scripts (Antares)\Mining\mine2.dat")
;var f , mine
var mine

###############################        процедура запуска для  5 пещер
# количество пещер может быть уменьшено или увеличено
# удалением или внесением троестрочий вида:
#      f=file("C:\mine1.dat")
#      mine='Mine1'
#      one()

sub main()

uo.Print('Укажите первую руну')

uo.Exec('addobject mine')

while uo.Targeting()

wait(100)

wend


uo.Print('Укажите руну к банку')

uo.Exec('addobject bank')

while uo.Targeting()

wait(100)

wend
repeat


f=file("D:\Ultima Online 2D\Injection\Scripts (Antares)\Mining\mine2.dat")
mine='Mine2'
one()



until UO.Dead()
end sub
#########
sub tert()
  uo.print(str(uo.str*4))
end sub
################################      
sub one()
dim PX[50], PY[50]
var Minepoints=0
var i

uo.Print('Loading from file...')
f.open()
Minepoints=safe call f.ReadNumber()
for i=1 to Minepoints
  PX[i]=safe call f.ReadNumber()
  PY[i]=safe call f.ReadNumber()
next
f.close()
uo.Print('Loaded')
uo.say("Bank")
wait(100)
med()
takereg()
Recall('mine')
for p=1 to Minepoints
  uo.Print('X: '+str(PX[p])+' Y: '+str(PY[p]))
  WalkN(PX[p],PY[p],'')
  q=PX[p]
  w=PY[p]
  uo.Print('Mining...')
  UO.Warmode("0")
  mine(PX,PY)
;minesh(PX,PY)
next
recall('Bank')  
Razg()
end sub
##########################
sub vozvrat(PX,PY)
var i
uo.Print('Move...')
for i=1 to p
  uo.Print('X: '+str(PX[p])+' Y: '+str(PY[p]))
  WalkN(PX[i],PY[i],'')
next
end sub
########################
sub Mark()
dim PX[50], PY[50]
var Minepoints=0
var i
uo.Print('Start marking...')
for i=1 to 50
UO.DeleteJournal()
uo.Print('Set point '+ str(i))
repeat
   wait(500)
   if UO.InJournal('stop')then
      SaveToFile(i-1,PX,PY)
      return
   endif
until UO.InJournal('set')
  PX[i] = UO.GetX("self")
  PY[i] = UO.GetY("self")
  uo.Print('Point '+str(i)+' X: '+str(PX[i])+' Y: '+str(PY[i])+'taken')
next
end sub
########################
sub MultyMark()
uo.Print('Cove............ ')
var f=file("D:\Ultima Online 2D\Injection\Scripts (Antares)\Mining\mine2.dat")
Mark()
uo.Print('Marking finished. Ready for mine')
end sub
#############################
sub SaveToFile(mp,PX,PY)
var s=0,k=0
f.open()
f.create()
uo.Print('points = '+ str(mp))
 s=safe call f.writeln(mp)
for k=1 to mp
 s=safe call f.writeln(str(PX[k])+' '+str(PY[k]))
next
f.close()
end sub

##################################
sub mine(PX,PY)
 var x,y,z
 VAR LastTimer
 UO.Set('finddistance','2')
 z=UO.GetZ("self")
    for x=-2 to 2
       for y=-2 to 2
        ;Hid()      
          UO.Print(str(x)+" "+str(y))
          Repeat
             if UO.InJournal('TORMOZ') then
               pause()
             endif
             if uo.injournal('boulder')or UO.count('0x134F') then
                boulder()
             endif
;               if uo.dead() then
;                  wait(180000)
                if uo.dead() then
                   ressurect(PX,PY)
                endif
;               endif
             UO.DeleteJournal()
             UO.Warmode("0")
             UO.WaitTargetTile("1341",STR(UO.GetX()+x),STR(UO.GetY()+Y),str(z))
             UO.UseType('0x0F39')
             LastTimer=UO.Timer()
             Repeat
                wait(500)
                lookout()
             Until UO.InJournal("You put") or UO.InJournal("can't see") or UO.InJournal("heavy") or UO.InJournal("location") or UO.InJournal("no ore") or UO.InJournal("but fail") or UO.InJournal("far away") or UO.InJournal("in rock") or UO.InJournal("must wait") or UO.InJournal("nothing") or UO.InJournal("elsewhere") or UO.InJournal("where it") OR UO.Timer()>LastTimer+200
           ;lookout()
          Until UO.InJournal("nothing") or UO.InJournal("elsewhere") or UO.InJournal("no ore here") or UO.InJournal("location") or UO.InJournal("far away") or UO.InJournal("in rock") or UO.InJournal("where it") or UO.InJournal("must wait")
             if UO.Weight>(uo.str*4) then
                unload(PX,PY)
             endif
        ;wait(4000)  ; раскоментировать при копке лопатой
       next
    next
end sub
#########################################
sub lookout()
  if UO.InJournal("elemental") then
     killelem()
  endif
end sub
#######################################
sub check()
 var noto, ser, jor
     for jor = 0 to 9
         ser = uo.journalserial(jor)
         UO.Print(ser)
         uo.Print(str(uo.IsNPC("ser")))
         if not UO.IsNPC('ser') and not uo.injournal("elemental") and ser <> '0x00000000' then
            if uo.waiting() then
               uo.canceltarget()
            endif
            UO.DeleteJournal()
            UO.Print('PPPPPP')
          ;UO.Print(ser)
          ;recall('Bank')  
          ;Razg()
          ;wait(180000)
            return
         endif
         
      next
end sub
#######################################
sub Pause()
UO.DeleteJournal()
REPEAT
WAIT(3000)
UO.Print("Paused")
UNTIL UO.InJournal('GO')
UO.Print("Continue")
endif
end sub
############################################
sub heal()
UO.SetArm('arm')
UO.Exec('bandageself')
wait(500)
UO.Arm('arm')
wait(2000)
end sub
######################################
sub Razg()
VAR a
VAR LastTimer
DIM Ore[12]
Ore[1]=0x19B9; 4 and more ore
Ore[2]=0x19B7; 1 ore
Ore[3]=0x19BA; 2 ore
Ore[4]=0x19B8; 3 ore
Ore[5]=0x0EED; деньги
Ore[6]=0x09AA; пандоры
Ore[7]=0x19B9; руда
Ore[8]=0x0F26; диаманты
Ore[9]=0x0F8A; pig iron
Ore[10]=0x1422; plaster
Ore[11]=0x1BF2; marble
Ore[12]=0x14EB; map


uo.say("Bank")
wait(100)
For a=1 to 12
  While UO.Count(ore[a])>0
        UO.FindType(ore[a],-1,-1)
        UO.MoveItem('finditem',0,Cont)
        wait(200)
        uo.print(ore[a])
  Wend
next
eat()
  While UO.Count('0x0E20')>0
        UO.FindType('0x0E20',-1,-1)
        UO.MoveItem('finditem',0,Dagg)
        wait(200)
  Wend
takereg()
if UO.Mana < 30 then
 while UO.Mana<UO.Int
       LastTimer=UO.Timer()
       UO.UseSkill('Meditation')
       repeat
          wait(100)
       until UO.InJournal("You are") OR UO.InJournal("You lose") OR UO.Timer()>LastTimer+200
       UO.DeleteJournal()
       wait(200)
 wend
endif  
end sub


#######################################
sub eat()
VAR LastTimer
  UO.DeleteJournal()
  repeat
  LastTimer=UO.Timer()
  UO.findtype(food,-1,'0x4001ABF5')
    if UO.findcount('finditem') then
       uo.print('eat')
       UO.Useobject('finditem')
       wait(500)
    else
       return
    end if
  Until UO.InJournal("stuffed!") OR UO.InJournal("think") or UO.InJournal("found") OR UO.Timer()>LastTimer+200
end sub
################################
sub unload(PX,PY)
 uo.Print('Loaded')
 uo.say("Go")
 wait(100)
 Recall('bank')
 Razg()
 wait(100)
 takereg()
 wait(100)
 Recall('mine')
 uo.DeleteJournal()    
 vozvrat(PX,PY)
end sub
########################################
sub ressurect1(PX,PY)
 CheckLag()
 UO.LClick(17,13)
 wait(1000)
 CheckLag()
 UO.LClick(17,61)
 wait(1000)
 CheckLag()
 uo.useobject('0x40FD37A9')
 wait(100)
 uo.useobject('backpack')
 wait(1000)
 uo.say('bank')
 wait(500)
 takereg()
 wait(1000)
 eat()
 wait(180000)
 Recall('mine')
 uo.DeleteJournal()    
 vozvrat(PX,PY)  
end sub
#############################
sub ressurect(PX,PY)
 UO.Exec('warmode 0')
 CheckLag()
 UO.LClick(17,13)
 wait(1000)
 CheckLag()
 UO.LClick(17,61)
 wait(1000)
 CheckLag()
 WalkN(1483,1636,'')
 WalkN(1480,1639,'')
 WalkN(1480,1647,'')
 WalkN(1468,1649,'')
 WalkN(1460,1657,'')
 WalkN(1460,1684,'')
 WalkN(1463,1690,'')
 WalkN(1463,1697,'')
 WalkN(1442,1697,'')
 WalkN(1430,1697,'')
 WalkN(1430,1691,'')
 WalkN(1428,1689,'')
 WalkN(1428,1684,'')
 WalkN(1428,1680,'')
 WalkN(1426,1678,'')
 uo.useobject('0x40021D98')
 wait(100)
 uo.useobject('backpack')
 wait(1000)
 uo.say('bank')
 wait(500)
 takereg()
 wait(1000)
 eat()
 Recall('mine')
 uo.DeleteJournal()    
 vozvrat(PX,PY)  
end sub
##############################
sub med()
VAR LastTimer
UO.DeleteJournal()
while UO.Mana<UO.Int
LastTimer=UO.Timer()
UO.UseSkill('Meditation')
repeat
  wait(100)
until UO.InJournal("You are") OR UO.InJournal("You lose") OR UO.Timer()>LastTimer+200
UO.DeleteJournal()
wait(200)
wend
end sub
#########################################
sub takereg()
DIM reg[3]
var i,n
reg[1]='0x0F86'; MR
reg[2]='0x0F7A'; BP
reg[3]='0x0F7B'; BM

UO.UseObject(RC)
for i=1 to 3
  while UO.Count(reg[i])<5
    UO.FindType(reg[i],-1,RC)
    n=UO.Count(reg[i])
    UO.Grab(str(5-n),'finditem')
    wait(200)
    CheckLag()
  wend  
next
;UO.UseObject(Dagg)
; if not UO.count('0x0F51') then
;      UO.FindType('0x0F51',-1,Dagg)
;      IF uo.findcount() then
;         UO.Grab(str(1),'finditem')
;         wait(200)
;         CheckLag()
;      endif  
; endif
;  if not UO.count('0x0E21') then
;      UO.FindType('0x0E21',-1,Dagg)
;            n=UO.Count(reg[i])
;      IF uo.findcount() then
;         UO.Grab(str(12-n),'finditem')
;         wait(200)
;         CheckLag()
;      endif  
; endif
end sub
#########################################
sub CheckLag()
UO.DeleteJournal()
UO.Click('backpack')
repeat
wait(500)
until UO.InJournal('Backpack')
end sub
######################################
sub Reconnect()
var ReconnectTime,rFlag
ReconnectTime='0'
rFlag=1
repeat
while (uo.ObjAtLayer('Bpack')=='')
if rFlag then
ReconnectTime=MakeTime()
rFlag=0
end if
wait(20000)
uo.Say('')
wait(3000)
uo.Say('')
wait(3000)
uo.Say('')
wait(3000)
uo.LDblClick(357,164)
uo.LClick(616,459)
wait(3000)
wend
wait(3000)
if (rFlag==0) and (ReconnectTime<>'0') then
uo.TextOpen()
uo.TextPrint('Disconnected & Reconnected @ '+ReconnectTime)
rFlag=1
ReconnectTime='0'
end if
until false
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 = STR(UO.Date())
 D = ""
 For i = 0 To Len(Ret)
    D = Ret[Len(Ret)-i] + D
    If (I == 2) OR (I == 4) Then
       D = "." + D
    EndIf
 Next    
 Ret = T + " @ " + D
 RETURN Ret
end sub
####################################
sub Hid()
while not uo.Hidden()
uo.exec('warmode 0')
uo.Print('Hiding...')
uo.UseSkill('Hiding')
wait(4000)
wend
wait(100)
end sub
#################################
sub Recall(dest)
var b
uo.print('Recoll')
for b=1 to 1
  uo.deletejournal()
  uo.cast('Recall',dest)
  if WaitForRecall()==1 then
    return 1
  end if
next
return 0
end sub
###################################
sub WaitForRecall()
var Text1=uo.getname()+": The spell fizzles."
var mess='',lastX=uo.getX(),lastY=uo.getY()
for var v=0 to 200
  mess=uo.journal(0)
  if uo.Journal(0)==Text1 then
    return 0
  end if
  if uo.getX()<>lastX OR uo.getY()<>LastY then
    return 1
  end if
  wait(50)
next
return 0
end sub
################################  
sub killelem()
VAR LastTimer, Elem ,i
LastTimer=UO.Timer()
 UO.DeleteJournal()
UO.FindType('0x000E',-1,'ground')
Elem=UO.GetSerial('finditem')
UO.Exec('warmode 1')
UO.Attack(Elem)
;WalkN(0,0,Elem)
UO.Say('Dye, mother fucker!')
repeat
     wait(2000)
 until UO.InJournal('Body') OR LastTimer+300<UO.Timer() or uo.dead(Elem)
UO.Exec('warmode 0')
wait(100)
LastTimer=UO.Timer()
if UO.Life<50 and UO.Count('0x0E21') then
 repeat
   UO.BandageSelf()
   wait(4000)
 until UO.Life>170 OR LastTimer+300<UO.Timer()
endif
loot()
WalkN(q,w,'')
end sub
##################################
sub loot()
DIM R[5]
var a
R[1] = 0x0EED # деньги
R[2] = 0x09AA # пандоры
R[3] = 0x19B9 # руда
R[4] = 0x0F8A # pig iron
R[5] = 0x19BA # руда, 2 штучки

UO.UseObject('lastcorpse')
wait(100)
uo.exec("warmode '0'")
uo.waittargetobject('lastcorpse')
uo.usetype(0x0F51)
wait(500)

for a=1 to 5
uo.findtype(R[a],"-1","lastcorpse")
if UO.FindCount()>0 and Uo.GetDistance("lastcorpse")<=2 then
UO.Grab("0","finditem")
wait(1500)
end if
wait(10)
next
end sub
##############################
#==============================================================
#  WalkN(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!
#       serial - Serial of target or "" - string
#     walkwait - delay after keypress
#     Example:
#     WalkN(2080,2113,'') - go to coordinates
#     WalkN(0,0,'0x12345678') - go to target position
#--------------------------------------------------------------
sub WalkN(x,y,Target)
 VAR i,StepSucess
 VAR dx,dy,Exit=0
 
 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
          StepSucess=Go(3,40,300);SE - DownArrow
          If StepSucess==-1 Then
             StepSucess=Go(7,38,300);WN - UpArrow
             StepSucess=Go(1,39,300);NE - RightArrow
             If StepSucess==-1 Then
                StepSucess=Go(5,37,300);SW - LeftArrow
             Endif
          Endif
       Endif

       If dx>0 AND dy<0 Then
          StepSucess=Go(1,39,300);NE - RightArrow
          If StepSucess==-1 Then
             StepSucess=Go(5,37,300);SW - LeftArrow
             StepSucess=Go(3,40,300);SE - DownArrow
             If StepSucess==-1 Then
                StepSucess=Go(7,38,300);WN - UpArrow
             Endif
          Endif
       Endif

       If dx<0 AND dy>0 Then
          StepSucess=Go(5,37,300);SW - LeftArrow
          If StepSucess==-1 Then
             StepSucess=Go(1,39,300);NE - RightArrow
             StepSucess=Go(7,38,300);WN - UpArrow
             If StepSucess==-1 Then
                StepSucess=Go(3,40,300);SE - DownArrow
             Endif
          Endif
       Endif

       If dx<0 AND dy<0 Then
          StepSucess=Go(7,38,300);WN - UpArrow
          If StepSucess==-1 Then
             StepSucess=Go(3,40,300);SE - DownArrow
             StepSucess=Go(5,37,300);SW - LeftArrow
             If StepSucess==-1 Then
                StepSucess=Go(1,39,300);NE - RightArrow
             Endif
          Endif
       Endif

    Endif
 
    If dx<>0 AND dy==0 Then
       If dx>0 Then
          StepSucess=Go(2,34,300);E - PgDown
          If StepSucess==-1 Then
             StepSucess=Go(3,40,300);SE - DownArrow
             If StepSucess==-1 Then
                StepSucess=Go(1,39,300);NE - RightArrow
             Endif
             StepSucess=Go(2,34,300);E - PgDown
          Endif
       Endif
       
       If dx<0 Then
          StepSucess=Go(6,36,300);W - Home
          If StepSucess==-1 Then
             StepSucess=Go(7,38,300);WN - UpArrow
             If StepSucess==-1 Then
                StepSucess=Go(5,37,300);SW - LeftArrow
             Endif
             StepSucess=Go(6,36,300);W - Home
          Endif
       Endif
    Endif


    If dx==0 AND dy<>0 Then
       If dy>0 Then
          StepSucess=Go(4,35,300);S - End
          If StepSucess==-1 Then
             StepSucess=Go(3,40,300);SE - DownArrow
             If StepSucess==-1 Then
                StepSucess=Go(5,37,300);SW - LeftArrow
             Endif
             StepSucess=Go(4,35,300);S - End
          Endif
       Endif
       
       If dy<0 Then
          StepSucess=Go(0,33,300);N - PgUp
          If StepSucess==-1 Then
             StepSucess=Go(1,39,300);NE - RightArrow
             If StepSucess==-1 Then
                StepSucess=Go(7,38,300);WN - UpArrow
             Endif
             StepSucess=Go(0,33,300);N - PgUp
          Endif
       Endif
    Endif
 Wend
end sub


sub Go(dir,key,walkwait)
 VAR x,y, OldDir

 x=UO.GetX()
 y=UO.GetY()
 OldDir=UO.GetDir()
;hid()
 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()
 Endif

 If x==UO.GetX() AND y==UO.GetY() AND OldDir<>UO.GetDir() Then
    UO.Press(key)
    wait(walkwait)
 Endif

 If x==UO.GetX() AND y==UO.GetY() Then
    CheckLag()
 Endif
 
 If x==UO.GetX() AND y==UO.GetY() Then
    UO.Print("Zasada!")
    return -1
 Else
    return 1
 Endif
end sub
###########################################
sub pod()
UO.Say('Bank')
repeat
  uo.findtype('0x19B9',-1,'ground')
  if UO.FindCount() and Uo.GetDistance('finditem')<3 then
    uo.moveitem('finditem','1000','0x40FA6B85')
    wait(100)
  end if
  wait(1000)
    uo.print("1")
 until not UO.FindCount()
end sub
################################################
sub boulder()
if uo.count('0x0E85') then
 while uo.count('0x134F')
    uo.waittargettype('0x134F')
    uo.usetype('0x0E85')
    wait(100)
 wend
 uo.findtype('0x134F',-1,'ground')
    if uo.FindCount()then
      uo.waittargetobject('finditem')
      uo.usetype('0x0E85')
    endif
    wait(2000)
endif
end sub
################################################
sub minesh(PX,PY)
 var x, y,z
 VAR LastTimer
 uo.LastTile()

 UO.Set('finddistance','2')
 z=UO.GetZ("self")
    for x=-2 to 2
       for y=-2 to 2
        ;Hid()      
          UO.Print(str(x)+" "+str(y))
          Repeat
             if UO.InJournal('TORMOZ') then
               pause()
             endif
             if uo.injournal('boulder')or UO.count('0x134F') then
                boulder()
                UO.Print('boulder')
             endif
             If UO.targeting() then
                uo.canceltarget()
             endif
             UO.DeleteJournal()
             UO.Warmode("0")
             UO.WaitTargetTile("1339",STR(UO.GetX()+x),STR(UO.GetY()+Y),str(z))
             UO.UseType('0x0F39')
             LastTimer=UO.Timer()
             Repeat
                wait(500)
             Until UO.InJournal("You put") or UO.InJournal("can't see") or uo.injournal('boulder') or UO.InJournal("heavy") or UO.InJournal("location") or UO.InJournal("no ore") or UO.InJournal("but fail") or UO.InJournal("far away") or UO.InJournal("in rock") or UO.InJournal("must wait") or UO.InJournal("nothing") or UO.InJournal("elsewhere") or UO.InJournal("where it") OR UO.Timer()>LastTimer+200
             lookout()

          Until UO.InJournal("nothing") or UO.InJournal("elsewhere") or UO.InJournal("no ore here") or UO.InJournal("location") or UO.InJournal("far away") or UO.InJournal("in rock") or UO.InJournal("where it")
           
             if UO.Weight>(uo.str*4 - 20) then
                unload(PX,PY)
             endif
        ;wait(2000)  ;на случай флуда в окне
       next
    next
end sub
####################



Сообщение отредактировал Deidan - 22.10.2005, 20:55
Пользователь в офлайнеКарточкаОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Till I Come
сообщение 5.11.2005, 23:27
Сообщение #3


Подозрительный тип
Group Icon

Группа: Пользователи
Сообщений: 57
Регистрация: 27.9.2005
Пользователь №: 1 888
Спасибо сказали: 0 раз(а)



Скрипт Ревы на копку.
Перед копанием, чар не уходит в хайд.
Подскажите как это исправить...
Пользователь в офлайнеКарточкаОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Jikus
сообщение 6.11.2005, 7:59
Сообщение #4


Ступивший на тропу
Group Icon

Группа: Пользователи
Сообщений: 518
Регистрация: 30.5.2005
Пользователь №: 1 070
Спасибо сказали: 5 раз(а)
Класс: Рейнджер



Исходный код
    for x=-2 to 2
       for y=-2 to 2
      ;Hid()      
          UO.Print(str(x)+" "+str(y))
          Repeat


строка ;Hid() закоментирована
убери ; и все

Сообщение отредактировал Jikus - 6.11.2005, 8:00
Пользователь в офлайнеКарточкаОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
KaXyH
сообщение 1.12.2005, 21:49
Сообщение #5


Подозрительный тип
Group Icon

Группа: Пользователи
Сообщений: 98
Регистрация: 24.10.2005
Пользователь №: 2 104
Спасибо сказали: 0 раз(а)
Класс: Рейнджер



Mining Dedan пишет авто трагет канслед но итим фоунд и на этом зацыклился(((
Пользователь в офлайнеКарточкаОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
DjuxaDram
сообщение 7.12.2005, 8:42
Сообщение #6


Гость









Реал скрипт если уметь им ползоватса smile.gif
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Reider(UID)
сообщение 14.12.2005, 15:27
Сообщение #7


Реальный чувак
Group Icon

Группа: Пользователи
Сообщений: 370
Регистрация: 10.12.2005
Из: Латвия
Пользователь №: 2 384
Спасибо сказали: 2 раз(а)
Класс: Вампир



ХЗ почему но он не ресаитса и не литит в Брит через Хелп sad.gif
Пользователь в офлайнеКарточкаОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 

Ответить в эту темуОткрыть новую тему
> >
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия Сейчас: 22.9.2018, 3:58
Design: Fisana  © 2005-2006 IBR Team