Page 1 of 1

Тинкер/Tinkering/Bottle/Sand/Бутылка/песок/WH2

Posted: 2006-12-17 14:16:28
by Deathclaw
Тинкеринг для вещей с 2-мя ингридиентами. В данном случаей крафтит бутылки на World's heart 2 из песка и айрона

Code: Select all

sub tinker() 
VAR Sunduk = '0x401AC3A2'         ; ID sunduka s ingami + kuda budut skladivatsja sdellanie ve6i
VAR Ingi = '0x1BEF'               ; Type ingov
VAR Sand = '0x101F' 
VAR Instrum = '0x1EBC'            ; Type tinkerskogo instrumenta
VAR Item = '0x0F0E'               ; Type sdelannoj ve6i
VAR Kolvo = 200                   ; Skolko ingotov iz sunduka
VAR k = 0
While TRUE
UO.FindType( Ingi, -1, Sunduk )   ; I6em ingi v sunduke
If UO.FindCount() == 0 Then
UO.Print("Iron Ingots not found, script terminated")
return
Endif
UO.Grab( Str( Kolvo ), 'finditem' )
wait( 2000 )

UO.FindType( Sand, -1, Sunduk )   ; I6em pesok v sunduke
If UO.FindCount() == 0 Then
UO.Print("Sand not found, script terminated")
return
Endif
UO.Grab( Str( Kolvo ), 'finditem' )
wait( 2000 )

While UO.Count( Ingi ) > 2        ; Trbuemoe koli4estvo ingov na sozdanie itema minus 1
While UO.Count( Sand ) > 2
UO.DeleteJournal()
UO.CancelMenu()
UO.WaitMenu ('Tinkering', 'Tools', 'Tools', 'empty bottle' )
wait(600)
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( Item ) > 0 then
UO.FindType( Item, -1, -1 )
UO.MoveItem( 'finditem', 0, Sunduk )
wait( 1000 )
UO.Print( 'Created item moved' )
end if
Wend
Wend
end sub

Posted: 2006-12-17 14:59:01
by Deathclaw
Можете поправить? Тут он не берёт второй раз инги и песок когда заканчивается .

Posted: 2006-12-17 16:17:21
by Nmy
Deathclaw wrote:Можете поправить? Тут он не берёт второй раз инги и песок когда заканчивается .

нехватает ищо 1 wend'a :roll:

Posted: 2006-12-18 01:24:47
by Deathclaw
Угу, спасибо, я уже нашёл, до-того как уходил днём, тока не успел отписать что бы вы не затрудняли себя поиском, еле еле на макрос чара поставить успел :( Извените =) всё равно огромное спасибо

Re: Тинкер/Tinkering/Bottle/Sand/Бутылка/песок/WH2

Posted: 2010-08-20 00:57:17
by Valov
Быть может кто нить подскажет куда этот wend вписать.

Re: Тинкер/Tinkering/Bottle/Sand/Бутылка/песок/WH2

Posted: 2010-08-20 09:20:19
by Mirage
прямо перед end sub.

Re: Тинкер/Tinkering/Bottle/Sand/Бутылка/песок/WH2

Posted: 2010-08-20 13:23:35
by Valov
Вот я под себя переделал и венд вписал там где ты сказал. Через некоторые время меня дисконектит.

sub tinker()
VAR Sunduk = '0x40114C61' ; ID sunduka s ingami + kuda budut skladivatsja sdellanie ve6i
VAR Ingi = '0x1BEF' ; Type ingov
VAR Sand = '0x1DFD'
VAR Instrum = '0x1EBC' ; Type tinkerskogo instrumenta
VAR Item = '0x0F0E' ; Type sdelannoj ve6i
VAR Kolvo = 200 ; Skolko ingotov iz sunduka
VAR k = 0
While TRUE ;1
UO.FindType( Ingi, -1, Sunduk ) ; I6em ingi v sunduke
If UO.FindCount() == 0 Then
UO.Print("Iron Ingots not found, script terminated")
return
Endif
UO.Grab( Str( Kolvo ), 'finditem' )
wait( 2000 )

UO.FindType( Sand, -1, Sunduk ) ; I6em pesok v sunduke
If UO.FindCount() == 0 Then
UO.Print("Sand not found, script terminated")
return
Endif
UO.Grab( Str( Kolvo ), 'finditem' )
wait( 2000 )


While UO.Count( Ingi ) > 5 ; Trbuemoe koli4estvo ingov na sozdanie itema minus 1 ;2
While UO.Count( Sand ) > 5 ;3
UO.DeleteJournal()
uo.usetype(Instrum)
wait(1000)
UO.LClick(492,456)
wait(600)
k = 0

while NOT UO.InJournal('You put') AND NOT UO.InJournal('fail') AND ( k < 30 )
k = k + 1
wait(500)
if UO.Count( Item ) > 0 then
UO.FindType( Item, -1, -1 )
UO.MoveItem( 'finditem', 0, Sunduk )
wait(1000 )
UO.Print( 'Created item moved' )
end if
wend
wend
wend
end sub