Крафт фуллов Дрв

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
Dillersss
Posts: 39
Joined: 2007-08-11 16:44:45
Location: www.drw.ru

Крафт фуллов Дрв

Post by Dillersss »

Code: Select all

sub MakeFull() 
   VAR CCurIng='0x0000', TCurIng=0
   VAR jser, WCurIng=0, Kolvo = 160      ; На фулл с запасом
   VAR Sunduk = '0x404CD019'            ; Cундук с инготами
   VAR Meshok = '0x0E76'               ; Тип мешка для фулов
   VAR CIngots = '0x0000'               ; Цвет инготов
   VAR CurMesh, BagForFull='0x40463C1F'   ; Сериал мешка и сумки для них
   
   UO.Print("Script started")
   DIM TIngots[4], Part[7], CIng[14], WIng[14]
   
   TIngots[0]='0x1BEF'            ; Типы инготов
   TIngots[1]='0x1BE3'
   TIngots[2]='0x1BF5'
   TIngots[3]='0x1BE9'
   
   Part[0]='Platemail (25'         ; Названия частей фулла
   Part[1]='Platemail Legs'
   Part[2]='Heater Shield'
   Part[3]='Platemail Arms'
   Part[4]='Plate Helm'
   Part[5]='Platemail Gauntlets'
   Part[6]='Platemail Gorget'
   
   CIng[0]='0x0750'            ; Цвета инготов
   CIng[1]='0x0590'
   CIng[2]='0x060A'
   CIng[3]='0x0488'
   CIng[4]='0x096B'
   CIng[5]='0x0014'
   CIng[6]='0x0193'
   CIng[7]='0x04C2'
   CIng[8]='0x07D5'
   CIng[9]='0x00CE'
   CIng[10]='0x052D'
   CIng[11]='0x0455'
   CIng[12]='0x0028'
   CIng[13]='0x08AF'
   
   WIng[0]='Rusty'               ; Названия инготов
   WIng[1]='Old Copper'
   WIng[2]='Dull Copper'
   WIng[3]='Bronze'
   WIng[4]='Shadow'
   WIng[5]='Rose'
   WIng[6]='Agapite'
   WIng[7]='Blood Rock'
   WIng[8]='Verite'
   WIng[9]='Valorite'
   WIng[10]='Mytheril'
   WIng[11]='Black Rock'
   WIng[12]='Obsidian'
   WIng[13]='Plutonium'
   
   UO.IgnoreReset()
   UO.DeleteJournal()
   UO.UseObject(Sunduk)
   For Var k=0 to 3                  ; Узнаем тип
      UO.FindType(TIngots[k],-1,Sunduk)   ; Ищем любые инготы в сундуке
      If UO.FindCount() > 0 Then
         If UO.GetColor('finditem') == '0x0000' AND k == 0 Then
            UO.MSG("I make a iron full!")
            MakeIron(TIngots[k],'0x0000',Kolvo,Sunduk,Meshok,BagForFull)
            Return
         Else
            If UO.GetQuantity('finditem') < Kolvo Then   ; Для фула мало инготов
               UO.MSG("I need "+STR(Kolvo)+" or more ingots")
               UO.MoveItem('finditem','0',BagForFull)
               Wait(500)
               Return
            Else
               If TCurIng == 0 Then
                  TCurIng=TIngots[k]
               EndIf
               If UO.GetColor('finditem') == CIng[2] Then
                  UO.MSG("Dull Copper? I not make this full.")
                  UO.MoveItem('finditem',-1,BagForFull)
                  Wait(500)
                  Return
               EndIf
               If UO.GetColor('finditem') == CIng[3] Then
                  UO.MSG("Bronze? I not make this full.")
                  UO.MoveItem('finditem',-1,BagForFull)
                  Wait(500)
                  Return
               EndIf
               UO.Print("Avaible is "+STR(UO.GetQuantity('finditem'))+" ingots.")
               UO.Print("Ingots type is "+TIngots[k])
            EndIf
         EndIf
      Else
         If k == 3 AND TCurIng == 0 Then
            UO.Print("No avaible ingots. Script terminated.")
            Return
         EndIf
      EndIf
      Wait(1000)
   Next
   UO.FindType(TCurIng,-1,Sunduk)
   For Var n=0 to 13                  ; Узнаем цвет
      If CIng[n] == UO.GetColor('finditem') Then
         WCurIng = WIng[n]
         CCurIng = CIng[n]
      EndIf
   Next
   If CCurIng == '0x0000' Then
      If TCurIng == TIngots[1] Then
         WCurIng = 'Copper'
      Else
         If TCurIng == TIngots[2] Then
            WCurIng = 'Silver'
         Else
            If TCurIng == TIngots[3] Then
               WCurIng = 'Golden'
            EndIf
         EndIf
      EndIf
   EndIf
   UO.MSG("Found "+(WCurIng)+" ingots.")
   UO.FindType(Meshok,-1,Sunduk)      ; Ищем мешки для фуллов
   If UO.FindCount() == 0 Then
      UO.MSG("No bag - NO FULL !!!")
      Return
   Else
      CurMesh=UO.GetSerial('finditem')
   EndIf
   UO.FindType(TCurIng,CCurIng,Sunduk)
   UO.MoveItem('finditem',STR(Kolvo),'backpack ')   ; Забираем скока поднимем
   Wait(500)
   UO.Grab('1',CurMesh)            ; Берем мешок в пэк
   Wait(500)
   CheckLag()
   UO.SetCatchBag(CurMesh)         ; Всё что сделаем в мешок
   Var i=0
   Repeat
      UO.MSG("Try make the "+WCurIng+" "+Part[i])
      UO.AutoMenu('Blacksmithing','Colored')
      UO.AutoMenu('Colored',WCurIng+' Armor')
      UO.AutoMenu(WCurIng+' Armor',WCurIng+' Plate Armor')
      UO.AutoMenu(WCurIng+' Plate Armor',Part[i])
      Repeat
         jser=0
         UO.FindType(TCurIng,CCurIng,-1)
         IF UO.FindCount() > 0 Then
            UO.DeleteJournal()
            UO.UseObject('finditem')
         Else
            UO.Print("Ingots not found")
            UO.UnSetCatchBag()
            Repeat
               UO.FindType(TCurIng,CCurIng,-1)
               If UO.FindCount() > 0 Then
                  UO.MoveItem('finditem','-1',BagForFull)   ; Обратно в сундук
                  Wait(500)
               EndIf
            Until UO.Count(TCurIng,CCurIng) == 0       ; Все инготы в пэке
            UO.DropHere(CurMesh)
            Wait(500)
            Return
         EndIf
         While NOT UO.InJournal("put") AND NOT UO.InJournal("failed")
            Wait(100)
         WEnd
         If UO.InJournal("put") Then
            jser=1
         EndIf
      Until jser == 1
      i=i+1
      UO.CancelMenu()
   Until i > 6
   UO.UnSetCatchBag()
   Repeat
      UO.FindType(TCurIng,CCurIng,-1)
      If UO.FindCount() > 0 Then
         UO.MoveItem('finditem','-1',BagForFull)   ; Обратно в сундук
         Wait(500)
      EndIf
   Until UO.Count(TCurIng,CCurIng) == 0       ; Все инготы в пэке
   UO.MSG("FULL")
   UO.MoveItem(CurMesh,'-1',BagForFull)
   Wait(500)
end sub

sub MakeIron(TCurIng,CCurIng,Kolvo,Sunduk,Meshok,BagForFull)
   Var jser, CurMesh = 0
   
   DIM Part[6]
   
   Part[0]='platemail (25'         ; Названия частей фулла
   Part[1]='platemail legs'
   Part[2]='platemail arms'
   Part[3]='plate helm'
   Part[4]='platemail gloves'
   Part[5]='platemail gorget'
   
   UO.FindType(Meshok,-1,Sunduk)
   If UO.FindCount() == 0 Then
      UO.MSG("No bag - NO FULL !!!")
      Return
   Else
      CurMesh=UO.GetSerial('finditem')
   EndIf
   
   UO.FindType(TCurIng,CCurIng,Sunduk)
   If UO.GetQuantity('finditem') < Kolvo Then
      UO.MSG("I need "+STR(Kolvo)+" or more ingots")
      UO.MoveItem('finditem','-1',BagForFull)   ; Обратно в сундук
      Wait(500)
      Return
   Else
      UO.MoveItem('finditem',STR(Kolvo),'backpack ')   ; Забираем скока поднимем
      Wait(500)
      UO.Grab('1',CurMesh)            ; Берем мешок в пэк
      Wait(500)
   EndIf
   CheckLag()
   UO.SetCatchBag(CurMesh)         ; Всё что сделаем в мешок
   Var i=0
   Repeat
      UO.MSG("Try make the Iron "+Part[i])
      UO.AutoMenu('Blacksmithing','Armor')
      UO.AutoMenu('Armor','Plate Mail')
      UO.AutoMenu('Plate Mail',Part[i])
      Repeat
         jser=0
         UO.FindType(TCurIng,CCurIng,-1)
         If UO.FindCount() > 0 Then
            UO.DeleteJournal()
            UO.UseObject('finditem')
         Else
            UO.Print("Ingots not found")
            UO.UnSetCatchBag()
            Repeat
               UO.FindType(TCurIng,CCurIng,-1)
               If UO.FindCount() > 0 Then
                  UO.MoveItem('finditem','-1',BagForFull)   ; Обратно в сундук
                  Wait(500)
               EndIf
            Until UO.Count(TCurIng,CCurIng) == 0       ; Все инготы в пэке
            UO.DropHere(CurMesh)
            Wait(500)
            Return
         EndIf
         While NOT UO.InJournal("put") AND NOT UO.InJournal("failed")
            Wait(100)
         WEnd
         If UO.InJournal("put") Then
            jser=1
         EndIf
      Until jser == 1
      i=i+1
      UO.CancelMenu()
   Until i > 5
   UO.MSG("Try make the Iron heater shield")
   UO.AutoMenu('Blacksmithing','Shields')
   UO.AutoMenu('Shields','heater shield')
   UO.DeleteJournal()
   Repeat
      jser=0
      UO.FindType(TCurIng,CCurIng,-1)
      IF UO.FindCount() > 0 Then
         UO.UseObject('finditem')
      Else
         UO.Print("Ingots not found")
         UO.UnSetCatchBag()
         Repeat
            UO.FindType(TCurIng,CCurIng,-1)
            If UO.FindCount() > 0 Then
               UO.MoveItem('finditem','-1',BagForFull)   ; Обратно в сундук
               Wait(500)
            EndIf
         Until UO.Count(TCurIng,CCurIng) == 0       ; Все инготы в пэке
         UO.DropHere(CurMesh)
         Wait(500)
         Return
      EndIf
      While NOT UO.InJournal("put") AND NOT UO.InJournal("failed")
         Wait(100)
      WEnd
      If UO.InJournal("put") Then
         jser=1
      EndIf
   Until jser == 1
   UO.CancelMenu()
   UO.UnSetCatchBag()
   Repeat
      UO.FindType(TCurIng,CCurIng,-1)
      If UO.FindCount() > 0 Then
         UO.MoveItem('finditem','-1',BagForFull)   ; Обратно в сундук
         Wait(500)
      EndIf
   Until UO.Count(TCurIng,CCurIng) == 0       ; Все инготы в пэке
   UO.MSG("FULL")
   UO.MoveItem(CurMesh,'-1',BagForFull)
   Wait(500)
end sub

sub CheckLag()
   UO.DeleteJournal()
   UO.Click('backpack')
   repeat
      wait(50)
   until UO.InJournal('backpack')
end sub


Куёт фулл, потом пишет фаст лут и останавливаетса.
Подскажите плиз где задержку поменять?
Dillersss
Posts: 39
Joined: 2007-08-11 16:44:45
Location: www.drw.ru

Post by Dillersss »

ещё мешок с фулом не скидывает в бекпек, а скидывает туда остатки ингов.
Kynep
Expert!
Posts: 1348
Joined: 2006-02-07 08:51:40
Location: г. Старый Оскол
Contact:

Post by Kynep »

Dillersss wrote:ещё мешок с фулом не скидывает в бекпек, а скидывает туда остатки ингов.

Дилл, а попросить не судьба?
Dillersss
Posts: 39
Joined: 2007-08-11 16:44:45
Location: www.drw.ru

Post by Dillersss »

Да я стучал те в асю, думал ты занет и не стал доставать.
Kynep
Expert!
Posts: 1348
Joined: 2006-02-07 08:51:40
Location: г. Старый Оскол
Contact:

Post by Kynep »

Dillersss wrote:Да я стучал те в асю, думал ты занет и не стал доставать.

Че та я не помню такого... Щас да, я реально занят, не когда даже поиграть, реал... лето кончается, пытаемся отрываться по полной :lol:
Dillersss
Posts: 39
Joined: 2007-08-11 16:44:45
Location: www.drw.ru

Post by Dillersss »

ыыыыыы, прально.
robchik
Posts: 25
Joined: 2008-09-20 16:54:28

Post by robchik »

Я не шарю в скриптах :lol:
Kynep
Expert!
Posts: 1348
Joined: 2006-02-07 08:51:40
Location: г. Старый Оскол
Contact:

Post by Kynep »

robchik wrote:Я не шарю в скриптах :lol:

+1, Поздравляю!!! Возьми пирожок с полочки!
Askaneli
Sphere expert
Posts: 1143
Joined: 2004-10-01 08:27:38
Location: Уфа

Post by Askaneli »

Сделал дело - флуди смело !!!
Post Reply