Помогите,инсрипт не идет!!!

Anything and all.

Moderators: Murderator+, Murderator

Locked
xas
Posts: 17
Joined: 2005-01-16 08:29:40

Помогите,инсрипт не идет!!!

Post by xas »

####################################################################
; Inscription2. v.1.05b (c) Edred
;
; Берем из сундука blank scroll, blood pearl, black moss, mandrake root
; крафтим из них скролл Recall (с повторами в случае физлов),
; потом скидываем готовый скролл в тот же сундук.
; Если что-либо кончилось - выход.


sub inscript2()
VAR Sunduk = '0x40143ED4' ; Сериал сундука с бланкскроллами и регами
VAR Blank = '0x0E34' ; Тип бланк скролла
VAR Arrow = '0x1F40' ; Тип скроллов Poison
VAR Reg1 = '0x0F88' ; Nightshade
VAR Fizzle = 'You fail to inscribe the scroll'
VAR Success = 'You put the'
VAR k
; UO.SetGlobal( 'TimeProcess', str( UO.Timer() ) )
UO.CancelMenu()
UO.AutoMenu( 'Spell Circles', 'Third Circle' )
UO.AutoMenu( 'Spell Circle 3', 'Poison' )
UO.UseObject( Sunduk )
wait(1000)
While UO.SkillVal( 'Inscription' ) < 1000
; берем бланк скроллы
; EatChar( Sunduk, 2, 1, 120 )
If UO.Count( Blank ) == 0 Then
UO.FindType( Blank, -1, Sunduk )
If UO.FindCount() == 0 Then
UO.Print( 'Blank Scroll not found. Script terminated' )
return
Endif
If UO.GetQuantity( 'finditem' ) < 100 Then
UO.Grab( '0', 'finditem' )
repeat
wait(100)
until UO.Count( Blank ) > 0
CheckLag()
Else
UO.Grab( '100', 'finditem' )
repeat
wait(100)
until UO.Count( Blank ) == 100
CheckLag()
Endif
Endif
; берем Nightshade
If UO.Count( Reg1 ) == 0 Then
UO.FindType( Reg1, -1, Sunduk )
If UO.FindCount() == 0 Then
UO.Print( 'Nightshade not found. Script terminated' )
return
Endif
If UO.GetQuantity( 'finditem' ) < 100 Then
UO.Grab( '0', 'finditem' )
repeat
wait(100)
until UO.Count( Reg1 ) > 0
CheckLag()
Else
UO.Grab( '100', 'finditem' )
repeat
wait(100)
until UO.Count( Reg1 ) == 100
CheckLag()
Endif
repeat
DeleteJournal( Fizzle )
DeleteJournal( Success )
UO.UseType( Blank )
k = 0
repeat
k = k + 1
wait(100)
until UO.InJournal( Fizzle ) OR UO.InJournal( Success ) OR UO.Count( Blank ) == 0 OR UO.Count( Reg1 ) == 0 OR UO.Count( Reg2 ) == 0 OR k > 600
If UO.Mana < 10 Then
repeat
UO.UseSkill( 'Meditation' )
wait(2000)
until UO.Mana == UO.Int
Endif
Until UO.Count( Blank ) == 0 OR UO.Count( Reg1 ) == 0
While UO.Count( Arrow ) > 0
UO.FindType( Arrow )
If UO.FindCount() > 0 Then
UO.MoveItem( 'finditem', 0, Sunduk )
wait(1000)
CheckLag()
Endif
Wend
Wend
UO.CancelMenu()
endsub

#####################################################################
Sub CheckLag()
DeleteJournal( 'backpack' )
UO.Click( 'backpack' )
repeat
wait(100)
until UO.InJournal( 'backpack' )
return
end sub

#####################################################################
Sub DeleteJournal( string1 )
VAR nom = UO.InJournal( string1 )
If nom > 0 Then
UO.SetJournalLine( Nom - 1, 'string replaced' )
DeleteJournal( string1 )
Endif

Скрипт не мой,я переделал своим кривыми руками его под свитки пойзон.Но он не пашет,пишет мне ошибку-: Line 75: Variable undefined-REG2. Я в англиском не силен но вроде он не может опр. рег под номерам два :) Так что надо переделать чтоб ето все работало,зарание спасибо!!!
BETEPAH
Expert!
Posts: 838
Joined: 2004-05-31 09:31:51
Contact:

Post by BETEPAH »

нет он у тебя не видит переменую Рег жва .....в начале скрипта добавь ее по примеру этих

VAR Sunduk = '0x40143ED4' ; Сериал сундука с бланкскроллами и регами
VAR Blank = '0x0E34' ; Тип бланк скролла
VAR Arrow = '0x1F40' ; Тип скроллов Poison
VAR Reg1 = '0x0F88' ; Nightshade
VAR Fizzle = 'You fail to inscribe the scroll'
VAR Success = 'You put the'
VAR k
Все просто.
BETEPAH ™
xas
Posts: 17
Joined: 2005-01-16 08:29:40

Post by xas »

BETEPAH wrote:нет он у тебя не видит переменую Рег жва .....в начале скрипта добавь ее по примеру этих


VAR Reg1 = '0x0F88' ; Nightshade



т.е. прописать ету строчку только вместо рег1 написать рег2,извини за тупой вопрос тока начинаю в етом разбираться ))
xas
Posts: 17
Joined: 2005-01-16 08:29:40

Post by xas »

BETEPAH wrote:нет он у тебя не видит переменую Рег жва .....в начале скрипта добавь ее по примеру этих

VAR Sunduk = '0x40143ED4' ; Сериал сундука с бланкскроллами и регами
VAR Blank = '0x0E34' ; Тип бланк скролла
VAR Arrow = '0x1F40' ; Тип скроллов Poison
VAR Reg1 = '0x0F88' ; Nightshade
VAR Fizzle = 'You fail to inscribe the scroll'
VAR Success = 'You put the'
VAR k



Переделал и работает )) вВот что у меня в итоге получилось с этими строчками

VAR Sunduk = '0x40143ED4' ; Сериал сундука с бланкскроллами и регами
VAR Blank = '0x0E34' ; Тип бланк скролла
VAR Arrow = '0x1F40' ; Тип скроллов Poison
VAR Reg = '0x0F88' ; Nightshade
VAR Reg1 = '0x0F88' ; Nightshade
VAR Reg2 = '0x0F88' ; Nightshade
VAR Fizzle = 'You fail to inscribe the scroll'
VAR Success = 'You put the'
VAR k
xas
Posts: 17
Joined: 2005-01-16 08:29:40

Post by xas »

Не пашет ааааааааааааааааааааааааааааа,что делать сначало работал но когда закл. бланки и реги он перста работать((
flake
Expert!
Posts: 746
Joined: 2004-08-11 23:56:17
Location: The Citadel
Contact:

Post by flake »

Лови!
Чтобы скрипт корректно работал, кинь по 1-2 других регов в пак, чтобы в меню инскрипта были и другии выборы.

Code: Select all

sub inscript() 
 var Sunduk = '0x40400E5C'       ; Сериал сундука
 var Scroll = '0x0E34'           ; бланк скрол, тип
 var k = 0
 var MakedScroll  = '0x1F40'       ; готовый скрол, тип
 var reg1 = '0x0F88'         ; сюда вписать реги, нужные для крафта
 var reg2 = ''
 var reg3 = ''
 var reg4 = ''
 VAR t

 While TRUE
  UO.FindType( Scroll, -1, Sunduk )
  if UO.FindCount() == 0 Then
   UO.Print( "Blank scrolls not found, script terminated" )
   return
  end if
  UO.Grab( '100', 'finditem' )
  wait( 2000 )
  UO.FindType( reg1, -1, Sunduk )   
  if UO.FindCount() == 0 Then
  UO.Print( "Reagents not found, script terminated" )
   return
  end if
  UO.Grab( '100', 'finditem' ) 
  wait( 2000 )
 ; UO.FindType( reg2, -1, Sunduk )   ; активировать для крафта других свитков
 ; if UO.FindCount() == 0 Then
 ;  UO.Print( "Reagents not found, script terminated" )
 ;  return
 ; end if
 ; UO.Grab( Str(Quantity*Quantitypb), 'finditem' ) 
 ; wait( 2000 )
 ; UO.FindType( reg3, -1, Sunduk )   
 ; if UO.FindCount() == 0 Then
 ;  UO.Print( "Reagents not found, script terminated" )
 ;  return
 ; end if
 ; UO.Grab( Str(Quantity*Quantitypb), 'finditem' ) 
 ; wait( 2000 )
 ; UO.FindType( reg4, -1, Sunduk )   
 ; if UO.FindCount() == 0 Then
 ;  UO.Print( "Reagents not found, script terminated" )
 ;  return
 ; end if
 ; UO.Grab( Str(Quantity*Quantitypb), 'finditem' ) 
 ; wait( 2000 )
  While UO.Count( Reg1 ) > 0 and UO.Count( Scroll ) >0
   UO.DeleteJournal()
   While NOT UO.InJournal( 'You are at peace')
    UO.UseSkill("Meditation")
    Wait(1000)
   Wend
   UO.DeleteJournal()
    While NOT UO.InJournal( 'You are at peace')
    UO.UseSkill("Meditation")
    Wait(1000)
   Wend
   UO.DeleteJournal()
   UO.CancelMenu()
   UO.WaitMenu ( 'Spell', 'Third', 'Spell', 'Poison' )
   UO.UseType( Scroll )
   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( MakedScroll ) > 0 then
    UO.FindType( MakedScroll, -1, -1 )
    UO.MoveItem( 'finditem', 0, Sunduk )
    wait( 1000 )
   end if
  wend
  if UO.Count( reg1 ) > 0 then
   UO.FindType( reg1, -1, -1 )
   UO.MoveItem( 'finditem', 0, Sunduk )
   wait( 1000 )
  end if
;  if UO.Count( reg2 ) > 0 then ; активировать для крафта других свитков
;   UO.FindType( reg2, -1, -1 )
;   UO.MoveItem( 'finditem', 0, Sunduk )
;   wait( 1000 )
;  end if
;  if UO.Count( reg3 ) > 0 then
;   UO.FindType( reg3, -1, -1 )
;   UO.MoveItem( 'finditem', 0, Sunduk )
;   wait( 1000 )
;  end if
;  if UO.Count( reg4 ) > 0 then
;   UO.FindType( reg4, -1, -1 )
;   UO.MoveItem( 'finditem', 0, Sunduk )
;   wait( 1000 )
;  end if
 Wend
end sub
xas
Posts: 17
Joined: 2005-01-16 08:29:40

Post by xas »

flake сенк за помощь,скрипт работает на ура )).
Locked