Yoko

All sides of Injection
It is currently 2024-03-29 09:29:47

All times are UTC+02:00




Post new topic  Reply to topic  [ 7 posts ] 
Author Message
 Post subject: Inscript
PostPosted: 2012-04-16 06:40:13 
Offline

Joined: 2012-04-02 20:49:27
Posts: 14
использую скрипт в топе
самое интересное что скрипт работает
я его проверил и переделал на рисование ГХ
теперь решил рисовать зеркала переделываю его и он уже не работает
то есть сначала он берет реги полносью их вырабатывает и останавливается то есть не срабатывает проверка на то что регов стало 0 почемуто (хотя на гх я переделывал его все работало на ура) может я в упор не вижу ошибки? подскажите пожалуйста

Code:
#####################################################################
; Inscription. v.1.04b (c) Edred
;
; Берем из сундука blank scroll, nightshade, black pearl,
; крафтим из них скролл Magic Arrow (с повторами в случае физлов),
; потом скидываем готовый скролл в тот же сундук.
; Если что-либо кончилось - выход.

sub inscript()
   VAR Sunduk = '0x548a607a'       ; Сериал сундука с бланкскроллами и регами
   VAR Blank = '0x0E34'          ; Тип бланк скролла
   VAR Arrow = '0x1f50'         ; Тип скроллов MR
   VAR Reg1 = '0x0f86'            ; MR
   VAR Reg2 = '0x0f8d'            ; SS
   VAR Reg3 = '0x0f84'            ; GA
   VAR Fizzle = 'You fail to inscribe the scroll'
   VAR Success = 'You finish scribing the scroll'
   VAR k
;      UO.SetGlobal( 'TimeProcess', str( UO.Timer() ) )
   UO.CancelMenu()
   UO.AutoMenu( 'Select a circle to inscribe', 'Circle 5 spells' )
   wait(500)
   UO.AutoMenu( 'Select a spell to inscribe', 'Magic Reflection' )
   UO.UseObject( Sunduk )
   wait(1000)
   While UO.SkillVal( 'Inscription' ) < 1000
      ; берем бланк скроллы
;      EatChar( Sunduk, 2, 1, 60 )
      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
      ; берем MR
      If UO.Count( Reg1 ) == 0 Then
         UO.FindType( Reg1, -1, Sunduk )
         If UO.FindCount() == 0 Then
            UO.Print( 'MR 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
      ; берем SS
      If UO.Count( Reg2 ) == 0 Then
         UO.FindType( Reg2, -1, Sunduk )
         If UO.FindCount() == 0 Then
            UO.Print( 'SS 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
      ; берем GA
      If UO.Count( Reg3 ) == 0 Then
         UO.FindType( Reg3, -1, Sunduk )
         If UO.FindCount() == 0 Then
            UO.Print( 'Garling 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 UO.Count(Reg3) == 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 OR UO.Count( Reg3 ) == 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


Top
   
 Post subject: Re: Inscript
PostPosted: 2012-04-16 14:12:19 
Offline
User avatar

Joined: 2009-05-28 09:58:28
Posts: 2802
Location: Иваново
Меню может меняться когда регов много и по 1 например.
Соответсвенно вылетает на автоменю.
Попробуй прописать в проверку регов не 0 а 3 хотя бы.

PS у меня немного другой скрипт. Если с твоим не получится я покажу как я делал.

_________________
Image
YokoInjection CodeSweeper
Ошибка "Unhandled exception in parser"
Стрелялка для олдов.


Top
   
 Post subject: Re: Inscript
PostPosted: 2012-04-17 15:39:08 
Offline

Joined: 2012-04-02 20:49:27
Posts: 14
Поменял... но чтото не сразабатывает ...заметил правда что когда приходит время брать реги над бэкпаком появляется надпись "a backpack" когда щелкаешь по ней мышкой 1 раз... а когда скрипт срабатывает на гх то он появляется 4 вроде раза по разу когда берет реги и бланки
не понимаю...на ГХ работает прекрастно как только убираю 1 рег - перестает... чо за мистика...

вот скрипт на ГХ

Code:
#####################################################################
; Inscription. v.1.04b (c) Edred
;
; Берем из сундука blank scroll, nightshade, black pearl,
; крафтим из них скролл Magic Arrow (с повторами в случае физлов),
; потом скидываем готовый скролл в тот же сундук.
; Если что-либо кончилось - выход.

sub inscript()
   VAR Sunduk = '0x548a607a'       ; Сериал сундука с бланкскроллами и регами
   VAR Blank = '0x0e34'          ; Тип бланк скролла
   VAR Arrow = '0x1f49'         ; Тип скроллов GH
   VAR Reg1 = '0x0f86'            ; MR
   VAR Reg2 = '0x0f85'            ; GI
   VAR Reg3 = '0x0f8d'            ; SS
   VAR Reg4 = '0x0f84'            ; GA
   VAR Fizzle = 'You fail to inscribe the scroll'
   VAR Success = 'You finish scribing the scroll'
   VAR k
;      UO.SetGlobal( 'TimeProcess', str( UO.Timer() ) )
   UO.CancelMenu()
   UO.AutoMenu( 'Select a circle to inscribe', 'Circle 4 spells' )
   wait(500)
   UO.AutoMenu( 'Select a spell to inscribe', 'Greater Heal' )
   UO.UseObject( Sunduk )
   wait(1000)
   While UO.SkillVal( 'Inscription' ) < 1000
      ; берем бланк скроллы
;      EatChar( Sunduk, 2, 1, 60 )
      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
      ; берем MR
      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
            ; берем GI
      If UO.Count( Reg2 ) == 0 Then
         UO.FindType( Reg2, -1, Sunduk )
         If UO.FindCount() == 0 Then
            UO.Print( 'Ginsing 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
            ; берем SS
      If UO.Count( Reg3 ) == 0 Then
         UO.FindType( Reg3, -1, Sunduk )
         If UO.FindCount() == 0 Then
            UO.Print( 'Spider silk 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
      ; берем GA
      If UO.Count( Reg4 ) == 0 Then
         UO.FindType( Reg4, -1, Sunduk )
         If UO.FindCount() == 0 Then
            UO.Print( 'Garling not found. Script terminated' )
            return
         Endif
         If UO.GetQuantity( 'finditem' ) < 100 Then
            UO.Grab( '0', 'finditem' )
            repeat
               wait(100)
            until UO.Count( Reg4 ) > 0
            CheckLag()
         Else
            UO.Grab( '100', 'finditem' )
            repeat
               wait(100)
            until UO.Count( Reg4 ) == 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 UO.Count(Reg3) == 0 OR UO.Count(Reg4) == 0 OR k > 50
         If UO.Mana < 20 Then
            repeat
               UO.UseSkill( 'Meditation' )
               wait(5100)
            until UO.Mana == UO.Int
         Endif
      Until UO.Count( Blank ) == 0 OR UO.Count( Reg1 ) == 0 OR UO.Count( Reg2 ) == 0 OR UO.Count( Reg3 ) == 0 OR UO.Count( Reg4 ) == 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( 'a 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


Top
   
 Post subject: Re: Inscript
PostPosted: 2012-04-29 08:40:04 
Offline

Joined: 2012-04-02 20:49:27
Posts: 14
помогите :(


Top
   
 Post subject: Re: Inscript
PostPosted: 2012-05-02 06:36:37 
Offline

Joined: 2012-04-02 20:49:27
Posts: 14
Ап.
Помогите с данной проблемой =(


Top
   
 Post subject: Re: Inscript
PostPosted: 2012-05-02 12:18:17 
Offline
User avatar

Joined: 2009-05-28 09:58:28
Posts: 2802
Location: Иваново
Замени в скрипте это:
Code:
Sub CheckLag()
   DeleteJournal( 'backpack' )
   UO.Click( 'backpack' )
   repeat
      wait(100)
   until UO.InJournal( 'a backpack' )
   return
end sub

на это:
Code:
Sub CheckLag()
   DeleteJournal( 'ackpack' )
   UO.Click( 'backpack' )
   repeat
      wait(100)
   until UO.InJournal( 'ackpack' )
   return
end sub

_________________
Image
YokoInjection CodeSweeper
Ошибка "Unhandled exception in parser"
Стрелялка для олдов.


Top
   
 Post subject: Re: Inscript
PostPosted: 2012-05-20 11:57:22 
Offline

Joined: 2012-04-02 20:49:27
Posts: 14
не помогает :(

если поможет то в конце идет фраза "You can't access blank scroll"


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 7 posts ] 

All times are UTC+02:00


Who is online

Users browsing this forum: No registered users and 35 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Limited