Page 1 of 1
Немного глючит, кто подскажет что не так?
Posted: 2005-06-09 13:21:30
by TAHK
Code: Select all
sub HealingSelfFull()
UO.SetArm('TempWeapon')
Repeat
UO.DeleteJournal()
;UO.BandageSelf()
UO.WaitTargetSelf()
UO.UseType('0x0e21') ;бинты
Repeat
Wait(200)
Until UO.InJournal("You put") OR UO.InJournal("You apply")
Until UO.Life==UO.STR OR UO.Count('0x0e21')==0 ;бинты = 0
if UO.Life==UO.STR Then
UO.Print("Лечение закончено успешно")
Else
UO.Print(" НЕТ БИНТОВ !!! ")
EndIf
UO.Arm('TempWeapon')
End sub
Вобщем есть 2 проблемки:
1. Пытается применить бинты 2 раза без остановки (2й естественно не дает) - работает, но смотрится не красиво.
2. При использовании чего либо после этого скрипта автоматически берет ласт таргет из скрипта.
Posted: 2005-06-09 13:38:43
by Solaire
1. Замени "You apply" на "barely help".
2. Запиши лучше UO.Exec('bandageself') вместо
UO.WaitTargetSelf()
UO.UseType('0x0e21') - должно помочь.
Posted: 2005-06-09 14:45:24
by Leo
А мне кажется что надо убрать эту строчку
Code: Select all
Until UO.Life==UO.STR OR UO.Count('0x0e21')==0
Т.к. он будет пытатся применить бинты до тех пор, пока жизни полностью не восполнятся.
И второй repeat убрать соответственно

Posted: 2005-06-09 16:33:54
by Solaire
Leo wrote:А мне кажется что надо убрать эту строчку
Code: Select all
Until UO.Life==UO.STR OR UO.Count('0x0e21')==0
Т.к. он будет пытатся применить бинты до тех пор, пока жизни полностью не восполнятся.
И второй repeat убрать соответственно

Так он и должен лечиться до полного выздоровления.

Проблема в том, что надпись "you apply" в журнале инжи не только после лечения, но и сразу при применении бинта. Потому скрипт и выходит из цикла раньше времени. Сама от этого раньше страдала.

Posted: 2005-06-09 19:19:23
by Leo
Solaire wrote:Leo wrote:А мне кажется что надо убрать эту строчку
Code: Select all
Until UO.Life==UO.STR OR UO.Count('0x0e21')==0
Т.к. он будет пытатся применить бинты до тех пор, пока жизни полностью не восполнятся.
И второй repeat убрать соответственно

Так он и должен лечиться до полного выздоровления.

Проблема в том, что надпись "you apply" в журнале инжи не только после лечения, но и сразу при применении бинта. Потому скрипт и выходит из цикла раньше времени. Сама от этого раньше страдала.

Плохо суть проблемы понял.
Posted: 2005-06-09 20:53:21
by Solaire
Leo wrote:Плохо суть проблемы понял.
Просто после физла при лечении бинтами открой журнал инжи (не клиента) и поймешь, в чем проблема.

Там просто будет две записи, содержащие "you apply". Первая появляется сразу при юзе бинта, а вторая - при физле. Скрипт реагирует на первую и выходит из ожидания, пытаясь лечить снова.
Posted: 2005-06-10 08:32:17
by TAHK
Solaire спасибо.
"barely help" помогло и теперь все работает отлично.