использую скрипт в топе
самое интересное что скрипт работает
я его проверил и переделал на рисование ГХ
теперь решил рисовать зеркала переделываю его и он уже не работает
то есть сначала он берет реги полносью их вырабатывает и останавливается то есть не срабатывает проверка на то что регов стало 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