используй ttimer + case.
пример
delphi Код:
var
timer : ttimer;
step : integer;
procedure ontimer(sender:tobject);
begin
inc(step);
case step of
1 :
begin
//отправка к примеру пакета "подойти к нпц"
timer.interval := 5000; //время дающееся на выполнение этого действия
end;
2 :
begin
//диалог с нпц, пакетный уровень.
timer.interval := 2000; //время дающееся на выполнение этого действия
end;
3 :
begin
//добежать до гк
timer.interval := 10000; //время дающееся на выполнение этого действия
end;
4 :
begin
//тпшнутся
timer.interval := 3000; //время дающееся на выполнение этого действия
end;
5 :
begin
//добежать до места где бьются квест итемки
timer.enabled := false;
huntprocedure; //задействовать функцию убивания всегоживого
//после появления в инвентаре требуемых предметов сделать timer.enabled := true;
end;
6 :
begin
//юзаем сое
timer.interval := 10000; //время дающееся на выполнение этого действия
end;
7 :
begin
//бежим, здаем квест
timer.interval := 10000; //время дающееся на выполнение этого действия
end;
8 :
begin
//бежим, в исходную точку
timer.interval := 10000; //время дающееся на выполнение этого действия
end;
9 :
begin
//начинаем все с первого шага
step := 0;
timer.interval := 1;
end;
end;
end;
procedure init;
begin
step := 0;
timer := ttimer.create(nil);
timer.ontimer := @ontimer;
timer.interval := 1000; //через секунду после включения скрипта сработает первая итерация таймера.
timer.enabled := true;
end;
procedure free;
begin
timer.free;
end;
begin
end.
__________________
L2Ext - project closed.
Последний раз редактировалось alexteam, 16.08.2009 в 13:59.
|