Page 1 of 1

Meditation

Posted: 26.11.2008 14:16
by -=JoKeR=-
Всем здрасте.
Давно не скриптил, забыл что и как =)
Нужна помощь по процедуре.
Суть такова:
Кастую харм, лечусь спиритом и юзаю медитацию. Появляется строка "Вы пытаетесь впасть в транс." Ждём 2 секунды, если строки "Впасть в транс не получилось." нет, то ждём пока промедитирует, если строка появилась, повтор медитации.
Вот мой код:

Code: Select all

...
Const
    Msg_Fail_Medit      = 'не получилось';
...
	Procedure Medit;
	begin
		WaitConnection(5000);
		If Mana < MaxMana then
		begin
		  Repeat
		    ClearJournal;
		    STime:=Now;
			UseSkill('Meditation');
			Wait(4000);
			If (InJournalBetweenTimes('Msg_Fail_Medit',STime,Now)=1) then
			  begin
			    Wait(100);
			  end
			Else
			  begin
			    While Mana < MaxMana do
				begin
				  Wait(500);
				end;
			  end;
		  Until Mana = MaxMana;
		end;
	end;
Ошибка в том, что когда появляется в журнале Msg_Fail_Medit никаких действий не происходит. Я там поставил паузу в 0.1 секунду и процедура как я считаю должна пойти заново... В чём ошибка ?

Posted: 01.12.2008 20:10
by -=JoKeR=-
Ччч

Posted: 02.12.2008 2:22
by DismalZ
Замени

Code: Select all

If (InJournalBetweenTimes('Msg_Fail_Medit',STime,Now)=1) then
на

Code: Select all

If (InJournalBetweenTimes(Msg_Fail_Medit,STime,Now)=1) then
Должно помочь =)

Posted: 02.12.2008 10:41
by JleroJla3
InJournalBetweenTimes возвращает -1, если строка не найдена..
лучше на
If (InJournalBetweenTimes(Msg_Fail_Medit,STime,Now)>=0) then

Posted: 02.12.2008 14:17
by -=JoKeR=-
Спасибо. :wink: