Тинекеренг

Ask for scripts here

Moderators: Murderator+, Murderator

Post Reply
Ультима:)
Posts: 44
Joined: 2007-05-26 17:37:00

Тинекеренг

Post by Ультима:) »

Привет всем сновым годом жалю все самого на илучшего!!
Теперь к делу. Мне нужен скриптик на тиркеренг чтоб брал инги айрон и делал бутылки потом как айрон заканчивается он выкладывает в тотже пак откуда и брал айрон и если интрусент поломался то инструмент брал и брал определеное количество ингов 440 штук!
Буду очень блогодарен за помощ :roll:
Kynep
Expert!
Posts: 1348
Joined: 2006-02-07 08:51:40
Location: г. Старый Оскол
Contact:

Re: Тинекеренг

Post by Kynep »

Ультима:) wrote:Привет всем сновым годом жалю все самого на илучшего!!
Теперь к делу. Мне нужен скриптик на тиркеренг чтоб брал инги айрон и делал бутылки потом как айрон заканчивается он выкладывает в тотже пак откуда и брал айрон и если интрусент поломался то инструмент брал и брал определеное количество ингов 440 штук!
Буду очень блогодарен за помощ :roll:


Поиск не пробовал? Помнится в Топике Асканели было что то подобное. И еще ни тинкеренг а тинкеринг, ну это так к слову ))) :D
KTO nyKHyJI???
Posts: 143
Joined: 2004-12-28 19:31:44

Post by KTO nyKHyJI??? »

я этим качал только он без добора инструментов .. такчто клади несколько сразу в пак (скрипт пару раз запарывался, например при поломке инструмента скрипт может остановиться а может начать жать на другой)

Code: Select all

#####################################################################
; Tinker. v.1.03b (c) Edred
;
; Чар берет из сундука инготы, крафтит из них бутылки
; и складывает эти бутылки в этот же сундук.
; Если инги закончились - выход.
;
sub tinker()
   VAR Sunduk = '0x406086B0'       ; Сериал сундука
   VAR Ingi = '0x1BF2'          ; Тип ингов
   VAR Instrum = '0x1EBC'          ; Тип инструмента тинкера
   VAR Bottle = '0x0F0E'          ; Тип бутылки
   VAR Kolvo = 200             ; Брать ингов
   VAR k = 0
   UO.SetGlobal( 'TimeProcess', str( UO.Timer() ) )
                        ; Начало отсчета скрипта
   While TRUE
     EatChar( Sunduk, 5, 2, 20 )
      UO.FindType( Ingi, -1, Sunduk )   ; Ищем инги в сундуке
      If UO.FindCount() == 0 Then
         UO.Print("Iron Ingots not found, script terminated")
         return
      Endif
      UO.Grab( Str( Kolvo ), 'finditem' )
      wait( 2000 )
      While UO.Count( Ingi ) > 3
         ; Пока в паке есть инги
;         UO.CancelMenu()
 ;        UO.Print('Ostalos ' + Str( UO.Count( Ingi ) ) + ' ingots' )
         UO.DeleteJournal()
         CheckLag()
         UO.WaitMenu ('Tinkering', 'Tools', 'Tools', 'empty bottle' )
         UO.UseType( Instrum )
         k = 0
         while NOT UO.InJournal('You put') AND NOT UO.InJournal('failed.') AND ( k < 100 )
            k = k + 1
            wait(500)
         wend
         if UO.Count( Bottle ) > 5 then
            UO.FindType( Bottle, -1, -1 )
            UO.MoveItem( 'finditem', 0, Sunduk )
            wait( 1000 )
            UO.Print( 'Bottle moved' )
         end if
      Wend
   Wend
end sub

#####################################################################
; ================================================================
; Процедура подкормки чара. Параметры: сериал контейнера с медом, номер
; сообщения до которого кормить, сколько съесть меда после сообщения,
; как часто кормить чара.
; Прохождение последнего периода контролируется через глобальную переменную
; TimeProcess.
;
; ver. 1.07 (c) Edred
;
Sub EatChar( Sunduk, Nom, Add, TimeWait )
   ; сообщения при кормежке
   UO.Print( 'TEST: eat to ' + str( Nom ) + ' message and ' + str( Add ) + ' more each ' + str( TimeWait ) + ' minutes' )
   DIM Eat[8]
   Eat[0] = ''
   Eat[1] = 'You eat the food, but are still extremely hungry'
   Eat[2] = 'After eating the food, you fell much less hungry'
   Eat[3] = 'You eat the food, and begin to feel more satiated'
   Eat[4] = 'You are nearly stuffed, but manage to eat the food'
   Eat[5] = 'You fell quite full after consuming the food'
   Eat[6] = 'You are stuffed!'
   Eat[7] = 'You are simply too full to eat any more!'
   VAR Med = '0x097B'         ; тип меда для подкормки
   VAR i, EatC, j, k, flag
   ; проверим, пора ли кормиться
   i = Val( UO.GetGlobal( 'TimeProcess' ) )
   i = ( UO.Timer() - i ) / 600
   If i < TimeWait Then
      ; рано кормиться
      UO.Print( 'Eat early! ' + str( i ) + ' from ' + str( TimeWait ) )
      return
   Endif
   If Nom > 0 AND Nom < 8 Then
      EatC = Eat[Nom]
   Else
      EatC = Eat[7]
   Endif
   UO.FindType( Med, '-1', Sunduk )
   If UO.FindCount() == 0 Then
      ; мед кончился
      UO.SetGlobal( 'TimeProcess', str( UO.Timer() ) )
      return
   Endif
   UO.Grab( '60', 'finditem' )
   Wait( 1000 )
   CheckLag()
   For k = 1 To 7
      DeleteJournal( Eat[k] )
   Next
   flag = 0
   If Nom < 7 Then
      UO.UseType( Med )
      Wait( 1000 )
      CheckLag()
      For k = Nom + 1 To 7
         If UO.InJournal( Eat[k] ) Then
            flag = 1
         Endif
      Next
   Endif
   If flag == 0 Then
      repeat
         DeleteJournal( EatC )
         UO.UseType( Med )
         Wait( 1000 )
         CheckLag()
      until NOT UO.InJournal( EatC )
      If Add > 0 Then
         For j = 1 To Add
            UO.UseType( Med )
            Wait( 1000 )
            CheckLag()
         Next
      Endif
   Endif
   ; хватит кормиться
   ; выгрузим остатки меда обратно
   UO.Findtype( Med, '-1', 'backpack' )
   UO.MoveItem( 'finditem', 0, Sunduk )
   Wait( 1000 )
   CheckLag()
   ; Сбросим счетчик
   UO.SetGlobal( 'TimeProcess', str( UO.Timer() ) )
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
Ультима:)
Posts: 44
Joined: 2007-05-26 17:37:00

Post by Ультима:) »

KTO nyKHyJI??? wrote:я этим качал только он без добора инструментов .. такчто клади несколько сразу в пак (скрипт пару раз запарывался, например при поломке инструмента скрипт может остановиться а может начать жать на другой)

Code: Select all

#####################################################################
; Tinker. v.1.03b (c) Edred
;
; Чар берет из сундука инготы, крафтит из них бутылки
; и складывает эти бутылки в этот же сундук.
; Если инги закончились - выход.
;
sub tinker()
   VAR Sunduk = '0x406086B0'       ; Сериал сундука
   VAR Ingi = '0x1BF2'          ; Тип ингов
   VAR Instrum = '0x1EBC'          ; Тип инструмента тинкера
   VAR Bottle = '0x0F0E'          ; Тип бутылки
   VAR Kolvo = 200             ; Брать ингов
   VAR k = 0
   UO.SetGlobal( 'TimeProcess', str( UO.Timer() ) )
                        ; Начало отсчета скрипта
   While TRUE
     EatChar( Sunduk, 5, 2, 20 )
      UO.FindType( Ingi, -1, Sunduk )   ; Ищем инги в сундуке
      If UO.FindCount() == 0 Then
         UO.Print("Iron Ingots not found, script terminated")
         return
      Endif
      UO.Grab( Str( Kolvo ), 'finditem' )
      wait( 2000 )
      While UO.Count( Ingi ) > 3
         ; Пока в паке есть инги
;         UO.CancelMenu()
 ;        UO.Print('Ostalos ' + Str( UO.Count( Ingi ) ) + ' ingots' )
         UO.DeleteJournal()
         CheckLag()
         UO.WaitMenu ('Tinkering', 'Tools', 'Tools', 'empty bottle' )
         UO.UseType( Instrum )
         k = 0
         while NOT UO.InJournal('You put') AND NOT UO.InJournal('failed.') AND ( k < 100 )
            k = k + 1
            wait(500)
         wend
         if UO.Count( Bottle ) > 5 then
            UO.FindType( Bottle, -1, -1 )
            UO.MoveItem( 'finditem', 0, Sunduk )
            wait( 1000 )
            UO.Print( 'Bottle moved' )
         end if
      Wend
   Wend
end sub

#####################################################################
; ================================================================
; Процедура подкормки чара. Параметры: сериал контейнера с медом, номер
; сообщения до которого кормить, сколько съесть меда после сообщения,
; как часто кормить чара.
; Прохождение последнего периода контролируется через глобальную переменную
; TimeProcess.
;
; ver. 1.07 (c) Edred
;
Sub EatChar( Sunduk, Nom, Add, TimeWait )
   ; сообщения при кормежке
   UO.Print( 'TEST: eat to ' + str( Nom ) + ' message and ' + str( Add ) + ' more each ' + str( TimeWait ) + ' minutes' )
   DIM Eat[8]
   Eat[0] = ''
   Eat[1] = 'You eat the food, but are still extremely hungry'
   Eat[2] = 'After eating the food, you fell much less hungry'
   Eat[3] = 'You eat the food, and begin to feel more satiated'
   Eat[4] = 'You are nearly stuffed, but manage to eat the food'
   Eat[5] = 'You fell quite full after consuming the food'
   Eat[6] = 'You are stuffed!'
   Eat[7] = 'You are simply too full to eat any more!'
   VAR Med = '0x097B'         ; тип меда для подкормки
   VAR i, EatC, j, k, flag
   ; проверим, пора ли кормиться
   i = Val( UO.GetGlobal( 'TimeProcess' ) )
   i = ( UO.Timer() - i ) / 600
   If i < TimeWait Then
      ; рано кормиться
      UO.Print( 'Eat early! ' + str( i ) + ' from ' + str( TimeWait ) )
      return
   Endif
   If Nom > 0 AND Nom < 8 Then
      EatC = Eat[Nom]
   Else
      EatC = Eat[7]
   Endif
   UO.FindType( Med, '-1', Sunduk )
   If UO.FindCount() == 0 Then
      ; мед кончился
      UO.SetGlobal( 'TimeProcess', str( UO.Timer() ) )
      return
   Endif
   UO.Grab( '60', 'finditem' )
   Wait( 1000 )
   CheckLag()
   For k = 1 To 7
      DeleteJournal( Eat[k] )
   Next
   flag = 0
   If Nom < 7 Then
      UO.UseType( Med )
      Wait( 1000 )
      CheckLag()
      For k = Nom + 1 To 7
         If UO.InJournal( Eat[k] ) Then
            flag = 1
         Endif
      Next
   Endif
   If flag == 0 Then
      repeat
         DeleteJournal( EatC )
         UO.UseType( Med )
         Wait( 1000 )
         CheckLag()
      until NOT UO.InJournal( EatC )
      If Add > 0 Then
         For j = 1 To Add
            UO.UseType( Med )
            Wait( 1000 )
            CheckLag()
         Next
      Endif
   Endif
   ; хватит кормиться
   ; выгрузим остатки меда обратно
   UO.Findtype( Med, '-1', 'backpack' )
   UO.MoveItem( 'finditem', 0, Sunduk )
   Wait( 1000 )
   CheckLag()
   ; Сбросим счетчик
   UO.SetGlobal( 'TimeProcess', str( UO.Timer() ) )
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


Огоромное спосибо!!! Чтоб тебе в новом году было все ок !
Берите пример с него !!! а то поиск и поиск а там хер знаеть как он пишется в это поиске!!
Post Reply