Вообщем такая проблема, после выбора яда не находится стрела на полу и следовательно скрипт сбивает
пс суть такова: сначала находим в мешке стрелы, перетаскиваем на пол 1 стрелу, юзаем скил пойзон прицелом показываем на бутылку яда, потом прицелом показываем на стрелу, в случае удачного пойзона перекладываем запойзоненную стрелу из бекпака в мешок на полу. Далее смотрим скоко осталось бутылок пойзона, если меньше 4 то начинаем варить их до тех пор пока их не станет 4. Далее смотри не уменьшилось ли у нас хп если нет то все начинаем заново
Code:
sub Poison()
var strela = '0x0F3F'
var stupka = '0x4D914CF3'
var NS = '0x0F88'
var binti = '0x0E21'
var blbinti = '0x0E20'
var butpus = '0x0F0E'
var butjad = '0x0F0A'
var sklad = '0x525AED3F'
var sklad1 = '0x4D1E3814'
var ms1 = 'Select a poison potion'
UO.Exec('set finddistance 2')
while UO.SkillVal( 'Poisoning' ) < 1000
CheckLag()
UO.FindType( 'strela', '0x0044', 'sklad' ) ;ищем стрелу в сумке
uo.moveitem ( 'finditem', '1', 'ground')
UO.print('Nawli strelu i kinuli na pol')
wait(1000)
UO.FindType('butjad') ;ищем бутылку яда
UO.print('Nawli Jad')
UO.DeleteJournal()
CheckLag()
repeat
UO.FindType('0x0F0A', '0x0000', 'backpack' )
wait(100)
UO.useskill('Poisoning', 'finditem') ;начинаем пойзонить (для этого сначала надо заюзать скил пойзон, потом укзаать на бутылку яда
repeat ; а потом указать что будем пойзонить
wait(100)
#################################################################
# В этом месте почему не начинается пойзонить стрелу
# until UO.InJournal('Select an item.')
uo.waittargetground( 'finditem' )
UO.FindType('strela', '0x0044', 'ground' )
wait(100)
; uo.waittargetground( 'finditem' )
UO.print('poisonim strelu')
repeat
wait(100)
until UO.Count(strela)==1 ; пойзоним до тех пор пока в бек паке не окаджется хотя бы одна стрела запойзоненная
until UO.Count(strela)==1
CheckLag()
UO.FindType( 'strela', '0x0044', 'backpack' )
UO.MoveItem( 'finditem', '0', 'sklad1' ) ; перекладываем запойзоненую стрелу в сумку со стрелами
wait(1000)
while UO.Count(butjad) < 4 ;смотри кол-во яда в бекпаке, если меньше 4 то варим
UO.FindType( 'NS', '-1', 'sklad' )
UO.WaitTargetType(NS)
UO.Usetype('stupka')
wait(200)
uo.automenu('Select a potion to make','Greater_Poison')
repeat
wait(100)
until UO.Count(butjad) == 4 ; до тех пор пока кол-во яда не будет равно 4
wend
CheckLag()
if UO.Life < 80 then ; смотрим на хиты, если <80 проверяем не кончились ли бинты
If UO.Count( binti ) < 20 Then
UO.Findtype( 'blbinti' )
If UO.FindCount() > 0 Then
UO.MoveItem( 'finditem', '0', 'Sklad' )
wait(1000)
CheckLag()
Endif
UO.Findtype( 'binti', '-1', 'Sklad' )
If UO.FindCount() > 0 Then
UO.Grab( '100', 'finditem' )
wait(1000)
CheckLag()
Endif
Endif
While UO.Life < 100
UO.Bandageself()
repeat
wait(100)
until UO.InJournal('You have cured your patient completely') and UO.InJournal('You place a bloody bandage in your backpack')
CheckLag()
Wend
Endif
wend
endsub
Sub CheckLag()
UO.DeleteJournal()
UO.Click( 'backpack' )
repeat
wait(100)
until UO.InJournal( 'backpack' )
endsub