Code: ##################################################################### ; Lockpicking v.1.01b (c) Edred ; sub Lockpicking() VAR SundukFrom = '0x404CF9CF' VAR SundukTarg = '0x73aced06' VAR KeyTarg = '0x73aced07' VAR LockType = '0x14FB' UO.SetGlobal( 'TimeProcess', str( UO.Timer() ) ) DIM LockColor[3], SkUp[3] LockColor[0] = '0x0000' ; айрон LockColor[1] = '0x060A' ; дулл купер LockColor[2] = '0x0488' ; бронза LockColor[3] = '0x08A5' ; золото SkUp[0] = 299 ; уровень скилла выше которого качать железными отмычками SkUp[1] = 499 ; уровень скилла выше которого качать медными отмычками SkUp[2] = 499 ; уровень скилла выше которого качать бронзовыми отмычками SkUp[3] = 599 ; уровень скилла выше которого качать золотыми отмычками VAR fizzle = "замок" VAR success = "Открыто" VAR locked = "заперли" VAR TimeLimit = 3000 VAR trycount = 0, succount = 0 VAR i, j, needcolor, k, end UO.UseObject( SundukFrom ) wait(1000) while UO.SkillVal( 'Lockpicking' ) < 1000 If UO.Count( LockType ) == 0 Then EatChar( SundukFrom, 6, 2, 120 ) j = 0 For i = 0 To 3 If SkUp[i] < UO.SkillVal( 'Lockpicking' ) Then j = i Endif Next needcolor = LockColor[j] UO.FindType( LockType, needcolor, SundukFrom ) If UO.FindCount() == 0 Then UO.Print( 'Lockpicks not found. Script terminated' ) return Endif If UO.GetQuantity( 'finditem' ) > 100 Then UO.Grab( '100', 'finditem' ) Else UO.Grab( 'finditem' ) Endif wait(1000) CheckLag() Endif trycount = trycount + 1 UO.Print( 'You have ' + str( UO.Count( LockType ) ) + ' lockpicks.' ) UO.Print( 'You have ' + str( succount ) + ' success attempt' ) UO.Print( 'You get ' + str( trycount ) + ' attempt' ) UO.DeleteJournal( fizzle ) UO.DeleteJournal( success ) UO.WaitTargetObject( SundukTarg ) UO.UseType( LockType ) k = 0 repeat wait(100) k = k + 1 until UO.InJournal( fizzle ) OR UO.InJournal( success ) OR k > TimeLimit If UO.InJournal( success ) Then UO.DeleteJournal( locked ) succount = succount + 1 UO.WaitTargetObject( SundukTarg ) UO.UseObject( KeyTarg ) repeat wait(100) until UO.InJournal( locked ) Endif Wend Wend endsub
Как видно изначально скрипт эдреда из его наследия, что-то подправил сам, при удалении остального скрипт перестает работать.
Скрипт рабочий, но слишком перегруженный и после работы минут 10 инжа вылетает... Поэтому прошу удалить все лишнее - счетчики и типы ключей всякие, что бы выглядело так:
использовали лок на бочке, если не открылась, пробуем снова, открылась закрываем ключом и снова поехали...
Заранее спасибо,
ЗЫ:все из журнала и айди предметов сделанны верно
|