Дело в том, что если руда в паке заканчивается не до конца... Допустим останется 1-2 ингота. Чар руду не добирает. А настроено все правильно. Пожалуйста обьясните что делать? Или если возможно то скиньте нормальный скрипт.
; Tinker. v.1.00b (c) Edred ; ; Чар берет из сундука инготы, крафтит из них бутылки ; и складывает эти бутылки в этот же сундук. ; Если инги закончились - выход. ; sub tinker() VAR Sunduk = '0x4011C8A7' ; Сериал сундука VAR Ingi = '0x1BEF' ; Тип ингов VAR Instrum = '0x1EBC' ; Тип инструмента тинкера VAR Bottle = '0x0F0E' ; Тип бутылки VAR Kolvo = 200 ; Брать ингов VAR k = 0 While TRUE UO.FindType( Ingi, -1, Sunduk ) ; Ищем инги в сундуке If UO.FindCount() == 0 Then UO.Print("Iron Ingots not found, script terminated") return Endif UO.Grab( Str( Kolvo ), 'finditem' ) wait( 2000 ) While UO.Count( Ingi ) > 0 ; Пока в паке есть инги UO.Print('Ostalos ' + Str( UO.Count( Ingi ) ) + ' ingots' ) UO.DeleteJournal() UO.CancelMenu() UO.WaitMenu ('Tinkering', 'Tools', 'Tools', 'empty bottle' ) UO.UseType( Instrum ) k = 0 while NOT UO.InJournal('You put') AND NOT UO.InJournal('fail') AND ( k < 30 ) k = k + 1 wait(500) wend if UO.Count( Bottle ) > 0 then UO.FindType( Bottle, -1, -1 ) UO.MoveItem( 'finditem', 0, Sunduk ) wait( 1000 ) UO.Print( 'Bottle moved' ) end if Wend Wend end sub
sub tinker() VAR Sunduk = '0x418B6351' ; Сериал сундука VAR Ingi = '0x1BEF' ; Тип ингов VAR Instrum = '0x1EBC' ; Тип инструмента тинкера VAR Bottle = '0x0F0E' ; Тип бутылки VAR Kolvo = 500 ; Брать ингов VAR k = 0 While TRUE UO.FindType( Ingi, -1, Sunduk ) ; Ищем инги в сундуке If UO.FindCount() == 0 Then UO.Print("Iron Ingots not found, script terminated") return Endif UO.Grab( Str( Kolvo ), 'finditem' ) wait( 2000 ) While UO.Count( Ingi ) > 0 ; Пока в паке есть инги UO.Print('Ostalos ' + Str( UO.Count( Ingi ) ) + ' ingots' ) UO.DeleteJournal() UO.CancelMenu() UO.WaitMenu ('Tinkering', 'Tools', 'Tools', 'Empty Alchemist Bottle' ) UO.UseType( Instrum ) k = 0 while NOT UO.InJournal('You put') AND NOT UO.InJournal('fail') AND ( k < 30 ) k = k + 1 wait(500) wend if UO.Count( Bottle ) > 0 then UO.FindType( Bottle, -1, -1 ) UO.MoveItem( 'finditem', 0, Sunduk ) wait( 1000 ) UO.Print( 'Bottle moved' ) end if if UO.Count( Ingi ) < 3 then UO.FindType( Ingi, -1, -1 ) UO.MoveItem( 'finditem', 0, Sunduk ) wait( 1000 ) UO.Print( 'Ingi moved' ) end if Wend Wend end sub Wend Wend end sub
sub tinker() VAR Sunduk = '0x418B6351' ; Сериал сундука VAR Ingi = '0x1BEF' ; Тип ингов VAR Instrum = '0x1EBC' ; Тип инструмента тинкера VAR Bottle = '0x0F0E' ; Тип бутылки VAR Kolvo = 500 ; Брать ингов VAR k = 0 UO.FindType( Ingi, -1, Sunduk ) UO.Grab( Str( Kolvo ), 'finditem' ) wait( 2000 ) While UO.Count( Ingi ) > 0 ; Пока в паке есть инги UO.DeleteJournal() UO.CancelMenu() UO.WaitMenu ('Tinkering', 'Tools', 'Tools', 'Empty Alchemist Bottle' ) UO.UseType( Instrum ) k = 0 while NOT UO.InJournal('You put') AND NOT UO.InJournal('fail') AND ( k < 30 ) k = k + 1 wait(500) wend if UO.Count( Bottle ) > 0 then UO.FindType( Bottle, -1, -1 ) UO.MoveItem( 'finditem', 0, Sunduk ) wait( 1000 ) end if if UO.Count( Ingi ) < 3 then UO.FindType( Ingi, -1, -1 ) UO.MoveItem( 'finditem', 0, Sunduk ) wait( 1000 ) end if Wend Wend end sub
да кстати перед запуском скрипта обязательно открывать сундук