Code: Select all
sub Smithing()
####
#This script will take 3 ingots from the floor at a time and smith a dagger
#Scripted by Nidht
####
#This next line defines the ingots type. Change it if your server uses a different type.
VAR Ingotz = '0x1bef'
Repeat
###Check for ingots###
UO.Findtype( Ingotz, -1, 1 )
If UO.Findcount() == 0 Then
UO.Print( "No more ingots for smithing..." )
Return
Endif
###Move ingots to pack###
UO.Exec( "moveitem finditem 3" )
Wait( 1000 )
###Smith dagger###
#As long as you don't mess around with the ingot pickup count, the waitmenu will work fine
#Only allow 3 ingots to enter your pack at any time
UO.Waitmenu('blacksmithing','weapons','swords','dagger')
UO.Useobject( 'finditem' )
Wait ( 7500 )
#####Dropbag Section#####
UO.Findtype( 0x0f51, -1, -1 )
UO.Moveitem( 'finditem','0','dropbag' )
Wait ( 1000 )
UO.UseObject ("dropbag")
Until UO.InJournal("Warning") OR NOT UO.CountGround ( Ingotz )
UO.Print("Done smithing...")
endsub
The "dropbag" section can be taken out completely if you don't mind having the daggers clutter your pack or fall to the ground. The server I play on does not allow for items to fall from the pack to the ground while macroing, so my "dropbag" is a trashbin next to my forge and then I "use" it to clear it.
The script will stop when no ingots (3 is needed to smith a dagger) are left on the ground or you pick up less than 3.