Ребятки, помогите с основными функциями, надо скрипт для отправки разных пакетов через разные промежутки времени, замкнутый в цыкл.
Как я понял,
buf:=hstr('пакет');
SendToServerEx(Name);
в скрипте отправляет "пакет" на сервер.
Помогите теперь разобраться, как выставить задержку в 10 секунд между, например
buf:=hstr('пакет№1');
SendToServerEx(Name);
и
buf:=hstr('пакет№2');
SendToServerEx(Name);
и замкнуть ето в цыкл.
Пытался, как в паскале, зделать цыкл через Label's ничего не вышло)
И с таймером не могу разобраться, phx не читает такую команду как delay()?
Заранее спасибо!
Неужели вам легче посылать на разные темки форума, чем написать 2-3 команды?
неужели тебе легче донимать всех вопросом, чем просто почитать теорию и самому во всем разобраться. Мой стрипт поправить - будут разные задержки между отправкой.
timer1.interval:={сюда пишешь величину паузы в милисекундах};
Погуглить не судьба?
AlbeNeC, остальное сам правь,если кто попросит меня еще что-то в этом скрипте исправить, не являющееся конструктивной доработкой по моему субъективному мнению - дам бан, 7 дней.
Добавлено через 2 минуты
delphi Код:
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);
begincase phase of1:begin
buf:=hstr('{здесь пакет на таргет гмшопа}');
SendToServerEx(Name);
inc(phase);
timer1.interval:=1000;//1 секундаend;
2:begin
buf:=hstr('{здесь пакет на второй таргет гмшопа}');
SendToServerEx(Name);
inc(phase);
timer1.interval:=1000;//1 секундаend;
3:begin
buf:=hstr('{здесь пакет на выбор магазина}');
SendToServerEx(Name);
inc(phase);
timer1.interval:=1000;//1 секундаend;
4:begin
buf:=hstr('{здесь пакет на покупку нужного кол-ва итемов}');
SendToServerEx(Name);
inc(phase);
timer1.interval:=1000;//1 секундаend;
5:begin
buf:=hstr('{здесь пакет на таргет гк}');
SendToServerEx(Name);
inc(phase);
timer1.interval:=1000;//1 секундаend;
6:begin
buf:=hstr('{здесь пакет на второй таргет гк}');
SendToServerEx(Name);
inc(phase);
timer1.interval:=1000;//1 секундаend;
7:begin
buf:=hstr('{здесь пакет на выбор магазина}');
SendToServerEx(Name);
inc(phase);
timer1.interval:=1000;//1 секундаend;
8:begin
buf:=hstr('{здесь пакет на обмен}');
SendToServerEx(Name);
phase:=1;//вернулись к началу
timer1.interval:=1000;//1 секундаend;
end;
end;
beginif FromClient and(ConnectName=Name)and(pck = HStr('{здесь пакет на старт точки, например социальное действие}'))thenbegin
timer.enabled:=true;
end;
if FromClient and(ConnectName=Name)and(pck = HStr('{здесь пакет на стоп точки, например социальное действие}'))thenbegin
timer.enabled:=false;
end;
end.
Алексей, объясняю, в л2пх то что находится в основной части скрипта проходит 1 раз при проходе одного пакета от клиента либо сервера, поэтому нежелательно там использовать Delay, т.к. следующий пакет л2пх уже не пропустит пока не обработает твой код и не выдержет все твои Delay, и уж темболее, если ты зациклишь этот код, то вообще последующие пакеты от сервера и клиента никуда не дойдут, посему следует использовать таймер
Все било б очень просто, если б работали функции Sleep() и Delay(), но нет =(((
п.с. мну опередили, прочетал то что више, ети функции не помогли б =(
пока что рабочая програма имеет такой вид :
const
begin
end.
воть, но как ее переделать так чтоб шло:
1) пакет №1
2)ждем 10 сек
3)пакет № 2 три раза через 0,3 сек
4)обратно к пункту 1
попиталса вставить еще 1 таймер аналогично 1му, не работает, хз почему =((
Последний раз редактировалось AlbeNeC, 15.07.2009 в 17:27.