Показать сообщение отдельно
Старый 31.08.2009, 20:01   #5
Рыцарь
 
Аватар для TAMBIK
 
Регистрация: 03.03.2009
Сообщений: 773
Сказал Спасибо: 361
Имеет 300 спасибок в 168 сообщенях
TAMBIK на пути к лучшему
По умолчанию

что то так
Код:
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.
__________________
Тут не форум гадалок, если ты делаешь все правильно и по пунктам - то все должно работать

Последний раз редактировалось TAMBIK, 31.08.2009 в 20:01. Причина: Добавлено сообщение
TAMBIK вне форума   Ответить с цитированием