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

Code:
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:
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
Или вот так
поиск - фулл