Yoko
http://forum.yoko.com.ua/

DRW (2009) by Dark Enemy
http://forum.yoko.com.ua/viewtopic.php?f=20&t=15144
Page 4 of 6

Author:  Nmy [ 2009-11-05 13:22:09 ]
Post subject: 

Code:
sub Ress() 
   VAR n
   Dim ress[2]
   ress[1] = '0x0192'
   ress[2] = '0x0193' 
   for n = 1 To 2
      if uo.countground(ress[n]) then
         uo.msg('2')
         wait(500)
         uo.msg('1')
         uo.waittargetground(ress[n])
         uo.usetype('0x0E21')
         uo.print('resurrecting')
         return
      end if
   next
   uo.waittargetobject('laststatus')
   uo.usetype('0x0E21')    
end sub

Author:  Nmy [ 2009-11-05 13:44:09 ]
Post subject: 

Code:
sub shrinkdrake()
   if uo.countground('0x003B') then
      uo.waittargetground('0x003B')
      uo.usetype('0x0F0E','0x0388')
      uo.deletejournal()
      repeat
         wait(100)
      until uo.injournal("You can't shrink|You put the empty bottle")
   endif   
   if uo.countground('0x20D6') then
      uo.moveitem('~0x20D6')
   endif      
endsub
sub killdrake()
   if uo.count('0x20D6') then
      uo.waittargetobject('lastattack')
      uo.usetype('0x20D6')
      uo.msg('all kill')
   endif   
endsub

Author:  Nmy [ 2009-11-08 17:52:47 ]
Post subject: 

Code:
sub RegCheck()
   VAR n, q, c
   Dim Req[50] ; Requirements
   Req[0]='0x0F7A' ; regi bp
   Req[1]='0x0F7B' ; regi bm
   Req[2]='0x0F86' ; regi mr
   Req[3]='0x0F88' ; regi ns
   Req[4]='0x0F8D' ; regi ss
   Req[5]='0x0F84' ; regi ga
   Req[6]='0x0F85' ; regi gs
   Req[7]='0x0F8C' ; regi sa
   Req[8]='0x0F0E' ; gh
   Req[9]='0x0F0E' ; mana
   Req[10]='0x0F0E' ; refresh
   Req[11]='0x0E21' ; bandages
   Req[12]='0x1F52' ; paralyze scrolls
   Req[13]='0x0F0E' ; poison
   Req[14]='0x0F3F' ; arrows
   Req[15]='0x0F0E' ; empty bottles
   Req[16]='0x0E20' ; bloody bandages
   Req[17]='0x1F5F' ; fs
   Req[18]='0x1BFB' ; bolts
   Req[19]='0x0F03' ; Antifreeze
   Req[20]='0x0F0E' ; Invisibility
   Req[21]='0x1F50' ; Magic Reflection
   
   Dim Qnt[50] ; Quantity
   Qnt[0]=25 ; regi
   Qnt[1]=25 ; regi
   Qnt[2]=55 ; regi
   Qnt[3]=45 ; regi
   Qnt[4]=55 ; regi
   Qnt[5]=55 ; regi
   Qnt[6]=25 ; regi
   Qnt[7]=25 ; regi
   Qnt[8]=15 ; gh
   Qnt[9]=15 ; mana
   Qnt[10]=10 ; refresh
   Qnt[11]=100 ; bandages
   Qnt[12]=20 ; paralyze scrolls
   Qnt[13]=3 ; poison
   Qnt[14]=0 ; arrows
   Qnt[15]=0 ; empty bottles
   Qnt[16]=0 ; bloody bandages
   Qnt[17]=10 ; fs
   Qnt[18]=50 ; bolts
   Qnt[19]=3 ; Antifreeze
   Qnt[20]=0 ; Invisibility
   Qnt[21]=0 ; Magic Reflection
   
   Dim Clr[50] ; Color
   Clr[0]='0x0000' ; regi
   Clr[1]='0x0000' ; regi
   Clr[2]='0x0000' ; regi
   Clr[3]='0x0000' ; regi
   Clr[4]='0x0000' ; regi
   Clr[5]='0x0000' ; regi
   Clr[6]='0x0000' ; regi
   Clr[7]='0x0000' ; regi
   Clr[8]='0x09BB' ; gh
   Clr[9]='0x09DF' ; mana
   Clr[10]='0x0997' ; refresh
   Clr[11]='0x0000' ; bandages
   Clr[12]='0x0000' ; paralyze scrolls
   Clr[13]='0x0998' ; poison
   Clr[14]='0x0000' ; arrows
   Clr[15]='0x0000' ; empty bottles
   Clr[16]='0x0000' ; bloody bandages
   Clr[17]='0x0000' ; fs
   Clr[18]='0x0000' ; bolts
   Clr[19]='0x09CF' ; Antifreeze
   Clr[20]='0x0631' ; Invisibility
   Clr[21]='0x0000' ; Magic Reflection
   
   if (uo.getserial('backpack') <> uo.getserial('lastcontainer')) then
      c=uo.getserial('lastcontainer')
      for n=0 to 21
         while uo.count(Req[n],Clr[n])<>Qnt[n]
            q=Qnt[n]-uo.count(Req[n],Clr[n])
            if q>0 then
               uo.findtype(Req[n],Clr[n],c)
               if uo.findcount() then
                  uo.moveitem('finditem',STR(q),'backpack',141,134,0)
                  checklag()
                  wait(600)
               else
                  uo.msg(' item Req('+str(n)+') NOT FOUND ')
                  return
               endif
            else
               q=-q            
               uo.findtype(Req[n],Clr[n],'backpack')   
               if uo.findcount() then
                  uo.moveitem('finditem',STR(q),c)
                  checklag()
                  wait(600)
               endif
            endif
         wend
      next
   endif
   uo.print(' -= done =- ')
endsub

Author:  Nmy [ 2009-11-08 17:53:36 ]
Post subject: 

Code:
sub unloadregs()
   VAR n, q, c
   Dim Req[50] ; Requirements
   Req[0]='0x0F7A' ; regi
   Req[1]='0x0F7B' ; regi 
   Req[2]='0x0F86' ; regi 
   Req[3]='0x0F88' ; regi 
   Req[4]='0x0F8D' ; regi
   Req[5]='0x0F84' ; regi
   Req[6]='0x0F85' ; regi
   Req[7]='0x0F8C' ; regi
   Req[8]='0x0F0E' ; gh
   Req[9]='0x0F0E' ; mana
   Req[10]='0x0F0E' ; refresh
   Req[11]='0x0E21' ; bandages
   Req[12]='0x1F52' ; paralyze scrolls
   Req[13]='0x0F0E' ; poison
   Req[14]='0x0F3F' ; arrows
   Req[15]='0x0F0E' ; empty bottles
   Req[16]='0x0E20' ; bloody bandages
   Req[17]='0x1F5F' ; fs   
   Req[18]='0x1BFB' ; bolts
   Req[19]='0x0F03' ; Antifreeze
   if (uo.getserial('backpack') <> uo.getserial('lastcontainer')) then
      c=uo.getserial('lastcontainer')
      for n=0 to 19
         uo.findtype(Req[n],-1,'my')
         while uo.findcount()
            uo.moveitem('finditem',0,c)
            checklag()
            wait(700)
            uo.findtype(Req[n],-1,'my')
         wend
      next
   endif
   uo.print(' -= done =- ')
endsub

Author:  Nmy [ 2009-11-08 18:02:03 ]
Post subject: 

Code:
sub main()
   while 1
      checklag()
      uo.useskill('Hiding')
      wait(3100)
   wend
end sub
sub checklag()
   repeat
      UO.DeleteJournal()
      UO.Click('backpack')
   until backpack()==1
endsub
sub backpack()
   var n
   for n=0 to 200
      if uo.injournal('a backpack') then
         return 1
      endif
      wait(200)
   next
endsub

Author:  Nmy [ 2009-11-08 21:57:06 ]
Post subject: 

Code:
sub main()
   uo.addobject('dagger')
   while uo.targeting()
      wait(500)
   wend
   uo.addobject('chest')
   while uo.targeting()
      wait(500)
   wend
   uo.useobject('chest')
   wait(1000)
   while uo.skillval('Poisoning',1)<1000
      if uo.count('0x0F0E','0x0998')<5 then
         uo.findtype('0x0F0E','0x0998','chest')
         if uo.findcount() then
            uo.moveitem('finditem','50','backpack')
            checklag()
            wait(600)
         else
            return
         endif
      endif
      uo.findtype('0x0F0E','0x0998','backpack')
      if uo.findcount() then
         uo.waittargetobject('dagger','finditem')
         uo.useskill('Poisoning')
         checklag()
         wait(3600)
      endif
   wend
endsub
sub checklag()
   repeat
      UO.DeleteJournal()
      UO.Click('backpack')
   until backpack()==1
endsub
sub backpack()
   var n
   for n=0 to 200
      if uo.injournal('a backpack') then
         return 1
      endif
      wait(200)
   next
endsub

Author:  Nmy [ 2009-11-08 23:01:58 ]
Post subject: 

Code:
sub main()#poison
   var chest='0x404AEDFD'
   var dropbag='0x402B76B5'
   uo.automenu('What sort of potion do you want to','(2)')
   while 1
      if uo.ns<10 then
         uo.findtype('0x0F88',-1,chest)
         if uo.findcount() then
            uo.moveitem('finditem','100','backpack')
            checklag()
            wait(700)
         endif
      endif
      if uo.count('0x0F0E','0x0000')<10 then
         uo.findtype('0x0F0E','0x0000',chest)
         if uo.findcount() then
            uo.moveitem('finditem','100','backpack')
            checklag()
            wait(700)
         endif
      endif
      checklag()
      uo.usetype('0x0F88')
      waitf(9100)
      if uo.count('0x0F0E','0x0998')>10 then
         uo.findtype('0x0F0E','0x0998','backpack')
         if uo.findcount() then
            uo.moveitem('finditem',0,dropbag)
            checklag()
            wait(700)
         endif
      endif      
   wend
endsub
sub checklag()
   repeat
      UO.DeleteJournal()
      UO.Click('backpack')
   until backpack()==1
endsub
sub backpack()
   var n
   for n=0 to 200
      if uo.injournal('a backpack') then
         return 1
      endif
      wait(200)
   next
endsub

Author:  Nmy [ 2009-11-08 23:04:08 ]
Post subject: 

Code:
sub main()#gh
   var chest='0x404AEDFD'
   var dropbag='0x402B76B5'
   uo.automenu('What sort of potion do you want to','(3)')
   while 1
      if uo.gs<10 then
         uo.findtype('0x0F85',-1,chest)
         if uo.findcount() then
            uo.moveitem('finditem','100','backpack')
            checklag()
            wait(700)
         endif
      endif
      if uo.count('0x0F0E','0x0000')<10 then
         uo.findtype('0x0F0E','0x0000',chest)
         if uo.findcount() then
            uo.moveitem('finditem','100','backpack')
            checklag()
            wait(700)
         endif
      endif
      checklag()
      uo.usetype('0x0F85')
      wait(9100)
      if uo.count('0x0F0E','0x09BB')>10 then
         uo.findtype('0x0F0E','0x09BB','backpack')
         if uo.findcount() then
            uo.moveitem('finditem',0,dropbag)
            checklag()
            wait(700)
         endif
      endif      
   wend
endsub
sub checklag()
   repeat
      UO.DeleteJournal()
      UO.Click('backpack')
   until backpack()==1
endsub
sub backpack()
   var n
   for n=0 to 200
      if uo.injournal('a backpack') then
         return 1
      endif
      wait(200)
   next
endsub

Author:  Nmy [ 2009-11-08 23:05:15 ]
Post subject: 

Code:
sub main()#total refresh
   var chest='0x404AEDFD'
   var dropbag='0x402B76B5'
   uo.automenu('What sort of potion do you want to','(2)')
   while 1
      if uo.bp<10 then
         uo.findtype('0x0F7A',-1,chest)
         if uo.findcount() then
            uo.moveitem('finditem','100','backpack')
            checklag()
            wait(700)
         endif
      endif
      if uo.count('0x0F0E','0x0000')<10 then
         uo.findtype('0x0F0E','0x0000',chest)
         if uo.findcount() then
            uo.moveitem('finditem','100','backpack')
            checklag()
            wait(700)
         endif
      endif
      checklag()
      uo.usetype('0x0F7A')
      wait(9100)
      if uo.count('0x0F0E','0x0997')>10 then
         uo.findtype('0x0F0E','0x0997','backpack')
         if uo.findcount() then
            uo.moveitem('finditem',0,dropbag)
            checklag()
            wait(700)
         endif
      endif      
   wend
endsub
sub checklag()
   repeat
      UO.DeleteJournal()
      UO.Click('backpack')
   until backpack()==1
endsub
sub backpack()
   var n
   for n=0 to 200
      if uo.injournal('a backpack') then
         return 1
      endif
      wait(200)
   next
endsub

Author:  Nmy [ 2009-11-08 23:06:10 ]
Post subject: 

Code:
sub main()#total mana
   var chest='0x404AEDFD'
   var dropbag='0x402B76B5'
   uo.automenu('What sort of potion do you want to','(2)')
   while 1
      if uo.count('0x0F87')<10 then
         uo.findtype('0x0F87',-1,chest)
         if uo.findcount() then
            uo.moveitem('finditem','100','backpack')
            checklag()
            wait(700)
         endif
      endif
      if uo.count('0x0F0E','0x0000')<10 then
         uo.findtype('0x0F0E','0x0000',chest)
         if uo.findcount() then
            uo.moveitem('finditem','100','backpack')
            checklag()
            wait(700)
         endif
      endif
      checklag()
      uo.usetype('0x0F87')
      waitf(9100)
      if uo.count('0x0F0E','0x09DF')>10 then
         uo.findtype('0x0F0E','0x09DF','backpack')
         if uo.findcount() then
            uo.moveitem('finditem',0,dropbag)
            checklag()
            wait(700)
         endif
      endif      
   wend
endsub
sub checklag()
   repeat
      UO.DeleteJournal()
      UO.Click('backpack')
   until backpack()==1
endsub
sub backpack()
   var n
   for n=0 to 200
      if uo.injournal('a backpack') then
         return 1
      endif
      wait(200)
   next
endsub

Author:  Nmy [ 2009-11-08 23:10:52 ]
Post subject: 

Качает тинкер до 48.5 на gears и потом делает lockpicks.

Code:
sub main()
   var chest='0x404CA4F5', flag
   if uo.skillval('Tinkering',1)<485 then
      uo.cancelmenu()
      uo.automenu('Tinkering','Parts')
      uo.automenu('Parts','gears')   
   else
      uo.cancelmenu()
      uo.automenu('Tinkering','Tools')
      uo.automenu('Tools','lockpick')   
      flag=2
   endif
   while 1
      if not uo.skillval('Tinkering',1)<485 && not flag==2 then
         uo.cancelmenu()
         uo.automenu('Tinkering','Tools')
         uo.automenu('Tools','lockpick')      
         flag=2
      endif
      if uo.count('0x1BEF','0x0000')<10 then
         uo.findtype('0x1BEF','0x0000',chest)
         if uo.findcount() then
            uo.moveitem('finditem','100','backpack')
            checklag()
            wait(600)
         endif
      endif
      if uo.count('0x1053')>50 then
         uo.findtype('0x1053',-1,'backpack')
         if uo.findcount() then
            uo.moveitem('finditem',0,chest)
            checklag()
            wait(600)
         endif
      endif
      if uo.count('0x14FB')>50 then
         uo.findtype('0x14FB',-1,'backpack')
         if uo.findcount() then
            uo.moveitem('finditem',0,chest)
            checklag()
            wait(600)
         endif
      endif
      checklag()
      uo.usetype('0x1EBC')
      waitforchange()
   wend
endsub
sub waitforchange()
   var n
   for n=1 to 100
      if uo.injournal('You put|failed.') then
         return
      endif
      wait(400)
   next
endsub
sub checklag()
   repeat
      UO.DeleteJournal()
      UO.Click('backpack')
   until backpack()==1
endsub
sub backpack()
   var n
   for n=0 to 200
      if uo.injournal('a backpack') then
         return 1
      endif
      wait(200)
   next
endsub

Author:  Nmy [ 2009-11-09 01:16:40 ]
Post subject: 

Code:
sub main() 
   var s, n
   Dim staff[2]
   staff[1]='0x13F8'
   staff[2]='0x13F9'
   for n=1 to 2
      uo.findtype(staff[n],-1,'my')
      if uo.findcount() then
         s=uo.getserial('finditem')
      endif
   next
   uo.addobject('thebeast')
   while uo.targeting()
      wait(500)
   wend   
   while not uo.dead()
      uo.msg('all release')
      checklag()
      #uo.useskill('Spirit Speak')
      uo.waittargetobject('thebeast')
      uo.useobject(s)
      tamingresult()
   wend
endsub
sub tamingresult()
   var n
   for n=0 to 200
      wait(400)   
      if uo.injournal('It seems|fail to tame|see the creature|already tame')  then
         return
      endif
   next
endsub
sub checklag()
   repeat
      UO.DeleteJournal()
      UO.Click('backpack')
   until backpack()==1
endsub
sub backpack()
   var n
   for n=0 to 200
      if uo.injournal('a backpack') then
         return 1
      endif
      wait(200)
   next
endsub

Author:  Nmy [ 2009-11-16 00:20:03 ]
Post subject: 

Code:
# 23.11.2009 
# 1# Mining Elemental hunter by Nmy a.k.a. Dark Enemy
# Суть скрипта - мининг по рункам. Запускать надо только sub main(). Нечего другого.
# Если чар жив, при запуске надо иметь в бекпаке руну к сундуку,
# если чар мертв, тогда просто запускайте скрипт.
# После запуска скрипт ищет кирку или лопату - автоматически.
# Требования перед запуском - реги bp bm mr ns ga в сундуке,
# бланк руны в мешке BlankRunebag,
# замарченые руны в Runebag (Чем больше, тем лучше. У меня где то 59 спотов),
# руна домой Runehome, прямо у сундука,
# инвизки в сундуке для рекола от пк и фарма елемов,
# скролы на Energy Vortex для фарма елемов,
# куча кирок в сундуке.
# При запуске чар должен иметь готовую руну домой в бекпаке. Других рун в бекпаке не должно быть.
##
# Запускается скрипт у сундука и записывается руна домой.
# Скрипт берет реги, 2 инвизки, скрол вортекса, если надо, кирку и улетает.
# Начинается копка. Через каждый тайл идет проверка на елема,
# если елем выха, плут или обсид - убивает елема, Vas An Ort, лутает руду, улетает, выгружается, берет руну в следующею шахту,
# Тщательно проверяется журнал на пк, исключая ('Elemental|Scorpion King|Giant Spider|Energy Vortex').
# Улетает от пк - пьет инвизку и делает рекол по рунбуке или руне,
# открываетcя окно текста TextOpen и пишется Nick @ время @ дата, например:
# Roland @ 15:59:20 @ 9.09.18
##
# Track World Items должен быть включен.
# Reconnector - включается, он просто заходит обратно, нет гарантии что скрипт будет дальше работать,
# но шанс на успех все таки есть.
##
# Добавлен ресс в Миноке. Чар ресается, летит домой, маркает руну домой, ищет кирку в сундуке, запускает мейн скрипт.
# Добавлены переменные для хелп кнопки, т.к. папердолл у каждого может быть в разных местах.
# Undead надо включить.
##
# Чар медитирует фулл ману перед реколом в шахту.
var Pickaxe, Runehome, Blankrune, Runinetu, Nrune, flagpk
var Runebook='0x403A779E' # Для рекола домой.
var Runenr='46' # Номер руны.
var Chest='0x403DDE5C' # Я лично поставил 2 сейфа рядом - 1 для ресурсов, 2й для руды.
var Orechest='0x404BE1AE' # Сюда кидают руду.
var Dropbag='0x400F04AB' # Пустой мешок куда кидают руны после обкопа.
var Runebag='0x402C79CB' # Руны куда лететь.
var Blankrunebag='0x4006A346' # Мешок с бланк рунами.
var rune='0x1F14' # Тип руны.
var homeX=1520 # Координаты где стоит чар у сундука.
var homeY=205 # Координаты где стоит чар у сундука.
var helpX=1398 # Переменные без кавычек!
var helpY=53 # Переменные без кавычек!
var recallrunebook=0 # Улетает от пк по рунбуке или по руне. 1-рунбук, 0-руна.
var food='0x09BB' # Тип еды. Будет брать по 2 и кушать.
sub main()
   var markflag
   uo.exec('exec Reconnector')
   if not uo.getglobal('flagRes')=='1' then
      uo.exec('exec Resurrector')
      uo.setglobal('flagRes','1')
   endif
   wait(1000)   
   uo.print('Dont forget track world items!')
   uo.findtype(rune,-1,'backpack')
   if uo.findcount() then
      Runehome=uo.getserial('finditem')
   else
      uo.print('Runehome not found! Terminate.')
      uo.exec('terminate all')
   endif
   Open(Chest)
   GrabBlankRune()
   while not uo.dead()
      Open(Runebag)
      uo.findtype(rune,-1,Runebag)
      while uo.findcount()
         uo.print('Медитируем')
         meditation(uo.int)
         Nrune=uo.getserial('finditem')
         uo.moveitem(Nrune,0,Dropbag)
         checklag()
         wait(700)
         RegCheck()
         RegCheck()
         grabinvis()
         GetPickaxe()
         grabvortex()
         toeat()
         RecallRune(Nrune)
         uo.ignorereset()
         markflag=0
         flagpk=0
         checkifelem()
         if uo.injournal('is attacking you') then
            uo.warmode(0)
            invis()
         endif
         if uo.injournal('The recall rune fades completely.') then
            markflag=1
            Mark(Blankrune,0)
            Runinetu=1
         endif
         mining()
         checkifelem()
         if not flagpk==1 then
            repeat
               RecallRune(Runehome)
            until uo.getx('self')==homeX && uo.getY('self')==homeY
         endif
         if uo.injournal('The recall rune fades completely.') then
            Open(Chest)
            if Runinetu==1 then
               GrabBlankRune()
            endif
            Mark(Blankrune,1)
            GrabBlankRune()
         endif
         Open(Chest)
         if Runinetu==1 then
            GrabBlankRune()
         endif
         if markflag==1 then
            uo.moveitem(Nrune,0,Dropbag)
            checklag()
            wait(700)
         endif
         Dropore()
         if flagpk==1 then
            uo.print(' ждем 100 секунд ')
            wait(100000)
         endif
         Open(Runebag)
         uo.findtype(rune,-1,Runebag)
      wend
      DropbagCheck()
   wend
endsub
sub Resurrector()
   var oldX,oldY
   while 1
      if uo.dead() then
         uo.exec('terminate main')
         uo.exec('terminate Reconnector')
         uo.TextOpen()
         uo.TextPrint('- dead - @ '+MakeTime())
         wait(5000)
         oldX = Uo.GetX()
         oldY = Uo.GetY()
         uo.useobject('self')
         checklag()
         wait(700)
         repeat
            uo.lclick(helpX,helpY)
            checklag()
            wait(700)
            uo.lclick(264,308)
            checklag()
            wait(700)     
            uo.lclick(175,203)
            checklag()
            wait(5000)   
         until oldX<>UO.GetX() OR oldY<>UO.GetY()
         repeat
            uo.press(39)
            wait(2000)
         until UO.GetY()<534
         repeat
            uo.useobject('0x4001BDF0')
            wait(3000)
         until uo.life>0
         Open(uo.getserial('backpack'))
         wait(100000)
         oldX = Uo.GetX()
         oldY = Uo.GetY()         
         uo.recall(Runebook,Runenr)
         repeat
            wait(700)
         until oldX<>uo.getx('self') && oldY<>uo.gety('self')
         Open(Chest)
         RegCheck()
         GrabBlankRune()
         Mark(Blankrune,1)
         if uo.waiting() then
            uo.canceltarget()
         endif
         uo.exec('exec main')
      endif
      wait(5000)
   wend
endsub
sub checkifelem()
   uo.ignorereset()
   uo.findtype('0x0010',-1,'ground')
   if uo.findcount() then
      invis()
   endif
endsub
sub GetPickaxe()
   var n
   dim instrument[4]
   instrument[1]='0x0F39'
   instrument[2]='0x0F3A'
   instrument[3]='0x0E86'
   instrument[4]='0x0E85'
   if uo.count('0x0F39')==0 and uo.count('0x0F3A')==0 and uo.count('0x0E86')==0 and uo.count('0x0E85')==0 then
      for n=1 to 4
         uo.findtype(instrument[n],-1,Chest)
         if uo.findcount() then
            pickaxe=uo.getserial('finditem')
            uo.moveitem('finditem',0,'backpack')
            checklag()
            wait(700)
            return
         endif
      next
   else
      for n=1 to 4
         uo.findtype(instrument[n],-1,'my')
         if uo.findcount() then
            pickaxe=uo.getserial('finditem')
            return
         endif
      next   
   endif
   while 1
      uo.print(' pickaxe not found ')
      wait(3000)
   wend
endsub
sub Tohide()
   while not uo.Hidden()
      uo.warmode(0)
      uo.Print('Пытаемся уйти в хайд...')
      uo.UseSkill('Hiding')
      wait(4000)
   wend
end sub
sub checkelem()
   var n
   var flagvortex, Elemental, flaginvis
   Dim ore[2]
   ore[1]='0x19B8'
   ore[2]='0x19B9'
   uo.set('finddistance','3')
   uo.findtype('0x0010',-1,'ground')
   while uo.findcount()
      Elemental=uo.getserial('finditem')
      if checkcolor(Elemental)==1 then
         flagvortex=1
         if not flaginvis==1 then
            invis()
            flaginvis=1
         endif
         castvortex()
         uo.textopen()
         uo.textprint(uo.getname(Elemental)+' @ '+MakeTime())
         for n=0 to 15
            wait(1000)
            checkpk()
            if flagpk==1 then
               return
            endif
         next
      else
         uo.ignore(Elemental)
      endif
      uo.findtype('0x0010',-1,'ground')
   wend
   if flagvortex==1 then
      repeat
         checklag()
         while uo.mana<22
            wait(500)
         wend
         uo.waittargetobject('self')
         uo.cast('Mass Dispel')
         WaitForMana()
         wait(1000)
      until not uo.injournal('The spell fizzles')
      for n=1 to 2
         uo.findtype(ore[n],-1,'ground')
         while uo.findcount()
            uo.moveitem('finditem',-1,'backpack')
            checklag()
            wait(700)
            uo.findtype(ore[n],-1,'ground')
         wend
      next
      return 1
   endif
endsub
sub checkcolor(obj)
   var n, c
   Dim color[14]
   color[1]='0x09DA' ; vulcan
   color[2]='0x0060' ; aqua
   color[3]='0x0BA7' ; eldar
   color[4]='0x09E6' ; elvin
   color[5]='0x09B9' ; acid
   color[6]='0x09D3' ; steel
   color[7]='0x008F' ; sand rock
   color[8]='0x09EC' ; blood crest
   color[9]='0x09F0' ; gorgan
   color[10]='0x010F' ; krynite
   color[11]='0x09A4' ; crystaline
   color[12]='0x0085' ; dragon
   color[13]='0x08AF' ; plutonium
   color[14]='0x0028' ; obsidian
   c=uo.getcolor(obj)
   for n=1 to 14
      if c == color[n] then
         return 1
      endif
   next
endsub
sub castvortex()
   repeat
      checklag()
      uo.waittargettile('1341',str(uo.getx()),str(uo.gety()),str(uo.getz()))
      uo.resend()
      uo.findtype('0x1F66',-1,'backpack')
      if uo.findcount() then
         while uo.mana<13
            wait(500)
         wend
         uo.useobject('finditem')
      else
         while uo.mana<27
            wait(500)
         wend
         uo.cast('Energy Vortex')
      endif
      WaitForMana()
   until not uo.injournal('The spell fizzles')
endsub
sub WaitForMana()
   VAR w,m
   m=uo.mana
   for w=0 to 100
      if uo.mana<m then
         return
      endif
      if uo.injournal('is attacking you') then
         checklag()
         invis()
      endif
      wait(200)
   next
endsub
sub grabvortex()
   var kol=1, q
   uo.findtype('0x1F66',-1,'backpack')
   if uo.getquantity('finditem')<kol then
      q=kol-uo.getquantity('finditem')
      uo.print('Ищем вортекс')
      uo.findtype('0x1F66',-1,Chest)
      if uo.findcount() then
         uo.moveitem('finditem',STR(q),'backpack')
         checklag()
         wait(700)
      endif
   endif
endsub
sub toeat()
   repeat
      uo.findtype(food,-1,Chest)
      if uo.findcount() then
         uo.moveitem('finditem','2','backpack')
         checklag()
         wait(600)
         repeat
            uo.usetype(food)
            wait(500)
         until uo.injournal('full to eat') or uo.count(food)==0
      endif
   until uo.injournal('full to eat')
   uo.findtype(food,-1,'backpack')
   if uo.findcount() then
      uo.moveitem('finditem',0,Chest)
      checklag()
      wait(600)
   endif   
endsub
sub Open(what)
   uo.useobject(what)
   checklag()
   wait(700)
endsub
sub Dropore()
   var n
   Dim ore[5]
   ore[0]='0x19BA'
   ore[1]='0x19B7'
   ore[2]='0x19B8'
   ore[3]='0x19B9'
   ore[4]='0x0F10'
   uo.warmode(0)
   uo.useskill('Hiding')
   for n=0 to 4
      uo.findtype(ore[n],-1,'backpack')
      while uo.findcount()
         uo.moveitem('finditem',0,Orechest)
         checklag()
         wait(700)
         uo.findtype(ore[n],-1,'backpack')
      wend
   next
   uo.print('Dropore done.')
endsub
sub Mark(RuneID,Place)
   repeat
      meditation(33)
      checklag()
      Uo.Cast('Mark',RuneID)
      WaitForMana()
      wait(300)
   until not uo.injournal('The spell fizzles')
   if Place==0 then
      Nrune=uo.getserial(RuneID)
   else
      Runehome=uo.getserial(RuneID)
   endif
endsub
sub meditation(mn)
   uo.warmode(0)
   while uo.mana < mn
      if uo.mana==uo.int then
         return
      endif
      checklag()
      uo.Useskill('Meditation')
      waitformed(mn)
      wait(1000)
   wend
endsub
sub waitformed(mn)
   var n
   for n=0 to 100
      if uo.injournal('You lose|You are at peace') or uo.mana>=mn then
         return
      endif
      wait(500)
   next
endsub
sub RecallRune(nowrune)
   uo.Print('улетаем по руне')
   var oldX,oldY
   oldX = Uo.GetX()
   oldY = Uo.GetY()
   repeat
      meditation(20)
      checklag()
      Uo.Cast('Recall',nowrune)
      WaitForMana()
      wait(1000)
   Until oldX<>UO.GetX() AND oldY<>UO.GetY()
endsub
sub grabinvis()
   uo.findtype('0x0F0E',-1,'backpack')
   while uo.findcount()
      uo.moveitem('finditem',0,Chest)
      checklag()
      wait(700)
      uo.findtype('0x0F0E',-1,'backpack')
   wend
   uo.findtype('0x0F0E','0x0631',Chest)
   if uo.findcount() then
      uo.print('Ищем инвизку')
      uo.moveitem('finditem','2','backpack')
      checklag()
      wait(700)
   endif
endsub
sub RegCheck()
   VAR i,q
   VAR kol=9
   Dim Regs[6]
   Regs[0]='0x0F7A'      ; Black Pearl
   Regs[1]='0x0F7B'      ; Bood Moss
   Regs[2]='0x0F86'      ; Mandrake Root
   Regs[3]='0x0F88'     ; Nightshade
   Regs[4]='0x0F8C'     ; Sulfurous Ash
   Regs[5]='0x0F84'     ; Garlic
   
   for i=0 to 5
      if uo.count(Regs[i])<>kol then
         q=kol-uo.count(Regs[i])
         if q<>0 then
            if q>0 then
               uo.findtype(Regs[i],-1,Chest)
               if uo.findcount() then
                  uo.moveitem('finditem',STR(q),'backpack')
                  checklag()
                  wait(700)
                  uo.print('Берем реги для рекола...')
               else
                  uo.print('No regs')
                  return
               endif
            else
               q=q*-1           
               uo.findtype(Regs[i],-1,'my')   
               if uo.findcount() then
                  uo.moveitem('finditem',STR(q),Chest)
                  checklag()
                  wait(700)
                  uo.print('Регов больше чем надо. Кидаем лишнее в сундук')
               endif
            endif
         endif
      endif
   next
endsub
sub GrabBlankRune()
   Open(BlankRunebag)
   uo.findtype(rune,-1,BlankRunebag)
   if uo.findcount() then
      Blankrune=uo.getserial('finditem')
      uo.moveitem('finditem',0,'backpack')
      checklag()
      wait(700)
      uo.print('Взяли бланк руну')
      Runinetu=0
   else
      uo.print('Бланк рун больше нету! Скрипт остановлен.')
      uo.exec('terminate all')
   endif
endsub
sub DropbagCheck()
   uo.print('Проверяем мешок Dropbag')
   Open(Dropbag)
   uo.findtype(rune,-1,Dropbag)
   while uo.findcount()
      uo.moveitem('finditem',0,Runebag)
      checklag()
      wait(700)
      uo.print('Нашли руну. Кладем их в сумку Runebag.')
      uo.findtype(Rune,-1,Dropbag)
   wend
endsub
sub mining()
   var mx, my, mz, i, j, f
   mx = UO.GetX('self')
   my = UO.GetY('self')
   mz = UO.GetZ('self')
   for i = mx-4 to mx+4
      for j = my -4 to my+4
         repeat
            if uo.count('0x0F39')==0 and uo.count('0x0F3A')==0 and uo.count('0x0E86')==0 and uo.count('0x0E85')==0 then
               return
            endif
            if uo.injournal('You loosen some rocks but fail') then
               wait(10000)
            endif
            Tohide()
            UO.Print('Копаем в координатах: '+str(mx-i)+' '+str(my-j))
            DigAhole(i,j,mz)
            if uo.injournal('You have been revealed') then
               uo.warmode(0)
               invis()
               return
            endif
            if flagpk==1 then
               return
            endif
         until not uo.injournal('You loosen some rocks but fail')
         if checkelem()==1 then
            return
         endif
      next
   next
endsub
sub DigAhole(i,j,mz)
   var f
   for f=0 to 10
      checklag()
      uo.waittargettile('1341',i,j,mz)
      uo.useobject(pickaxe)
      if waitforore()==1 then
         return
      endif
   next
endsub
sub waitforore()
   var n
   for n=0 to 50
      checkpk()
      if uo.injournal('no ore here|location|far away|in rock|You have been revealed') or flagpk==1 then
         return 1
      endif
      if uo.injournal('You put|heavy|but fail') then
         return
      endif
      wait(500)
   next
endsub
sub checkpk()
   var n
   var ser
   var noto
   var me=uo.getserial('self')
   for n=0 to 9
      ser=uo.journalserial(n)
      noto=uo.getnotoriety(ser)
      if not ser==me then
         if noto<>0 and noto<>1 and noto<>3 and not uo.injournal('Elemental|Scorpion King|Giant Spider|Energy Vortex') then
            uo.TextOpen()
            uo.TextPrint(uo.getname(ser)+' @ '+MakeTime())
            invis()
            if recallrunebook==1 then
               gohome()
            else
               RecallRune(Runehome)
            endif
            flagpk=1
            return
         endif
      endif
   next
endsub
sub gohome()
   var oldX=uo.getx('self')
   var oldY=uo.gety('self')
   uo.recall(Runebook,Runenr)
   repeat
      wait(700)
      if uo.injournal('You have been revealed') then
         checklag()
         invis()
      endif
   until oldX<>uo.getx('self') && oldY<>uo.gety('self')
endsub
sub invis()
   uo.usetype('0x0F0E','0x0631')
endsub
sub CheckLag()
   repeat
      UO.DeleteJournal()
      UO.Click('backpack')
   until backpack()==1
endsub
sub backpack()
   var n
   for n=0 to 200
      if uo.injournal('a backpack') then
         return 1
      endif
      wait(200)
   next
endsub
sub Reconnector()
   var ReconnectTime, RFlag
   ReconnectTime = '0'
   RFlag = 1
   Repeat
      While (UO.ObjAtLayer('Bpack') == '')
         if RFlag Then
            ReconnectTime = MakeTime()
            RFlag = 0
         endif
         Wait(1000)
         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.Exec('terminate all')
         ;UO.Exec('exec autoload')
         UO.TextOpen()
         UO.TextPrint('Disconnected & Reconnected @ '+ReconnectTime)
         RFlag = 1
         ReconnectTime = '0'
      endif
   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

Author:  Nmy [ 2009-11-19 14:47:23 ]
Post subject: 

Code:
Program Tinkering; 

const
   Chest=$404CA4F5;

procedure Check_World_Save;
begin
   if InJournal('World is saving now')<>-1 then begin
      ClearJournal;
      repeat
         wait(1000);
      until InJournal('World data saved')<>-1
   end
end;

procedure Check_Iron;
begin
   if Count($1BEF)<10 then begin
      UseObject(Chest);
      wait(1000);
      MoveItem(FindTypeEx($1BEF,$0000,Chest,false),200,Backpack,0,0,0)
      wait(1000);
   end
end;
       
procedure Check_Lockpicks;
begin
   if Count($14FB)>10 then begin
      MoveItem(FindType($14FB,Backpack),0,Chest,0,0,0);
      wait(1000);
   end
end;

Begin
   ClearJournal;
   AutoMenu('Tinkering','Tool')
   AutoMenu('Tools','lockpick')
   while not Dead do begin
      Check_World_Save;
      Check_Lockpicks;
      Check_Iron;
      UseObject(FindType($1EBC,Backpack));
      wait(3500);
   end
end.

Author:  Nmy [ 2009-11-23 14:15:13 ]
Post subject: 

Code:
sub main()
   uo.addobject('vendor')
   while uo.targeting()
      wait(500)
   wend
   while 1
      checklag()
      uo.waittargetobject('vendor')
      uo.useskill('Begging')
      wait(2500)
   wend
endsub
sub CheckLag()
   repeat
      UO.DeleteJournal()
      UO.Click('backpack')
   until backpack()==1
endsub
sub backpack()
   var n
   for n=0 to 200
      if uo.injournal('a backpack') then
         return 1
      endif
      wait(200)
   next
endsub

Author:  Nmy [ 2009-12-14 21:12:26 ]
Post subject: 

Многие утверждали что они "написали" скрипт на догонялку но это не так. См. тут

Code:
sub dogon()
   var script='dogon' ; lowercase
   if uo.getglobal(script)=='On' then
      uo.setglobal(script,0)
      uo.print(' !!! -= '+script+' Terminated =- !!! ')
      uo.exec('terminate '+script)
   else
      uo.setglobal(script,'On')
      uo.print(' !!! -= '+script+' =- !!! ')
      
   var target
   target=uo.getserial('lastattack')
   uo.say('')
   while uo.life>0 and target<>""
      wait(100)
      if uo.getdistance(target)>0 then
         run(target)
      endif
   wend
      
   uo.setglobal(script,0)
   uo.print(' !!! -= '+script+' Terminated =- !!! ')   
   endif   
endsub
sub run(targ)
   var dx, dy
   while 1
      if targ<>"" and uo.life>0 then
         if uo.getdistance(targ)<2 then
            return
         endif
         dx=UO.GetX(targ)-UO.GetX()
         dy=UO.GetY(targ)-UO.GetY()
      else
         return
      endif
      if dx<>0 and dy<>0 then
         if dx>0 and dy>0 then
            UO.Press(40) ; DownArrow
         endif
         if dx>0 and dy<0 then
            UO.Press(39) ; RightArrow
         endif
         if dx<0 and dy>0 then
            UO.Press(37) ; LeftArrow
         endif
         if dx<0 and dy<0 then
            UO.Press(38) ; UpArrow
         endif
      endif
      if dx<>0 and dy==0 then
         if dx>0 then
            UO.Press(34) ; PgDown
         endif
         if dx<0 then
            UO.Press(36) ; Home key
         endif
      endif
      if dx==0 and dy<>0 then
         if dy>0 then
            UO.Press(35) ; End
         endif
         if dy<0 then
            UO.Press(33) ; PgUp
         endif
      endif
   wend
endsub

Author:  Nmy [ 2009-12-18 00:40:29 ]
Post subject: 

Code:
sub lootgroundall()
   var n
   Dim Req[50] ; Requirements
   Req[1]='0x1F52' ; paralyze scrolls
   Req[2]='0x1F5F' ; fs
   Req[3]='0x0F0E' ; empty bottles
   Req[4]='0x0E21' ; bandages
   Req[5]='0x0F3F' ; arrows
   Req[6]='0x0F03' ; Antifreeze
   Req[7]='0x1BFB' ; bolts
   Req[8]='0x0F7A'  ; regi bp
   Req[9]='0x0F7B'  ; regi bm
   Req[10]='0x0F86' ; regi mr
   Req[11]='0x0F88' ; regi ns
   Req[12]='0x0F8D' ; regi ss
   Req[13]='0x0F84' ; regi ga
   Req[14]='0x0F85' ; regi gs
   Req[15]='0x0F8C' ; regi sa
   for n=1 to 15
      while uo.countground(Req[n])
         uo.moveitem('~'+Req[n],0,'backpack',141,134,0)
         wait(700)
      wend
   next
   uo.print(' -= done =- ')
endsub

Author:  Nmy [ 2009-12-18 00:54:22 ]
Post subject: 

Code:
sub corpser()
   uo.waittargetobject('lastcorpse')
   uo.usetype('0x0F51')
   wait(500)
   Lootground()
   sword()
endsub
sub Lootground()
   VAR n, f
   VAR Torso=uo.objatlayer('Torso')
   VAR Legs=uo.objatlayer('Legs')
   VAR Arms=uo.objatlayer('Arms')
   VAR Gloves=uo.objatlayer('Gloves')
   VAR Hat=uo.objatlayer('Hat')
   VAR Neck=uo.objatlayer('Neck')
   VAR Lhand=uo.objatlayer('Lhand')
   
   Dim Loot[40]
   Loot[1]='0x204E' ; Shroud
   Loot[2]='0x20D6' ; Dragon
   Loot[3]='0x0F5E' ; broadsword
   Loot[4]='0x143A' ; maul
   Loot[5]='0x13B9' ; Viking Sword
   Loot[6]='0x0F60' ; longsword
   Loot[7]='0x0F62' ; Spear
   Loot[8]='0x0E87' ; Pitchfork   
   Loot[9]='0x143E' ; Halberd
   Loot[10]='0x0F4D' ; Bardiche
   Loot[11]='0x0F45' ; Executioner's Axe
   Loot[12]='0x0F4B' ; double axe
   Loot[13]='0x13FA' ; Despise
   Loot[14]='0x13B1' ; Bow
   Loot[15]='0x0F4F' ; Heavy Crossbow
   Loot[16]='0x13FC' ; Crossbow
   Loot[17]='0x1086' ; Braclet
   Loot[18]='0x0EED' ; Gold Coin
   Loot[19]='0x13BF' ; chainmail tunic
   Loot[20]='0x13BE' ; chainmail leg
   
   Dim armor[12]
   armor[1]='0x1B77'  ; Heater Sheild
   armor[2]='0x1B76'  ; Heater Sheild
   armor[3]='0x1415'  ; Plate Mail
   armor[4]='0x1416'  ; Plate Mail
   armor[5]='0x141A'  ; Platemail Legs
   armor[6]='0x1411'  ; Platemail Legs
   armor[7]='0x1418'  ; Platemail Gauntlets
   armor[8]='0x1414'  ; Platemail Gauntlets
   armor[9]='0x1410'  ; Platemail Arms
   armor[10]='0x1419' ; Platemail Helm
   armor[11]='0x1412' ; Platemail Helm
   armor[12]='0x1413' ; Platemail Gorget
   
   for n=1 to 12
      if uo.countground(armor[n]) then
         uo.usefromground(armor[n])
         wait(50)
         f=1
      endif
   next
   for n=1 to 20
      if uo.countground(Loot[n]) then
         uo.moveitem('~'+Loot[n],0,'backpack')
         wait(700)
      endif
   next
   if f==1 then
      if Torso<>'' then
         uo.useobject(Torso)
      endif
      if Legs<>'' then
         uo.useobject(Legs)
      endif
      if Arms<>'' then
         uo.useobject(Arms)
      endif
      if Gloves<>'' then
         uo.useobject(Gloves)
      endif
      if Hat<>'' then
         uo.useobject(Hat)
      endif
      if Neck<>'' then
         uo.useobject(Neck)
      endif
      if Lhand<>'' then
         uo.equip('Lhand',Lhand)
      endif
   endif
   uo.print(' -= done =- ')
endsub

Author:  Nmy [ 2009-12-18 00:55:11 ]
Post subject: 

Code:
sub Lootall()
   var n, corpse   
   if (uo.getserial('backpack') <> uo.getserial('lastcontainer')) then
      uo.ignorereset()
      corpse=uo.getserial('lastcontainer')
      uo.findtype(-1,-1,corpse)
      while uo.findcount()
         n=uo.getserial('finditem')
         uo.moveitem('finditem',0,'backpack')
         uo.print(' item '+str(uo.findcount()))
         checklag()
         wait(600)
         uo.findtype(-1,-1,corpse)
         if uo.findcount() then
            if n==uo.getserial('finditem') then
               uo.ignore('finditem')
               uo.findtype(-1,-1,corpse)
            endif
         endif
      wend
   endif
   uo.print(' -= Done =- ')
endsub

Author:  Nmy [ 2009-12-18 00:56:13 ]
Post subject: 

Code:
sub polymorph()
   var m
   repeat
      meditation(24)
      checklag()
      m=uo.mana
      uo.waitmenu('What do you want to polymorph','Daemon')
      uo.cast('Polymorph')
      repeat
         wait(500)
      until uo.mana<m
   until not uo.injournal('spell fizzles')
endsub
sub meditation(mn)
   while uo.mana < mn
      if uo.injournal('You are preoccupied with thoughts of battle.') then
         uo.warmode(0)
      endif
      if uo.mana==uo.int then
         return
      endif
      checklag()
      uo.Useskill('Meditation')
      waitformed(mn)
      wait(1000)
   wend
endsub
sub waitformed(mn)
   var n
   for n=0 to 100
      if uo.injournal('You lose|You are at peace|thoughts of battle') or uo.mana>=mn then
         return
      endif
      wait(500)
   next
endsub

Page 4 of 6 All times are UTC+02:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/