инфо оре

Anything and all.

Moderators: Murderator+, Murderator

Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: инфо оре

Post by Mirage »

Тут несколько раз обсуждался скрипт в котором жуются одни и теже грамматические ошибки. То в массиве после 1 3 идет, то кавычки пропущены, то цвета не верные, то переменные какието. Надоело трындец как ;)


1) скидывает раздельно в 3 разных контейнера: железо, золото+камни, цветную руду.

Code: Select all

sub Dropore()
   var tColor = uo.getcolor('finditem')
   VAR i,Exit, ConTainer
   
   var Chest = '0x40B3807A'
   var OreBox = '0x40DA6660'
   var HiOreBox = '0x40F0C0A3'

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

   UO.UseObject(Chest)
   wait(500)
   UO.UseObject(OreBox)
   wait(500)
   UO.UseObject(HiOreBox)

   For i=0 to 12
      Exit=0
      repeat
         UO.FindType(Ore[i], -1, 'my')
         if UO.GetQuantity('finditem')>0 then
            If UO.GetColor('finditem')=='0x0000' AND i<4 Then
               Container=UO.GetSerial(OreBox)
            Else
               if i>3 then
                  Container=UO.GetSerial(Chest)
               else
                  Container=UO.GetSerial(HiOreBox)
               Endif
            Endif
            UO.MoveItem('finditem',0,Container)
            wait(500)
         Else
            Exit=1
         endif
      until Exit==1
   Next
end sub


2) то же самое но с логированием набранной руды. Нужно правильно цвета прописать и больше ничего не трогать.

Code: Select all

sub Dropore()
   VAR i,j,Exit,Container
   var Chest = '0x40B3807A'
   var OreBox = '0x40DA6660'
   var HiOreBox = '0x40F0C0A3'
   DIM Ore[13]
   Ore[0]='0x19B7' ; 1 ore
   Ore[1]='0x19BA' ; 2 ore
   Ore[2]='0x19B8' ; 3 ore
   Ore[3]='0x19B9' ; >3 ore
   Ore[4]='0x0F11' ; saphires
   Ore[5]='0x0F16' ; amethysts
   Ore[6]='0x0F18' ; tourmalines
   Ore[7]='0x0F15' ; citrines
   Ore[8]='0x0F10' ; emeralds
   Ore[9]='0x0F0F' ; star sapphires
   Ore[10]='0x0F26' ; diamonds
   Ore[11]='0x1F4C' ; recall scrolls
   Ore[12]='0x0EED' ; gold
   DIM Colors[16]
   Colors[0]='0x0000' ; Iron
   Colors[1]='0x09F0' ; Gorgan
   Colors[2]='0x09D3' ; Steel
   Colors[3]='0x0BA7' ; Eldar
   Colors[4]='0x08AF' ; Plut
   Colors[5]='0x0085' ; Dragon
   Colors[6]='0x0060' ; Aqua
   Colors[7]='0x09E6' ; Elvin
   Colors[8]='0x010F' ; Krinit
   Colors[9]='0x09DA' ; Vulkan
   Colors[10]='0x09EC' ; Blood Crest
   Colors[11]='0x0445' ; Sand Rock
   Colors[12]='0x0498' ; Acid
   Colors[13]='0x0485' ; Crystaline
   Colors[14]='0x0770' ; BlackRock
   Colors[15]='0x0498' ; Obsid
   DIM log[16]
   log[0]=0 ; Iron
   log[1]=0 ; Gorgan
   log[2]=0 ; Steel
   log[3]=0 ; Eldar
   log[4]=0 ; Plut
   log[5]=0 ; Dragon
   log[6]=0 ; Aqua
   log[7]=0 ; Elvin
   log[8]=0 ; Krinit
   log[9]=0 ; Vulkan
   log[0]=0 ; Blood Crest
   log[11]=0 ; Sand Rock
   log[12]=0 ; Acid
   log[13]=0 ; Crystaline
   log[14]=0 ; BlackRock
   log[15]=0 ; Obsid
   
   uo.textclear()
   uo.textopen()

   UO.UseObject(Chest)
   wait(500)
   UO.UseObject(HiOreBox)
   wait(500)
   UO.UseObject(OreBox)
   wait(500)

   For i=0 to 3
      for j=0 to 15
         uo.FindType(Ore[i], Colors[j], 'backpack')
         if UO.FindCount()>0 then
            log[j]=log[j]+UO.GetQuantity('finditem')
            uo.click('finditem')
            wait(500)
            UO.TextPrint('Руда: ' +uo.getname('finditem') +'. Количество = ' +str(log[j]) )
            If UO.GetColor('finditem')=='0x0000' Then
               UO.Moveitem('finditem', 0, OreBox)
               wait(900)
            else
               UO.MoveItem('finditem', 0, HiOreBox)
               wait(900)
            endif
         endif
      next
   Next
   For i=4 to 12
      uo.FindType(Ore[i], -1, 'backpack')
      if UO.FindCount()>0 then
         UO.MoveItem('finditem', 0, Chest)
         wait(900)
      endif
   Next
end sub


Без обид но опечатки левые совершенно. Хотя бы прочитайте мануалы и посмотрите примеры.
Post Reply