Народ подправте скриптик...

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
Balu
Posts: 76
Joined: 2004-10-30 21:28:19

Народ подправте скриптик...

Post by Balu »

Вот такой скриптик. Нужно что бы когда кончаются бутылки в сундуке и в паке скрипт переходил на тинкер бутылоки допустим как сделает 500 бутылок опять запускался бы скрипт на алхимию! помогите плиз!

Code: Select all

sub Alchemy() 
   VAR Sunduk=0x40869B5A ;ID Сундука
   VAR Dagger=0x40F0937F ;ID Оружия которое травим
   VAR Exit=0, LastTimer, TryToPoison


   while Exit<>1 
      UO.DeleteJournal() 
      UO.FindType('0x0F0E',-1,'backpack') ; 
      If UO.GetQuantity('finditem')<10 then 
         UO.FindType('0x0F0E','0x0000',Sunduk) 
         wait(1000) 
         UO.Grab('300','finditem') 
         wait(1000) 
      Endif 
      UO.FindType('0x0F88','0x0000','backpack') 
      If UO.GetQuantity('finditem')<20 then 
         UO.FindType('0x0F88','0x0000',Sunduk) 
         wait(1000) 
         UO.Grab('1000','finditem') 
         wait(6000) 
      Endif
      LastTimer=UO.Timer() 
      UO.WaitMenu('What','(2)') ; (1) Lesser Poison (2)Poison (3) Great Poison 
      UO.UseType(0x0F88)
      while NOT UO.InJournal("You put") AND NOT UO.InJournal("You toss the failed") 
            wait(500) 
      wend 
      If UO.InJournal("You toss the failed") then 
         repeat 
            wait(100) 
         until UO.Timer()>=LastTimer+100 
      Else 
         TryToPoison=1 
         repeat 
            UO.FindType('0x0F0A','0x0000','my') 
            If UO.GetQuantity('finditem')>0 then 
               UO.WaitTargetObject(dagger,'finditem') 
               UO.UseSkill('Poisoning') 
               wait(6000)
               if uo.injournal('You fail')then
				Healing()
				end if
            Else 
               TryToPoison=0 
            Endif 
         until TryToPoison==0 
      EndIf 
UO.DeleteJournal() 
UO.UseSkill('Spirit') 
repeat 
wait(100) 
until uo.injournal('You establish') or uo.injournal('You fail')
wend
end sub

sub Healing()  
UO.Exec("bandageself") 
wait(3000)
cheklag()
end sub

sub cheklag() 
uo.deletejournal() 
uo.click('backpack') 
repeat 
wait(10) 
until uo.InJournal("backpack") 
end sub 

sub Reconnector() 
var ReconnectTime, RFlag 
ReconnectTime = '0' 
RFlag = 1 
Repeat 
While (UO.ObjAtLayer('Bpack') == '') 
if RFlag Then 
ReconnectTime = MakeTime() 
RFlag = 0 
endif 
Wait(20000) # WorldSave Protection 
UO.Say('') 
Wait(3000) 
UO.Say('') 
Wait(3000) 
UO.Say('') 
Wait(3000) 
UO.LDblClick(357,164) 
UO.LClick(616,459) 
Wait(3000) 
WEnd 
Wait(3000) 
if (RFlag == 0) and (ReconnectTime <> '0') Then 
UO.Exec('terminate Alchemy') 
wait(1000) 
UO.Exec('exec Alchemy') 
UO.TextOpen() 
UO.TextPrint('Disconnected & Reconnected @ '+ReconnectTime) 
RFlag = 1 
ReconnectTime = '0' 
endif 
Until false 
end sub 

sub MakeTime() 
VAR D, T, Ret, i 
Ret = STR(UO.Time()) 
T = "" 
For i = 0 To Len(Ret) 
T = Ret[Len(Ret)-i] + T 
If (I == 2) OR (I == 4) Then 
T = ":" + T 
EndIf 
Next 
Ret = STR(UO.Date()) 
D = "" 
For i = 0 To Len(Ret) 
D = Ret[Len(Ret)-i] + D 
If (I == 2) OR (I == 4) Then 
D = "." + D 
EndIf 
Next 
Ret = T + " @ " + D 
RETURN Ret 
end sub


sub tinker() 
VAR Sunduk = '0x40869B5A' ; Сундук с ингами
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
Denton
Posts: 82
Joined: 2004-07-14 22:56:46
Location: Украина, Одесса
Contact:

Re: Народ подправте скриптик...

Post by Denton »

Code: Select all

sub Alchemy() 
   VAR Sunduk=0x40869B5A ;ID Сундука
   VAR Dagger=0x40F0937F ;ID Оружия которое травим
   VAR Exit=0, LastTimer, TryToPoison


   while Exit<>1 
      UO.DeleteJournal() 
      UO.FindType('0x0F0E',-1,'backpack') ; 
      If UO.GetQuantity('finditem')<10 then 
         UO.FindType('0x0F0E','0x0000',Sunduk) 
if Uo.getQuantity('finditem')=0 then                            ### DOBAVIL
tinker()                                                                    ### DOBAVIL
else                                                                         ### DOBAVIL
         wait(1000) 
         UO.Grab('300','finditem') 
         wait(1000) 
      Endif 
      UO.FindType('0x0F88','0x0000','backpack') 
      If UO.GetQuantity('finditem')<20 then 
         UO.FindType('0x0F88','0x0000',Sunduk) 
         wait(1000) 
         UO.Grab('1000','finditem') 
         wait(6000) 
      Endif
      LastTimer=UO.Timer() 
      UO.WaitMenu('What','(2)') ; (1) Lesser Poison (2)Poison (3) Great Poison 
      UO.UseType(0x0F88)
      while NOT UO.InJournal("You put") AND NOT UO.InJournal("You toss the failed") 
            wait(500) 
      wend 
      If UO.InJournal("You toss the failed") then 
         repeat 
            wait(100) 
         until UO.Timer()>=LastTimer+100 
      Else 
         TryToPoison=1 
         repeat 
            UO.FindType('0x0F0A','0x0000','my') 
            If UO.GetQuantity('finditem')>0 then 
               UO.WaitTargetObject(dagger,'finditem') 
               UO.UseSkill('Poisoning') 
               wait(6000)
               if uo.injournal('You fail')then
				Healing()
				end if
            Else 
               TryToPoison=0 
            Endif 
         until TryToPoison==0 
      EndIf 
UO.DeleteJournal() 
UO.UseSkill('Spirit') 
repeat 
wait(100) 
until uo.injournal('You establish') or uo.injournal('You fail')
wend
end sub

sub Healing()  
UO.Exec("bandageself") 
wait(3000)
cheklag()
end sub

sub cheklag() 
uo.deletejournal() 
uo.click('backpack') 
repeat 
wait(10) 
until uo.InJournal("backpack") 
end sub 

sub Reconnector() 
var ReconnectTime, RFlag 
ReconnectTime = '0' 
RFlag = 1 
Repeat 
While (UO.ObjAtLayer('Bpack') == '') 
if RFlag Then 
ReconnectTime = MakeTime() 
RFlag = 0 
endif 
Wait(20000) # WorldSave Protection 
UO.Say('') 
Wait(3000) 
UO.Say('') 
Wait(3000) 
UO.Say('') 
Wait(3000) 
UO.LDblClick(357,164) 
UO.LClick(616,459) 
Wait(3000) 
WEnd 
Wait(3000) 
if (RFlag == 0) and (ReconnectTime <> '0') Then 
UO.Exec('terminate Alchemy') 
wait(1000) 
UO.Exec('exec Alchemy') 
UO.TextOpen() 
UO.TextPrint('Disconnected & Reconnected @ '+ReconnectTime) 
RFlag = 1 
ReconnectTime = '0' 
endif 
Until false 
end sub 

sub MakeTime() 
VAR D, T, Ret, i 
Ret = STR(UO.Time()) 
T = "" 
For i = 0 To Len(Ret) 
T = Ret[Len(Ret)-i] + T 
If (I == 2) OR (I == 4) Then 
T = ":" + T 
EndIf 
Next 
Ret = STR(UO.Date()) 
D = "" 
For i = 0 To Len(Ret) 
D = Ret[Len(Ret)-i] + D 
If (I == 2) OR (I == 4) Then 
D = "." + D 
EndIf 
Next 
Ret = T + " @ " + D 
RETURN Ret 
end sub


sub tinker() 
VAR Sunduk = '0x40869B5A' ; Сундук с ингами
VAR Ingi = '0x1BEF' ; тип ингов
VAR Instrum = '0x1EBC' ; тип инструмента 
VAR Bottle = '0x0F0E' ; тип бутылок 
VAR Kolvo = 200 ; по сколько ингов берем
VAR k = 0, number=0                                                ### DOBAVIL
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 AND number<500              ### DOBAVIL
; Ïîêà â ïàêå åñòü èíãè 
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' ) 
number=number+1                                                    ### DOBAVIL
end if  
Wend 
Wend 
end sub
Пробуй.
Post Reply