помагите со скриптом плизз

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
Kashita
Posts: 22
Joined: 2004-12-30 13:18:54

помагите со скриптом плизз

Post by Kashita »

народ плизз помогите сделать тут цикличность, чтоб когда что то кончалось, брал снова и продолжал
вот скрипт

Code: Select all

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


sub inscript2() 
   VAR Sunduk = '0x401F39B4'       ; Сериал сундука с бланкскроллами и регами 
   VAR Blank = '0x0E34'          ; Тип бланк скролла 
   VAR Arrow = '0x1F4C'         ; Тип скроллов Recall 
   VAR Reg1 = '0x0F86'            ; mandrake root 
   VAR Reg2 = '0x0F7A'            ; black pearl 
   VAR Reg3 = '0x0F7B'            ; blood moss 
   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', 'Fourth Circle' ) 
   UO.AutoMenu( 'Spell Circle 4', 'Recall' ) 
   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 
      ; берем mandrake root 
      If UO.Count( Reg1 ) == 0 Then 
         UO.FindType( Reg1, -1, Sunduk ) 
         If UO.FindCount() == 0 Then 
            UO.Print( 'Mandrake Root 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 
      Endif 
      ; берем black pearl 
      If UO.Count( Reg2 ) == 0 Then 
         UO.FindType( Reg2, -1, Sunduk ) 
         If UO.FindCount() == 0 Then 
            UO.Print( 'Black Pearls not found. Script terminated' ) 
            return 
         Endif 
         If UO.GetQuantity( 'finditem' ) < 100 Then 
            UO.Grab( '0', 'finditem' ) 
            repeat 
               wait(100) 
            until UO.Count( Reg2 ) > 0 
            CheckLag() 
         Else 
            UO.Grab( '100', 'finditem' ) 
            repeat 
               wait(100) 
            until UO.Count( Reg2 ) == 100 
            CheckLag() 
         Endif 
      Endif 
      ; берем blood moss 
      If UO.Count( Reg3 ) == 0 Then 
         UO.FindType( Reg3, -1, Sunduk ) 
         If UO.FindCount() == 0 Then 
            UO.Print( 'Blood Moss not found. Script terminated' ) 
            return 
         Endif 
         If UO.GetQuantity( 'finditem' ) < 100 Then 
            UO.Grab( '0', 'finditem' ) 
            repeat 
               wait(100) 
            until UO.Count( Reg3 ) > 0 
            CheckLag() 
         Else 
            UO.Grab( '100', 'finditem' ) 
            repeat 
               wait(100) 
            until UO.Count( Reg3 ) == 100 
            CheckLag() 
         Endif 
      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 OR UO.Count( Reg2 ) == 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 
endsub
и если можно, то запхать туда еще чтоб спирит спик юзал...
MitAl
Posts: 60
Joined: 2004-06-01 16:24:44
Location: DRW

Re: помагите со скриптом плизз

Post by MitAl »

Kashita wrote:народ плизз помогите сделать тут цикличность, чтоб когда что то кончалось, брал снова и продолжал
вот скрипт
и если можно, то запхать туда еще чтоб спирит спик юзал...
Тут и так уже сделано, чтобы реги и бланки брал если кончились ...
Post Reply