Срипт на Карпентри

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
WhiteDemon
Posts: 16
Joined: 2004-04-09 19:07:00

Срипт на Карпентри

Post by WhiteDemon »

Кто может помочь написать такой срипт:
стоят 2 сундука из одного береться по 1 логу, делаются удочки потом когда делается 100 удочек они складываются во второй сундук!
Edred
Expert!
Posts: 2544
Joined: 2004-04-03 17:36:29
Location: Saint-Petersburg

Re: Срипт на Карпентри

Post by Edred »

WhiteDemon wrote:Кто может помочь написать такой срипт:
стоят 2 сундука из одного береться по 1 логу, делаются удочки потом когда делается 100 удочек они складываются во второй сундук!


Срипт тебе вряд ли кто поможет написать, скрипт - другое дело :lol:
Толку-то от складывания ста удочек во второй сундук? После трех-четырех циклов во втором сундуке будет слишком много итемов и сундук придется отправлять в трэш.

Лучше воспользуйся вот этим моим скриптом, он делает все немного по-другому:

Code: Select all

; Carpentry. v.1.12b (c) Edred
;
; Чар берет из сундука 1 пустой мешок, кладет этот мешок в сундук 2,
; берет с пола логи, крафтит из них удочки и складывает эти удочки
; в этот мешок в сундуке 2. Если логи на полу или пустые мешки
; кончились - выход
;
sub carpentry()
   VAR Sunduk1 = '0x4017439B'       ; Сериал сундука с пустыми мешками
   VAR Sunduk2 = '0x4000F46C'       ; Сериал пустого сундука
   VAR Meshok = '0x0E76'          ; Тип мешка
   VAR Logi = '0x1BDD'          ; Тип логов
   VAR Rubanok = '0x1031'          ; Тип инструмента карпентера
   VAR Udochka = '0xDBF'          ; Тип удочки
   VAR Kolvo = 460             ; Брать логов (2 лога = 1 удочка)
   VAR MeshSer, j, k
   While TRUE
      UO.FindType( Logi, -1, 1 )       ; Ищем логи на полу
      UO.Grab( Str( Kolvo ), 'finditem' )    ; Кладем логи в пак
      wait( 2000 )
      If UO.FindCount() == 0 Then
         UO.Print("Logs not found, script terminated")
         return
      Endif
      UO.FindType( Meshok, -1, Sunduk1 )       ; Ищем мешок в сундуке 1
      MeshSer = UO.GetSerial( 'finditem' )
      UO.Grab( '1', 'finditem' )          ; Кладем его в бэкпак
      wait( 2000 )
      UO.MoveItem( MeshSer, 0, Sunduk2 )
      wait( 2000 )
      While UO.Count( Logi ) > 0
         ; Пока в паке есть логи
         UO.Print('Ostalos ' + Str( UO.Count( Logi ) ) + ' logov' )
         UO.DeleteJournal()
         UO.CancelMenu()
         UO.WaitMenu ('Carpentry', 'Weapons & Tools', 'Weapons & Tools', 'fishing' )
         UO.UseType( Rubanok )
         k = 0
         while NOT UO.InJournal('You put') AND NOT UO.InJournal('fail') AND ( k < 30 )
            k = k + 1
            wait(500)
         wend
         ; Wait( 14000 )
         ; Скрафтили удочку
         ; Сразу переложим ее в мешок
         if UO.Count( Udochka ) > 0 then
            UO.FindType( Udochka, -1, 'backpack' )
            UO.MoveItem( 'finditem', 0, MeshSer )
            wait( 2000 )
            UO.Print( 'Udochka perelozhena' )
         end if
      Wend
   Wend
end sub
Post Reply