что то так
Код:
const
Name='nick';
var timer:TTimer;
phase:integer;
procedure Init;
begin
timer:=TTimer.Create(nil);
timer.interval:=100;
timer.OnTimer:=@fireTimer;
timer.enabled:=false;//изначально таймер выключен
phase:=1;//начальная фаза
end;
procedure Free;
begin
timer.Free;
end;
procedure fireTimer(Sender: TObject);
begin
case phase of
1:begin
buf:=hstr('{здесь пакет на таргет гмшопа}');
SendToServerEx(Name);
inc(phase);
end;
2:begin
buf:=hstr('{здесь пакет на второй таргет гмшопа}');
SendToServerEx(Name);
inc(phase);
end;
3:begin
buf:=hstr('{здесь пакет на выбор магазина}');
SendToServerEx(Name);
inc(phase);
end;
4:begin
buf:=hstr('{здесь пакет на покупку нужного кол-ва итемов}');
SendToServerEx(Name);
inc(phase);
end;
5:begin
buf:=hstr('{здесь пакет на таргет гк}');
SendToServerEx(Name);
inc(phase);
end;
6:begin
buf:=hstr('{здесь пакет на второй таргет гк}');
SendToServerEx(Name);
inc(phase);
end;
7:begin
buf:=hstr('{здесь пакет на выбор магазина}');
SendToServerEx(Name);
inc(phase);
end;
8:begin
buf:=hstr('{здесь пакет на обмен}');
SendToServerEx(Name);
phase:=1;//вернулись к началу
end;
end;
begin
if FromClient and (ConnectName=Name) and (pck = HStr('{здесь пакет на старт точки, например социальное действие}' )) then begin
timer.enabled:=true;
end;
if FromClient and (ConnectName=Name) and (pck = HStr('{здесь пакет на стоп точки, например социальное действие}' )) then begin
timer.enabled:=false;
end;
end.
Добавлено через 2 минуты
или так
Код:
const
Name='ххххх';
var
timer1 TTimer;
x integer;
procedure OnTimer1(Sender TObject);
begin
case x of
0 begin
timer1.interval = интервал_через_который_будет_отослан_первый_пакет;
end;
1 begin
buf=hstr('пакет №1');
SendToServerEx(Name);
timer1.interval = интервал_через_который_будет_отослан_второй_пакет;
end;
2 begin
buf=hstr('пакет №2');
SendToServerEx(Name);
timer1.interval = интервал_через_который_будет_отослан_третий_пакет;
end;
3 begin
buf=hstr('пакет №3');
SendToServerEx(Name);
end;
else
begin
timer1.enabled = false;
x = 0;
end;
end;
inc(x);
end;
Вызывается при включении скрипта
procedure Init;
begin
x = 0;
timer1=TTimer.Create(nil);выделяем памать и т.п.
timer1.OnTimer=@OnTimer1;привязываем процедуру к событию
timer1.enabled=true;начальное положение true-включенfalse-выключен
timer1.interval=1;интервал
end;
procedure Free;
begin
timer1.free;
end;
begin
end.