Скрипт готов на готов на 90%, осталось наверное

одна ошибка. Вот он крафтит, крафтит, в вот в мешке переполнение и он берёт новый мешок... а потом ещё ещё ещё... Пока не перетащит все мешки. Я имею ввиду то что он не крафтит, а просто в цыкле начинает перетаскивать мешки....
Quote:
var BagSer
VAR Bag = '0x0E76' ## Òèï ñóìêè
###################################
sub bowcraft()
wait(500)
VAR Sunduk = '0x400D2C79' ## Ñåðèéíèê ñóíäóêà
VAR Sunduk2 = '0x4009B2BC' ## Ñåðèéíèê ñóíäóêà 2
VAR Logi = '0x1BDD' ## Òèï ëîãîâ
###############################################################################
ôóíêöèþ
VAR Spool = '0x0FA0' ## Òèï íèòîê
###############################################################################
VAR Bow = '0x13B1' ## Òèï ëóêîâ
VAR Kolvo = 6 ## Êîëè÷åñòâî ëîãîâ êîòîðîå áåð¸ì
###############################################################################
VAR Kolvo2 = 1 ## Êîëè÷åñòâî íèòîê êîòîðîå áåð¸ì
###############################################################################
VAR k = 0, j, dagger
dagger = UO.ObjAtLayer( 'Rhand' )
UO.SetGlobal( 'instrtype', UO.GetGraphic( dagger ) )
## Òóò ìû áåð¸ì ëîãè
NewBag()
UO.FindType( Bow, -1, -1 )
uo.moveitem('finditem',0,BagSer)
While TRUE
if uo.count(Logi) <> 6 then
uo.findtype('0x1BDD', -1, -1)
UO.MoveItem( 'finditem', 0, Sunduk )
endif
wait(500)
If UO.Count( Logi ) == 0 Then
UO.FindType( Logi, -1, Sunduk )
If UO.FindCount() == 0 Then
UO.Print("Logs not found, script terminated")
return
else
UO.Grab( Str( Kolvo ), 'finditem' )
wait(500)
wend
Endif
Endif
###############################################################################
If UO.Count( Spool ) == 0 Then
UO.FindType( Spool, -1, Sunduk )
If UO.FindCount() == 0 Then
UO.Print("Spool not found, script terminated")
return
Endif
Endif
UO.Grab( Str( Kolvo2 ), 'finditem' )
wait(500)
while UO.Count( Spool ) < Kolvo2
wait(100)
wend
###############################################################################
UO.DeleteJournal()
UO.CancelMenu()
UO.WaitTargetType( Logi )
UO.UseObject( dagger )
UO.WaitMenu ('What do you want to carve', 'bow' )
k = 0
while NOT UO.InJournal('You put') AND NOT UO.InJournal('fail') AND ( k < 50 )
k = k + 1
wait(300)
wend
If UO.Count( Bow ) > 0 then
UO.FindType( Bow, -1, -1 )
UO.MoveItem( 'finditem', 0, BagSer )
wait(500)
while UO.Count( Bow ) > 0
wait(100)
if UO.InJournal("Too many items") then
NewBag()
UO.FindType( Bow, -1, -1 )
uo.moveitem('finditem',0,BagSer)
endif
wend
UO.Print( 'Bow moved' )
Endif
Wend
end sub
sub NewBag()
UO.UseObject('0x400D2C79')
UO.UseObject('0x4009B2BC')
UO.FindType('0x0E76', -1, '0x400D2C79')
UO.Print('Ok')
BagSer=UO.GetSerial('finditem')
UO.MoveItem(BagSer, 0, '0x4009B2BC')
wait(1000)
end sub