Code: Select all
procedure Chop(f_tile:TFoundTile);
var
ctime : TDateTime;
iter_max:integer;
next_lumb,lumb_result,wait_lumb: string;
fizzles:word;
begin
wait_lumb:=l_fizzles+'|'+l_needwait;
next_lumb:=l_nothing1+'|'+l_nothing2+'|'+l_far+'|'+l_see;;
lumb_result:=wait_lumb+'|'+next_lumb+'|'+l_success+'|'+l_elemental+'|'+l_bad+'|'+l_heavy;
fizzles:=0;
repeat
equip_tool(hatcher,LhandLayer);
cancel;
iter_max:=0;
check_hide;
UseObject(ObjAtLayer(LhandLayer));
check_hide;
Wait_Target(5000);
ctime := Now;
TargetToTile(f_tile.Tile,f_tile.X,f_tile.Y,f_tile.Z);
repeat
iter_max:=iter_max+1;
wait(2000);
checksave;
check_war;
check_hide;
until ((InJournalBetweenTimes(lumb_result, ctime, Now)<>-1) or (iter_max>10));
if (InJournalBetweenTimes(l_fizzles, ctime, Now)<>-1) then fizzles:=fizzles+1;
// if (InJournalBetweenTimes('OOPS !!! It isn''t a tree, it''s an Ent!!!|is attacking you|Vas Corp Por|notice', ctime, Now)<>-1) then
// begin
// PlayWav('C:\WINDOWS\Media\tada.wav');
// WinExec('E:\Program files\aimp3\AIMP3.exe', 0); //у меня стоит 3 аимп с музыкой в плейлисте. при запуске аимпа он сразу начинает играть. Эту строку можно и закоментрировать.
speedee(400,300,600,500);
check_hide;
newmovexy(GetX(Self)+20,GetY(Self)+20,true,1,false);
check_hide;
while gethp(self) < getmaxhp(self) do
begin
check_hide;
UseObject(FindType(clean_bandages,Backpack));
wait_target(2000);
WaitTargetObject(Self);
wait (5000);
end;
speedee(speed,speed,speed,speed);
poisk_tree;
check_hide;
wait(1000);
alarm; //<<<<< вот
после этого я хочу выйти из цикла и самой процедуры. как это сделать?
Code: Select all
//end;
until ((InJournalBetweenTimes(next_lumb, ctime, Now)<>-1) or (fizzles>15));
end;