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

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