Code: Select all
#===================================================================#
# ARCHERY. #
# Прокачка арчери на двух чарах #
#===================================================================#
# v.1.04b (с) Edred #
#===================================================================#
;
; Скрипт HealOfTarget запускается на чаре-мишени. В переменных этого
; скрипта занесен тип щита, используемого этим чаром и сериал пака
; для складирования бинтов и стрел (Sklad)
;
; Скрипт Archery запускается на чаре, прокачивающем арчери. Переменная
; CharTarget этого скрипта - это сериал чара-мишени. Также используется
; тот же самый пак (Sklad).
;
; Первому чару (мишени) в пак пяток щитов, армор на него, несколько бинтов.
; Второму чару (стрелку) в пак лук, несколько стрел.
; На склад - бинты, стрелы, луки (побольше).
sub HealOfTarget()
VAR MyShield = '0x1B73'
VAR bandag = '0x0E21'
VAR blbandag = '0x0E20'
VAR Sklad = '0x404E5494'
VAR Strela = '0x0F3F'
repeat
If UO.Life < 90 Then
If UO.Count( bandag ) < 100 Then
; сбросим кровавые и доберем чистых
UO.Findtype( blbandag )
If UO.FindCount() > 0 Then
UO.MoveItem( 'finditem', 0, Sklad )
wait(1000)
CheckLag()
Endif
UO.Findtype( bandag, -1, Sklad )
If UO.FindCount() > 0 Then
UO.Grab( '100', 'finditem' )
wait(1000)
CheckLag()
Endif
; заодно сбросим стрелы
UO.Findtype( Strela )
If UO.FindCount() > 0 Then
UO.MoveItem( 'finditem', 0, Sklad )
wait(1000)
CheckLag()
Endif
; заодно подберем стрелы с пола
UO.Findtype( Strela, -1, 1 )
If UO.FindCount() > 0 Then
UO.MoveItem( 'finditem', 0, Sklad )
wait(1000)
CheckLag()
Endif
Endif
While UO.Life < 140
UO.Bandageself()
wait( 2000 )
CheckLag()
Wend
If UO.GetGraphic( UO.ObjAtLayer( 'Lhand' ) ) <> MyShield Then
UO.Equipt( 'Lhand', MyShield )
repeat
wait(100)
until UO.GetGraphic( UO.ObjAtLayer( 'Lhand' ) ) == MyShield
Endif
Endif
wait(2000)
until UO.Dead()
endsub
sub Archery()
VAR Bow = '0x13B1'
VAR CharTarget = '0x004CFBD6'
VAR Sklad = '0x404E5494'
VAR Strela = '0x0F3F'
while UO.SkillVal( 'Archery' ) < 1000
If UO.Count( Bow ) < 2 Then
UO.Findtype( Bow, -1, Sklad )
If UO.FindCount() > 0 Then
UO.Grab( '1', 'finditem' )
wait(1000)
CheckLag()
Endif
Endif
If UO.Count( Strela ) < 100 Then
UO.Findtype( Strela, -1, Sklad )
If UO.FindCount() > 0 Then
UO.Grab( '1000', 'finditem' )
wait(1000)
CheckLag()
Endif
Endif
If UO.GetGraphic( UO.ObjAtLayer( 'Rhand' ) ) <> Bow Then
UO.Equipt( 'Lhand', Bow )
repeat
wait(100)
until UO.GetGraphic( UO.ObjAtLayer( 'Lhand' ) ) == Bow
Endif
UO.WarMode( 1 )
UO.Attack( CharTarget )
repeat
wait(1000)
UO.Print( str( UO.GetHP( CharTarget ) ) )
CheckLag()
until UO.GetHP( CharTarget ) < 150
UO.WarMode( 0 )
repeat
wait(500)
until UO.GetHP( CharTarget ) > 235
wend
endsub
Sub CheckLag()
DeleteJournal( 'backpack' )
UO.Click( 'backpack' )
repeat
wait(100)
until UO.InJournal( 'backpack' )
endsub
Sub DeleteJournal( string1 )
VAR nom = UO.InJournal( string1 )
If nom > 0 Then
UO.SetJournalLine( Nom - 1, ' ' )
DeleteJournal( string1 )
Endif
endsub
Вот скрит на арчери но почему то втоой чар мешень стоит и нефига не делает когда дожен лечиться.....