Page 1 of 1
Подскажите
Posted: 30.11.2009 23:59
by Koldunchik
Code: Select all
Procedure Res1;
Begin
while Hidden do begin
UseSkill ('Stealth');
Wait(3200);
if (inJournal('Вы можете пройти') <> -1) then begin
addtosystemjournal('Тест');
if (GetX(self) = 848) and (GetY(Self) = 2194) then begin
ClearJournal;
addtosystemjournal('точка 1');
GotoXY(856, 2194, true, 0);
Res1;
end;
if (GetX(self) = 856) and (GetY(Self) = 2194) then begin
ClearJournal;
addtosystemjournal('точка 2');
GotoXY(864, 2194, true, 0);
Res1;
end;
if (GetX(self) = 864) and (GetY(Self) = 2194) then begin
ClearJournal;
addtosystemjournal('точка 3');
GotoXY(872, 2194, true, 0);
Res1;
end;
if (GetX(self) = 872) and (GetY(Self) = 2194) then begin
ClearJournal;
addtosystemjournal('точка 4');
GotoXY(878, 2192, true, 0);
Res1;
end;
if (GetX(self) = 878) and (GetY(Self) = 2192) then begin
ClearJournal;
addtosystemjournal('точка 5');
GotoXY(878, 2184, true, 0);
end;
end;
addtosystemjournal('Реснулись');
end;
repeat
UseSkill('Hiding');
Wait(3200);
until inJournal('Теперь окружающие' <> -1);
ClearJournal;
end;
end;
В этой процедуре чар должен войти в стелс... если зафизлится стелс , то опять захайдится стелсится и идти к сундуку... Дойдя до последнего Х,У процедура должна быть прервана. вот немогу правильно проверку журнала прописать.... подскажите плиз
until inJournal('Теперь окружающие' <> -1);
Posted: 01.12.2009 10:33
by Vizit0r
esli pravilno ponyal vopros - to dlya vuhoda iz cikla Break
Posted: 01.12.2009 11:36
by WladL
Code: Select all
...
until inJournal('Теперь окружающие' ) > -1;
SetJournalLine(LineIndex,'');
а вообще структура не продумана
1)Сначала загнать чара в хайд (а не в конце как у тебя)
Code: Select all
repeat
UseSkill('Hiding');
Wait(3200);
until inJournal('Теперь окружающие') > -1;
SetJournalLine(LineIndex,'');
2)Отвести чара в нужное место ходилкой проверяющей выход из хайда
3) ну и дальше, что хочется.
Исходя из того что есть нужно выделить в отдельную процедуру уход в хайд.
Code: Select all
procedure ToHide;
begin
if Hidden then exit;
while not hidden do begin
UseSkill ('Stealth'); //UseSkill ('Hiding');
wait(3200);
end;
end;
//Основной вызывающий код
begin
...ныкаемся
ToHide;
...идем куда нуно
MoveInHide(X,Y,0,false);
...тут что-то делаем
=====??======
...снова ныкаемся
ToHide;
end;
Posted: 01.12.2009 13:29
by Koldunchik
Проблема решилась дописанием проверки на координаты
Code: Select all
if (GetX(self) = 878) and (GetY(Self) = 2184) then begin
ClearJournal;
addtosystemjournal('Закрываем цикл');
exit;
end;
отлично работает =)
Code: Select all
Procedure Res1;
Begin
while not hidden do begin
ClearJournal;
UseSkill('Hiding');
Wait(3200);
if (inJournal('Призракам это не доступно!') <> -1) then begin
exit;
end;
end;
while Hidden do begin
UseSkill ('Stealth');
Wait(3200);
if (inJournal('Вы можете пройти') <> -1) then begin
addtosystemjournal('Тест');
if (GetX(self) = 848) and (GetY(Self) = 2194) then begin
ClearJournal;
addtosystemjournal('точка 1');
GotoXY(856, 2194, true, 0);
Res1;
end;
if (GetX(self) = 856) and (GetY(Self) = 2194) then begin
ClearJournal;
addtosystemjournal('точка 2');
GotoXY(864, 2194, true, 0);
Res1;
end;
if (GetX(self) = 864) and (GetY(Self) = 2194) then begin
ClearJournal;
addtosystemjournal('точка 3');
GotoXY(872, 2194, true, 0);
Res1;
end;
if (GetX(self) = 872) and (GetY(Self) = 2194) then begin
ClearJournal;
addtosystemjournal('точка 4');
GotoXY(878, 2192, true, 0);
Res1;
end;
if (GetX(self) = 878) and (GetY(Self) = 2192) then begin
ClearJournal;
addtosystemjournal('точка 5');
GotoXY(878, 2184, true, 0);
end;
if (GetX(self) = 878) and (GetY(Self) = 2184) then begin
ClearJournal;
addtosystemjournal('Закрываем цикл');
exit;
end;
addtosystemjournal('Пришли к дому');
end;
end;
end;
пусковая процедура ресания
Code: Select all
procedure CheckGhost;
var
counter: integer;
begin
If IsDead(self) then
begin
counter := 100;
UOSay(Chr(39)+'asay Дровасек убит. Ресните кто-нибудь пожалуйста. ('+IntToStr(CenterPoint.x)+' '+IntToStr(CenterPoint.y)+'), '+MineName);
while isDead(self) do
begin
wait(3000);
GotoXY(786, 2221, true, 0);
PlayWav('C:\WINDOWS\Media\tada.wav');
counter := counter - 1;
AddToSystemJournal(IntToStr(counter));
end;
GotoXY(838, 2227, true, 0);
GotoXY(838, 2194, true, 0);
GotoXY(848, 2194, true, 0);
Res1;
addtosystemjournal('Реснулись...');
end;
end;
Posted: 01.12.2009 17:47
by WladL
а это что?
Code: Select all
if (inJournal('Призракам это не доступно!') <> -1) then begin
Posted: 03.12.2009 15:18
by Koldunchik
WladL wrote:а это что?
Code: Select all
if (inJournal('Призракам это не доступно!') <> -1) then begin
бывает не доходя до дома чара убивают... он подбегает к точке юзает хайд но не хадится так как гост, поэтому учел такую проверку тоже...
Posted: 03.12.2009 23:46
by WladL
а почему-бы не поставить проверку типа
Code: Select all
if not Dead then useSkill('Hiding')