PDA

Просмотр полной версии : нужна помощь в написании скрипта


Go0fy
24.12.2007, 13:29
Народ, помогите плз, вообщем мне нужно отправить серверу 3 пакета, каждый из них n-ое кол-во раз с определённым интервалом.
ЗЫ: Просто задолбался я уже в ручную пакеты менять :D

QaK
24.12.2007, 16:04
в какой последовательности и с каким инретвалом?
например:

пак1-пак2-пак3-пак2-пак1 или
пак1-пак2-пак1-пак3 или как-нить еще, а вообще делаешь массив
mass:array[1..<количество пакетов>] of string;

в процедуре Init допиши:

mass[1]:='<суда вставляешь скопированный пакет, который надо послать>';
mass[2]:= ....
......
mass[<Количество пакетов>]:= ...



и сделай таймер с нужным интервалом (или несколько таймеров);(как описывается, создается и удаляется таймер смотри в теме "Да будет Бот" - первый пост посмотри)

и в обработчике таймера поставь

buf:=hstr(mass[<здесь номер элемента в массиве>]);

усе!

Go0fy
24.12.2007, 21:32
Мне нужно отправить
5 раз пак1(интервал между пакетами 1 сек) - 2 раза пак2(интервал между пакетами 1 сек) - 1 раз пак3(интервал между пакетами 1 сек)
ЗЫ читал уже эту тему но чёт всё равно недогнал,щас ещё раз пролистну :)

Добавлено спустя 1 час 40 минут 32 секунды:
Re:
в какой последовательности и с каким инретвалом?
например:

пак1-пак2-пак3-пак2-пак1 или
пак1-пак2-пак1-пак3 или как-нить еще, а вообще делаешь массив
mass:array[1..<количество пакетов>] of string;

в процедуре Init допиши:

mass[1]:='<суда вставляешь скопированный пакет, который надо послать>';
mass[2]:= ....
......
mass[<Количество пакетов>]:= ...



и сделай таймер с нужным интервалом (или несколько таймеров);(как описывается, создается и удаляется таймер смотри в теме "Да будет Бот" - первый пост посмотри)

и в обработчике таймера поставь

buf:=hstr(mass[<здесь номер элемента в массиве>]);

усе!
ничего не понял... :shock:
Если не трудно напиши готовый...

QaK
25.12.2007, 09:01
Если не трудно напиши готовый...
Не трудно =) лениво просто очень, да и Новый год скоро, а это вдвойне лениво...

20.01.2008, 18:26
Зделайте пожалуйста образец готового скрипта хотябы с 3-х разных пакетов посылаемых с интервалом 2 секунды .. ето-же так просто.. зато добавит l2phx много новых возможностей
var
mass:array[1..16] of string;
timer1: TTimer;
buf;

procedure Init; //Вызывается при включении скрипта
begin
timer1:=TTimer.Create(nil);
timer1.OnTimer:=@OnTimer; //
timer1.enabled:=true; //
timer1.interval:=2000;



mass[1]:='72 00 65 00 63 00 61 00 6C 00 6C 00 20 00 53 00 69 00 67 00 6D 00 61 00 00 00';
mass[2]:='72 00 65 00 63 00 61 00 6C 00 6C 00 20 00 53 00 69 00 67 00 6D 00 61 00 00 00';
mass[3]:='72 00 65 00 63 00 61 00 6C 00 6C 00 20 00 53 00 69 00 67 00 6D 00 61 00 00 00';
mass[4]:='72 00 65 00 63 00 61 00 6C 00 6C 00 20 00 53 00 69 00 67 00 6D 00 61 00 00 00';
mass[5]:='72 00 65 00 63 00 61 00 6C 00 6C 00 20 00 53 00 69 00 67 00 6D 00 61 00 00 00';
mass[6]:='72 00 65 00 63 00 61 00 6C 00 6C 00 20 00 53 00 69 00 67 00 6D 00 61 00 00 00';
mass[7]:='72 00 65 00 63 00 61 00 6C 00 6C 00 20 00 53 00 69 00 67 00 6D 00 61 00 00 00';
mass[8]:='72 00 65 00 63 00 61 00 6C 00 6C 00 20 00 53 00 69 00 67 00 6D 00 61 00 00 00';
mass[9]:='72 00 65 00 63 00 61 00 6C 00 6C 00 20 00 53 00 69 00 67 00 6D 00 61 00 00 00';
mass[10]:='72 00 65 00 63 00 61 00 6C 00 6C 00 20 00 53 00 69 00 67 00 6D 00 61 00 00 00';
mass[11]:='72 00 65 00 63 00 61 00 6C 00 6C 00 20 00 53 00 69 00 67 00 6D 00 61 00 00 00';
mass[12]:='72 00 65 00 63 00 61 00 6C 00 6C 00 20 00 53 00 69 00 67 00 6D 00 61 00 00 00';
mass[13]:='72 00 65 00 63 00 61 00 6C 00 6C 00 20 00 53 00 69 00 67 00 6D 00 61 00 00 00';
mass[14]:='72 00 65 00 63 00 61 00 6C 00 6C 00 20 00 53 00 69 00 67 00 6D 00 61 00 00 00';
mass[15]:='72 00 65 00 63 00 61 00 6C 00 6C 00 20 00 53 00 69 00 67 00 6D 00 61 00 00 00';
mass[16]:=''";
end;

procedure OnTimerProc;
buf:=hstr(mass[1])
begin //end. не ставлю, хачу чтобы скрипт повторялся

//Ну вот я сделала;
//Ни пашет;
//Пачиму?.

dmitry501
21.01.2008, 03:46
begin //end. не ставлю, хачу чтобы скрипт повторялся

Замечательно. 8)

skymanrus
23.01.2008, 00:01
Зделайте пожалуйста образец готового скрипта хотябы с 3-х разных пакетов посылаемых с интервалом 2 секунды .. ето-же так просто.. зато добавит l2phx много новых возможностей


не совсем понял что скрипт вообще должен делать но кажется вы пытались сделать что то вроде этого:
var
mass:array[1..16] of string;
timer1: TTimer;
i: integer;

procedure Init;
begin
timer1:= TTimer.Create(nil);
timer1.OnTimer:=@OnTimerSKY;
timer1.enabled:=true;
timer1.interval:=2000;
i:=1;
mass[1]:='72 00 65 00 63 00 61 00 6C 00 6C 00 20 00 53 00 69 00 67 00 6D 00 61 00 00 00';
mass[2]:='72 00 65 00 63 00 61 00 6C 00 6C 00 20 00 53 00 69 00 67 00 6D 00 61 00 00 00';
mass[3]:='72 00 65 00 63 00 61 00 6C 00 6C 00 20 00 53 00 69 00 67 00 6D 00 61 00 00 00';
mass[4]:='72 00 65 00 63 00 61 00 6C 00 6C 00 20 00 53 00 69 00 67 00 6D 00 61 00 00 00';
mass[5]:='72 00 65 00 63 00 61 00 6C 00 6C 00 20 00 53 00 69 00 67 00 6D 00 61 00 00 00';
mass[6]:='72 00 65 00 63 00 61 00 6C 00 6C 00 20 00 53 00 69 00 67 00 6D 00 61 00 00 00';
mass[7]:='72 00 65 00 63 00 61 00 6C 00 6C 00 20 00 53 00 69 00 67 00 6D 00 61 00 00 00';
mass[8]:='72 00 65 00 63 00 61 00 6C 00 6C 00 20 00 53 00 69 00 67 00 6D 00 61 00 00 00';
mass[9]:='72 00 65 00 63 00 61 00 6C 00 6C 00 20 00 53 00 69 00 67 00 6D 00 61 00 00 00';
mass[10]:='72 00 65 00 63 00 61 00 6C 00 6C 00 20 00 53 00 69 00 67 00 6D 00 61 00 00 00';
mass[11]:='72 00 65 00 63 00 61 00 6C 00 6C 00 20 00 53 00 69 00 67 00 6D 00 61 00 00 00';
mass[12]:='72 00 65 00 63 00 61 00 6C 00 6C 00 20 00 53 00 69 00 67 00 6D 00 61 00 00 00';
mass[13]:='72 00 65 00 63 00 61 00 6C 00 6C 00 20 00 53 00 69 00 67 00 6D 00 61 00 00 00';
mass[14]:='72 00 65 00 63 00 61 00 6C 00 6C 00 20 00 53 00 69 00 67 00 6D 00 61 00 00 00';
mass[15]:='72 00 65 00 63 00 61 00 6C 00 6C 00 20 00 53 00 69 00 67 00 6D 00 61 00 00 00';
mass[16]:='';
end;

procedure Free;
begin
timer1.free;
end;

procedure OnTimerSKY;
begin
if (mass[i]<>'') then begin
buf:=hstr(mass[i]);
SendToServer;
i:=i+1;
end;
end;

begin
end.
//Ну вот я сделала;
//Ни пашет;
//Пачиму?.

потому что нужно более внимательным быть :)
программирование и орфография не терпит ошибок :)

QaK
23.01.2008, 06:24
потому что нужно более внимательным быть программирование и орфография не терпит ошибок
Плюсписот!