ковка фулов

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
Irina E
Posts: 240
Joined: 2009-06-12 20:10:00
Location: Vasa Smerti(RASToMAN) DRW

ковка фулов

Post by Irina E »

мираж скинь сылку на норм скрипт на ковку фулов
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: ковка фулов

Post by Mirage »

В архиве есть вот такой например от 2003 года. Разбирай, я сам никогда такими скриптами не пользовался. :roll:

Code: Select all

sub bsarm()
   VAR IngName,Delay=3000

   IngName="Agapite"
   UO.FindType('0x1BEF','0x0193')
   UO.SetCatchBag('finditem')

   UO.AutoMenu(IngName+' Plate','Platemail (25')
   UO.AutoMenu(IngName+' Armor','Plate')
   UO.AutoMenu('Colored','Armor')
   UO.AutoMenu('Blacksmithing','Colored')

Plate:
   UO.DeleteJournal()
   UO.UseType('ing')

   while NOT UO.InJournal("You put") AND NOT UO.InJournal("You have failed")
         wait(500)
   wend
   if UO.InJournal("You have failed") then
      goto Plate
   endif
   UO.CancelMenu()
   wait(Delay)

   UO.AutoMenu(IngName+' Plate','Platemail Legs')
   UO.AutoMenu(IngName+' Armor','Plate')
   UO.AutoMenu('Colored','Armor')
   UO.AutoMenu('Blacksmithing','Colored')

Legs:
   UO.DeleteJournal()
   UO.UseType('ing')

   while NOT UO.InJournal("You put") AND NOT UO.InJournal("You have failed")
         wait(500)
   wend
   if UO.InJournal("You have failed") then
      goto Legs
   endif
   UO.CancelMenu()
   wait(Delay)

   UO.AutoMenu(IngName+' Plate','Platemail Arms')
   UO.AutoMenu(IngName+' Armor','Plate')
   UO.AutoMenu('Colored','Armor')
   UO.AutoMenu('Blacksmithing','Colored')

Arms:
   UO.DeleteJournal()
   UO.UseType('ing')

   while NOT UO.InJournal("You put") AND NOT UO.InJournal("You have failed")
         wait(500)
   wend
   if UO.InJournal("You have failed") then
      goto Arms
   endif
   UO.CancelMenu()
   wait(Delay)

   UO.AutoMenu(IngName+' Plate','Platemail Gauntlets')
   UO.AutoMenu(IngName+' Armor','Plate')
   UO.AutoMenu('Colored','Armor')
   UO.AutoMenu('Blacksmithing','Colored')

Gloves:
   UO.DeleteJournal()
   UO.UseType('ing')

   while NOT UO.InJournal("You put") AND NOT UO.InJournal("You have failed")
         wait(500)
   wend
   if UO.InJournal("You have failed") then
      goto Gloves
   endif
   UO.CancelMenu()
   wait(Delay)

   UO.AutoMenu(IngName+' Plate','Plate Helm')
   UO.AutoMenu(IngName+' Armor','Plate')
   UO.AutoMenu('Colored','Armor')
   UO.AutoMenu('Blacksmithing','Colored')

Helm:
   UO.DeleteJournal()
   UO.UseType('ing')

   while NOT UO.InJournal("You put") AND NOT UO.InJournal("You have failed")
         wait(500)
   wend
   if UO.InJournal("You have failed") then
      goto Helm
   endif
   UO.CancelMenu()
   wait(Delay)
   
   UO.AutoMenu(IngName+' Plate','Platemail Gorget')
   UO.AutoMenu(IngName+' Armor','Plate')
   UO.AutoMenu('Colored','Armor')
   UO.AutoMenu('Blacksmithing','Colored')

Gorget:
   UO.DeleteJournal()
   UO.UseType('ing')

   while NOT UO.InJournal("You put") AND NOT UO.InJournal("You have failed")
         wait(500)
   wend
   if UO.InJournal("You have failed") then
      goto Gorget
   endif
   UO.CancelMenu()
   wait(Delay)

goto End

   UO.AutoMenu(IngName+' Plate','Heater')
   UO.AutoMenu(IngName+' Armor','Plate')
   UO.AutoMenu('Colored','Armor')
   UO.AutoMenu('Blacksmithing','Colored')
Heater:
   UO.DeleteJournal()
   UO.UseType('ing')

   while NOT UO.InJournal("You put") AND NOT UO.InJournal("You have failed")
         wait(500)
   wend
   if UO.InJournal("You have failed") then
      goto Heater
   endif
   UO.CancelMenu()
   wait(Delay)

End:
   UO.UnSetCatchBag()

end sub


Или вот поновее 2005 год:

Code: Select all

sub MakeFull() 
VAR CCurIng='0x0000', TCurIng=0
VAR jser, WCurIng=0, Kolvo = 150 ; На фулл с запасом
VAR Sunduk = '0x40108330'
VAR Meshok = '0x0E76' ; Тип мешка для фулов
VAR CIngots = '0x07D5' ; Цвет инготов
VAR CurMesh = '0x4005190C', BagForFull='0x40052BE2' ; Сериал мешка и сумки для них
VAR i,n,k,jj,ii=5 ##### ii- ето скоко фулов делать из расчета 150 ингов на фул
 
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'
 
 
 
for jj=1 to ii
 
UO.IgnoreReset()
UO.DeleteJournal()
UO.UseObject(Sunduk)
For 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(1000)
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(1000)
Return
EndIf
If UO.GetColor('finditem') == CIng[3] Then
UO.MSG("Bronze? I not make this full.")
UO.MoveItem('finditem',-1,BagForFull)
Wait(1000)
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 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.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)
UO.SetCatchBag(CurMesh) ; Всё что сделаем в мешок
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(1000)
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(1000)
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(1000)
EndIf
Until UO.Count(TCurIng,CCurIng) == 0 ; Все инготы в пэке
UO.MSG("FULL")
UO.MoveItem(CurMesh,'-1',BagForFull)
Wait(1000)
 
next
 
 
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(1000)
Return
Else
UO.MoveItem('finditem',STR(Kolvo),'backpack ') ; Забираем скока поднимем
Wait(500)
UO.Grab('1',CurMesh) ; Берем мешок в пэк
Wait(1000)
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(1000)
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(1000)
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(1000)
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(1000)
EndIf
Until UO.Count(TCurIng,CCurIng) == 0 ; Все инготы в пэке
UO.MSG("FULL")
UO.MoveItem(CurMesh,'-1',BagForFull)
Wait(1000)

end sub



Или вот так поиск - фулл
Irina E
Posts: 240
Joined: 2009-06-12 20:10:00
Location: Vasa Smerti(RASToMAN) DRW

Re: ковка фулов

Post by Irina E »

Code: Select all

var safe    = '0x401555BF' ## ИД контейнера где находятся мешки с ресурсами 
var sunduk1 = '0x401555BF' ## ИД контейнера с пустыми мешочками
var sunduk2 = '0x401555BF' ## ИД контейнера с ингами
var sunduk3 = '0x4020D5C6' ## ИД контейнера куда сваливаем то, что накрафталось
var nf      = 11           ## Из чего куём фулы, сматреть массив в теле скрипта ...

sub full_plate()
var bag
var ch

uo.Exec("set gdislower 0")
#uo.Exec("set quiet 1")

Dim ting[16]
Dim cing[16]
Dim ning[16]
Dim ItemType[7]
Dim ItemName[7]

ning[01]='Rusty'
ning[02]='Old Copper'
ning[03]='Dull Copper'
ning[04]='Copper'
ning[05]='Bronze'
ning[06]='Silver'
ning[07]='Gold'
ning[08]='Shadow'
ning[09]='Rose'
ning[10]='Agapite'
ning[11]='Blood Rock'
ning[12]='Verite'
ning[13]='Valorite'
ning[14]='Mytheril'
ning[15]='Black Rock'
ning[16]='Obsidian'

ting[01]='0x1BEF'
ting[02]='0x1BEF'
ting[03]='0x1BEF'
ting[04]='0x1BE3'
ting[05]='0x1BEF'
ting[06]='0x1BF5'
ting[07]='0x1BE9'
ting[08]='0x1BEF'
ting[09]='0x1BEF'
ting[10]='0x1BEF'
ting[11]='0x1BEF'
ting[12]='0x1BEF'
ting[13]='0x1BEF'
ting[14]='0x1BEF'
ting[15]='0x1BEF'
ting[16]='0x1BEF'

cing[01]='0x0750'
cing[02]='0x0590'
cing[03]='0x060A'
cing[04]='0x0000'
cing[05]='0x0488'
cing[06]='0x0000'
cing[07]='0x0000'
cing[08]='0x096B'
cing[09]='0x0014'
cing[10]='0x0193'
cing[11]='0x04C2'
cing[12]='0x07D5'
cing[13]='0x00CE'
cing[14]='0x052D'
cing[15]='0x0455'
cing[16]='0x0028'

ItemType[1]='0x1412'
ItemType[2]='0x1413'
ItemType[3]='0x1414'
ItemType[4]='0x1410'
ItemType[5]='0x1411'
ItemType[6]='0x1415'
ItemType[7]='0x1B76'

ItemName[1]='Plate Helm'
ItemName[2]='Platemail Gorget'
ItemName[3]='Platemail Gauntlets'
ItemName[4]='Platemail Arms'
ItemName[5]='Platemail Legs'
ItemName[6]='Platemail (25'
ItemName[7]='Heater Shield'

uo.useobject(safe)
wait(500)
uo.useobject(sunduk1)
wait(500)
uo.useobject(sunduk2)
wait(500)
uo.useobject(sunduk3)
wait(500)

uo.findtype(ting[nf],cing[nf],sunduk2)
while uo.findcount()>0
   ToHide()
   if uo.count('0x097B','0x0000')>0 then
      uo.usetype('0x097B','0x0000')
      wait(1000)
   end if
   Cheklag()
   if uo.count(ting[nf],cing[nf])<200 then
      uo.moveitem('finditem',str(200-uo.count(ting[nf],cing[nf])),'backpack')
   end if
   wait(700)
   uo.findtype('0x0E76','0x0000','backpack')
   if uo.findcount()==0 then
      uo.findtype('0x0E76','0x0000',sunduk1)
      if uo.findcount()==0 then
         return
      end if   
      Cheklag()
      uo.moveitem('finditem','1','backpack')
      wait(700)
   end if
   bag=uo.getserial('finditem')
   uo.useobject(bag)
   wait(500)
   
   for ch=1 to 7
      ToHide()
      uo.findtype(ItemType[ch],'-1','backpack')
      if uo.findcount()==0 then
         uo.findtype(ItemType[ch],'-1',bag)
         if uo.findcount()==0 then
            wait(50)
            uo.cancelmenu()
            wait(50)
            uo.automenu('Blacksmithing','Colored Armor & Weapons')
            uo.automenu('Colored Armor & Weapons',ning[nf]+' Armor')
            uo.automenu(ning[nf]+' Armor',ning[nf]+' Plate Armor')
            uo.automenu(ning[nf]+' Plate Armor',ning[nf]+' '+ItemName[ch])
            wait(50)
            repeat
               uo.deletejournal()
               uo.usetype(ting[nf],cing[nf])
               repeat
                  wait(10)
               until uo.injournal("You put") or uo.injournal("You have failed")
               wait(50)
            until uo.injournal("You put")
            wait(50)
            uo.findtype(ItemType[ch],'-1','backpack')
            Cheklag()
            uo.moveitem('finditem','-1',bag)
            wait(1000)
         end if
      else
         Cheklag()
         uo.moveitem('finditem','-1',bag)
         wait(1000)
      end if
   next
   
   Cheklag()
   uo.moveitem(bag,'-1',sunduk3)
   wait(700)
   uo.findtype(ting[nf],cing[nf],sunduk2)
wend
uo.closeuo()
end sub

Sub ToHide()
   while not uo.hidden()
      uo.warmode(0)
      uo.DeleteJournal()
      uo.useskill("Hiding")
      repeat
         wait(10)
      until UO.InJournal("You have hidden yourself well") or UO.InJournal("You can't seem to hide here.") or UO.InJournal("You are preoccupied with thoughts of battle.")
      if  UO.InJournal("You are preoccupied with thoughts of battle.") then
         uo.warmode(0)
      end if
   wend
end sub

Sub Cheklag()
   UO.DeleteJournal()
   UO.Click('backpack')
   Repeat
      Wait(10)
   Until UO.InJournal("backpack")
end sub

sub movebag()
   uo.findtype('0x0E76','0x0000','0x4018658E')
   while uo.findcount()>0
      Cheklag()
      uo.moveitem('finditem','-1','0x4000175D')
      wait(700)
      uo.findtype('0x0E76','0x0000','0x4018658E')
   wend
end sub


есть такоЙ скрипт но почему та через несколько минут он выдает ошибку а иногда и крэшит
GAUHAR
Posts: 137
Joined: 2006-11-06 21:45:23

Re: ковка фулов

Post by GAUHAR »

На ДРВ играл давно, поэтому проверить ваш скрипт нет возможности.
Но в своих старых нашел, что если крафтить из gold ingots то в меню армор называется Golden Armor.
Скриптом не поделюсь, так как он не так функционален как вам бы хотелось.
Irina E
Posts: 240
Joined: 2009-06-12 20:10:00
Location: Vasa Smerti(RASToMAN) DRW

Re: ковка фулов

Post by Irina E »

а причём тут голд я кравчю из блод рок просто 25к игов крафтить в ручную нет так то и просто
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: ковка фулов

Post by Mirage »

Irina E wrote:есть такоЙ скрипт но почему та через несколько минут он выдает ошибку а иногда и крэшит

Ошибку выдает всего скорее изза мелких пауз в 10-50. Замени из на 300 хотябы.
А крашит вполне закономерно. В конце скрипта есть команда закрывающая клиент после того как кончаются инги.
Post Reply