пропиши свои типы.
2 или 3 сундука. в одном пустые мешки, в другом полные с луками. Еда (рыба) логи нитки.Тесть

Code:
VAR Container = '0x40C0E9A6' ;айрон, рыба, инструменты, может быть равен Sunduk 1
VAR Sunduk1 = '0x407ADC1A' ;пустые мешки
VAR Sunduk2 = '0x407ADE6A' ;полные
VAR log = '0x1BDD'
VAR Dagger = '0x0F51'
VAR Bow = '0x13B1' #лук#
VAR spool = '0x0FA0' #нитки#
VAR Meshok = '0x0E76';тип мешка
VAR MeshSer, d, LastTimer
var havka = '0x097B'
var colbow = 50 ; количество луков в 1 мешке
###################
sub Bowcraft()
WHILE NOT UO.Dead()
UO.FindType( Meshok, '-1', Sunduk1 )
MeshSer = UO.GetSerial( 'finditem' )
UO.MoveItem( MeshSer, 0, Sunduk2 )
checklag()
uo.useobject( MeshSer )
eat()
REPEAT
GET(log, Container, 10, 200)
GET(spool, Container, 5, 100)
Repeat
UO.DeleteJournal()
LastTimer=UO.Timer()
UO.WaitMenu ('What do you','Exceptional Bows','Exceptional Bows','Superior Crossbow')
UO.waittargettype ( log )
UO.Usetype( Dagger )
repeat
wait( 100 )
until UO.InJournal("You put|положили|fail|не удалось|You broke|сломали") or UO.Timer()>LastTimer+150
Until UO.Count( Bow )>0
checklag()
PUT(Bow, MeshSer)
UO.FindType( Bow, -1, MeshSer)
UO.Print('Сделано луков: ' + Str( UO.FindCount( Bow ) ) )
UNTIL UO.FindCount()>=colbow
UO.Print('Берем другую сумку' )
wait( 300 )
WEND
end sub
###################
Sub eat()
GET(havka, Container, 1, 20)
REPEAT
UO.DeleteJournal()
LastTimer=UO.Timer()
UO.findtype(havka,-1,'backpack')
If UO.FindCount() > 0 Then
UO.Useobject('finditem')
wait(200)
Else
UO.Print( 'кончилась рыба' )
return 0
end if
Until UO.InJournal("stuffed!|think|found|Вы ничего не можете") OR UO.Timer()>LastTimer+200
PUT(havka, Container)
end sub
Sub GET(item, cont, min, max) ; предмет, откуда, минимум, сколько брать
If UO.Count( item ) < min Then
# UO.Print("Кончилось сырье в рукзаке")
UO.FindType( item, '-1', cont )
if UO.FindCount() > 0 Then
# UO.Print('Сырья в сундуке: ' + Str( UO.FindCount( item ) ) )
uo.moveitem('finditem', max, 'backpack')
checklag()
else
UO.Print( 'Полностью кончилось сырье' )
UO.CancelMenu()
MyTerminate()
endif
Endif
end sub
Sub PUT(item, cont)
while UO.Count( item ) > 0
UO.FindType( item, -1, -1 )
UO.MoveItem( 'finditem', 0, cont )
checklag()
wend
end sub
Sub DeleteJournal(msg)
While UO.InJournal(msg)
UO.SetJournalLine(UO.InJournal(msg) - 1,'')
wend
endsub
Sub MyTerminate()
UO.Set('quiet','1')
UO.CancelMenu()
UO.IgnoreReset()
UO.Set('quiet','0')
UO.Exec('terminate all')
end sub
Sub checklag()
DeleteJournal("ackpack")
UO.Click("backpack")
repeat
wait(100)
until UO.InJournal("ackpack")
end sub