Yoko
http://forum.yoko.com.ua/

Немного глючит, кто подскажет что не так?
http://forum.yoko.com.ua/viewtopic.php?f=20&t=4178
Page 1 of 1

Author:  TAHK [ 2005-06-09 13:21:30 ]
Post subject:  Немного глючит, кто подскажет что не так?

Code:
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. При использовании чего либо после этого скрипта автоматически берет ласт таргет из скрипта.

Author:  Solaire [ 2005-06-09 13:38:43 ]
Post subject: 

1. Замени "You apply" на "barely help".
2. Запиши лучше UO.Exec('bandageself') вместо
UO.WaitTargetSelf()
UO.UseType('0x0e21') - должно помочь.

Author:  Leo [ 2005-06-09 14:45:24 ]
Post subject: 

А мне кажется что надо убрать эту строчку
Code:
Until UO.Life==UO.STR OR UO.Count('0x0e21')==0

Т.к. он будет пытатся применить бинты до тех пор, пока жизни полностью не восполнятся.
И второй repeat убрать соответственно :wink:

Author:  Solaire [ 2005-06-09 16:33:54 ]
Post subject: 

Leo wrote:
А мне кажется что надо убрать эту строчку
Code:
Until UO.Life==UO.STR OR UO.Count('0x0e21')==0

Т.к. он будет пытатся применить бинты до тех пор, пока жизни полностью не восполнятся.
И второй repeat убрать соответственно :wink:

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

Author:  Leo [ 2005-06-09 19:19:23 ]
Post subject: 

Solaire wrote:
Leo wrote:
А мне кажется что надо убрать эту строчку
Code:
Until UO.Life==UO.STR OR UO.Count('0x0e21')==0

Т.к. он будет пытатся применить бинты до тех пор, пока жизни полностью не восполнятся.
И второй repeat убрать соответственно :wink:

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


Плохо суть проблемы понял.

Author:  Solaire [ 2005-06-09 20:53:21 ]
Post subject: 

Leo wrote:
Плохо суть проблемы понял.

Просто после физла при лечении бинтами открой журнал инжи (не клиента) и поймешь, в чем проблема. :) Там просто будет две записи, содержащие "you apply". Первая появляется сразу при юзе бинта, а вторая - при физле. Скрипт реагирует на первую и выходит из ожидания, пытаясь лечить снова.

Author:  TAHK [ 2005-06-10 08:32:17 ]
Post subject: 

Solaire спасибо.
"barely help" помогло и теперь все работает отлично.

Page 1 of 1 All times are UTC+02:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/