Немного глючит, кто подскажет что не так?

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
TAHK
Posts: 36
Joined: 2005-04-30 18:52:09

Немного глючит, кто подскажет что не так?

Post 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. При использовании чего либо после этого скрипта автоматически берет ласт таргет из скрипта.
Solaire
Posts: 163
Joined: 2005-05-21 07:12:12
Location: DRW

Post by Solaire »

1. Замени "You apply" на "barely help".
2. Запиши лучше UO.Exec('bandageself') вместо
UO.WaitTargetSelf()
UO.UseType('0x0e21') - должно помочь.
Leo
Expert!
Posts: 791
Joined: 2005-01-15 19:15:05
Location: Dragon World
Contact:

Post by Leo »

А мне кажется что надо убрать эту строчку

Code: Select all

Until UO.Life==UO.STR OR UO.Count('0x0e21')==0
Т.к. он будет пытатся применить бинты до тех пор, пока жизни полностью не восполнятся.
И второй repeat убрать соответственно :wink:
Solaire
Posts: 163
Joined: 2005-05-21 07:12:12
Location: DRW

Post by Solaire »

Leo wrote:А мне кажется что надо убрать эту строчку

Code: Select all

Until UO.Life==UO.STR OR UO.Count('0x0e21')==0
Т.к. он будет пытатся применить бинты до тех пор, пока жизни полностью не восполнятся.
И второй repeat убрать соответственно :wink:
Так он и должен лечиться до полного выздоровления. :) Проблема в том, что надпись "you apply" в журнале инжи не только после лечения, но и сразу при применении бинта. Потому скрипт и выходит из цикла раньше времени. Сама от этого раньше страдала. :)
Leo
Expert!
Posts: 791
Joined: 2005-01-15 19:15:05
Location: Dragon World
Contact:

Post by Leo »

Solaire wrote:
Leo wrote:А мне кажется что надо убрать эту строчку

Code: Select all

Until UO.Life==UO.STR OR UO.Count('0x0e21')==0
Т.к. он будет пытатся применить бинты до тех пор, пока жизни полностью не восполнятся.
И второй repeat убрать соответственно :wink:
Так он и должен лечиться до полного выздоровления. :) Проблема в том, что надпись "you apply" в журнале инжи не только после лечения, но и сразу при применении бинта. Потому скрипт и выходит из цикла раньше времени. Сама от этого раньше страдала. :)
Плохо суть проблемы понял.
Solaire
Posts: 163
Joined: 2005-05-21 07:12:12
Location: DRW

Post by Solaire »

Leo wrote:Плохо суть проблемы понял.
Просто после физла при лечении бинтами открой журнал инжи (не клиента) и поймешь, в чем проблема. :) Там просто будет две записи, содержащие "you apply". Первая появляется сразу при юзе бинта, а вторая - при физле. Скрипт реагирует на первую и выходит из ожидания, пытаясь лечить снова.
TAHK
Posts: 36
Joined: 2005-04-30 18:52:09

Post by TAHK »

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