ТК

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
dioXido
Posts: 37
Joined: 2005-09-20 09:39:03

ТК

Post by dioXido »

Дело в том, что если руда в паке заканчивается не до конца... Допустим останется 1-2 ингота. Чар руду не добирает. А настроено все правильно. Пожалуйста обьясните что делать? Или если возможно то скиньте нормальный скрипт.

Code: Select all

; 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
tRusTm3
Posts: 20
Joined: 2006-10-25 09:35:37

Post by tRusTm3 »

незнаю как, но возможно надо прописать чтобы если в паке оставалось 1-2 инга, он скидывал бы их в сундук к остальным)
tRusTm3
Posts: 20
Joined: 2006-10-25 09:35:37

Post by tRusTm3 »

вот так вроде норм работает)))
- когда меньше 2х ингов он их кидает в сундук и потом берет из сундука указанное кол-во ингов

Code: Select all

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
tRusTm3
Posts: 20
Joined: 2006-10-25 09:35:37

Post by tRusTm3 »

были терминейты во время скрипта.......
походу решил проблему, тьфу тьфу тьфу))))

Code: Select all

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


да кстати перед запуском скрипта обязательно открывать сундук
Post Reply