Page 1 of 1

Для Новы, харвестер полуавтомат.

Posted: 2006-10-29 17:25:29
by Savage
Суть скрипта вот в чем, появляется таргет им тыркаем в дерево, в пол шахты, в воду. Начинается процесс добычи ресурсов. Когда ресурс иссякнет появится новый таргет...

В переменной Instrument хранится тип инструмента, кирка, хатчет, удочка...

Сообщения прописаны не все, но по таймеру все равно выходит из цикла ожидания.

При достижении максимального веса скрипт останавливается. Для удобства юзания можно забиндить запуск скрипта на кнопку.

Code: Select all

###############################################################
#=---===----===---===---= Harvester =---=-=-=-=-=--=-=-=-=-=-=#
#           Scripted by Savage (c) 2006 ICQ:33336141          #
#"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""#
###############################################################
sub Harvest()
   VAR Exit
   VAR LastTimer

   VAR MaxWeight=450 ;max ves
   VAR Instrument='0x0F43' ;Hatchet
;   VAR Instrument='0x0E86' ;PickAxe

   While UO.Weight<MaxWeight

      UO.DeleteJournal()
      UO.Usetype(Instrument)
      wait(100)

      While UO.Targeting()
         wait(300)
      Wend

      If NOT UO.Hidden() Then
         UO.UseSkill('Hiding')
      Endif

      LastTimer=UO.Timer()
      Repeat
         wait(100)
      Until UO.InJournal("cliloc# 0xA867|cliloc# 0x5DE0|cliloc# 0xAD03|cliloc# 0xAD00|cliloc# 0xA309|cliloc# 0xA2DE|cliloc# 0xA30D|You|cliloc# 0xA30F|cliloc# 0xAD83|cliloc# 0xA4EE|cliloc# 0xAD84") OR LastTimer+70<UO.Timer()

      If UO.InJournal("cliloc# 0xA867|cliloc# 0xAD00|cliloc# 0xA309|cliloc# 0xA2DE|cliloc# 0xAD84|cliloc# 0xA30D") Then
         Exit=1
      Else
         Exit=0
      Endif
      
      While Exit<>1
         LastTimer=UO.Timer()
         UO.DeleteJournal()
         UO.WaitTargetTile('lasttile')
         UO.UseType(Instrument)
         Repeat
            wait(100)
         Until UO.InJournal("cliloc# 0xA867|cliloc# 0x5DE0|cliloc# 0xAD03|cliloc# 0xAD00|cliloc# 0xA309|cliloc# 0xA2DE|cliloc# 0xA30D|You|cliloc# 0xA30F|cliloc# 0xAD83|cliloc# 0xA4EE|cliloc# 0xAD84") OR LastTimer+70<UO.Timer()
         If UO.InJournal("cliloc# 0xA867|cliloc# 0xAD00|cliloc# 0xA309|cliloc# 0xA2DE|cliloc# 0xAD84|cliloc# 0xA30D") Then
            Exit=1
         Endif
      Wend
      wait(500)
   Wend
   UO.Print("+++ Max Weight reached!")
end sub