PDA

Просмотр полной версии : Скрипт с задержкой между разными пакетами


qwerty123
20.01.2008, 20:41
Здрасьте, помогите пожалуйста зделать скрипт, с помощю которого l2phx будет отправлять серверу разные пакеты с задержкой..скажем..мм.. 2 сек. после каждого.
Например я играю на ГМ сервере и хачу посылать пакеты //recall ник 16 разных ников с задержкой 2 сек. и чтобы скрипт выполнялся пока его не отключиш (т.е. после того как он отправит все 16 пакетов серверу 1.2.3.4.5.6.7.8.9.... после 16-го опять возвращался к выполнению 1-го и так бесконечно)
Перечитала весь форум - ребята часто спрашывают про посылку пакетов с задержкой но так и не получают ответа.
Я пробовала переделывать другие скрипты например скрипт VORON-а расказывающий анекдоты:
//by VORON
//скрипт который рассказывает анекдоты без бана:
///////////////////////////////////////////////////////////////////////////
var
temp: array [1..20] of string;
timer1: TTimer;
x: integer;

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



temp[1]:='" Водка в стиле IT: ';//вместо текста, писала ник, который хачу "рекалить"
temp[2]:='0.1л - demo ';
temp[3]:='0.25л - trial version ';
temp[4]:='0.5л - personal edition ';
temp[5]:='0.7л - professional edition ';
temp[6]:='1.0л - network edition ';
temp[7]:='1.75л - enterprise ';
temp[8]:='3л - for small business ';
temp[9]:='5л - corporate edition ';
temp[10]:='Бутыль самогона - home edition ';
temp[11]:='"На посошок" - Service pack ';
temp[12]:='Рассол с утра - Recovery tool ';
temp[13]:='Закуска - plugins ';
temp[14]:='Пиво - patch ';
temp[15]:='Coca-cola, Fanta, 7 UP - trojan viruses';
temp[16]:='';


x:=1;
end;

procedure OnTimer(Sender: TObject);
begin
///
if temp[x] <> '' then
begin
buf:=hstr('38');//38 - тип пакета "чат" изменяла на 5B
writes(temp[x]);
buf:=buf + hstr('01 00 00 00'); ///Вместо 01 00 00 00 написала 72 00 65 00 63 00 61 00 6C 00 6C 00 20 00 (продолжение пакета после первых 2-х байт)
sendtoserverex('ник');//тут пробовала и с ником, и без него
end;
x:=x+1;
if x>= 19 then x:=19;
end;


procedure Free; //Вызывается при выключении скрипта
begin
timer1.Free;
end;

//основная часть скрипта
//вызывается при приходе каждого пакета если скрипт включен
begin

end.


Никакого результата..
В одной из тем прочитала:
Go0fy 24 дек 2007, 12:29

Народ, помогите плз, вообщем мне нужно отправить серверу 3 пакета, каждый из них n-ое кол-во раз с определённым интервалом.

в какой последовательности и с каким инретвалом?
например:

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

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

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



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

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

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

усе!
и сразу попробовала сделать скрипт:
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. не ставлю, хачу чтобы скрипт повторялся

//Ну вот я сделала;
//Ни пашет;
//Пачиму?.
Там блин нехватает каких-то пары строк..Но написать их может только тот кто знает Passkal и держыт в голове десятки примеров скриптов и знает как их соединять
Можете выложить готовый пример скрипта, хотябы для отправки 3-х разных пакетов, а я уже сама разберусь и напишу где менять 3 на 16, и добавлю новые строки..Ето-же очень легко (по сравнению например с скриптами на "манор, заточку, прокачку ботом и.т.д) зато добавит l2phx много новых возможностей...

QaK
21.01.2008, 10:14
Плияяя, вот что значит читать пост с конца =( сцуко накатал скрипт - потом прочитал начало - щас я выдам:я играю на ГМ сервере
Прикольно блин - ГМ сервер - одни ГМЫ все друг-друга банят, кикают - ваще ппц веселый сервак, наверно =)
А вот это на Башорг можно
хачу посылать пакеты //recall ник 16 разных ников с задержкой 2 сек
ключевое слово - РАЗНЫХ, а теперь код (нерабочий абсолютно)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]:=''";
Так вот вопрос: где же тут 16 РАЗНЫХ ников? или у мну с головой что-то не так или ...
Идем дальше
Перечитала весь форум - ребята часто спрашывают про посылку пакетов с задержкой но так и не получают ответа
Брехня, полная. Приведенный скрипт Ворона реализует имено то, что ты просишь.
Следующее - вообще без комментариевbuf:=hstr
('38');//38 - тип пакета "чат" изменяла на 5B
writes(temp[x]);
buf:=buf + hstr('01 00 00 00'); ///Вместо 01 00 00 00 написала 72 00 65 00 63 00 61 00 6C 00 6C 00 20 00 (продолжение пакета после первых 2-х байт)
sendtoserverex('ник');//тут пробовала и с ником, и без него
Потом:
и сразу попробовала сделать скрипт:
и зря, сначала надо было почитать теорию программирования хотя бы наPasskal и чуть-чуть объектно-ориентированного программирования чтобы научитьсяв голове десятки примеров скриптов и знает как их соединять
(видимо в этом смысл жизни программистов)
Ето-же очень легко (по сравнению например с скриптами на "манор, заточку, прокачку ботом и.т.д)
Да-да это акуенно легко вообще все легко, только если знать о чем ты говоришь....зато добавит l2phx много новых возможностей...
Ага вообще все станет как 2 пальца об асфальт, прокачка до 86 лвла, пуха и шмот +66000, права ГМа, и многое другое, только у нас новая версия пакетхака может все!!! Алилуя!Алилуя!Алилуя!а я уже сама разберусь
вот уж позвольте мне усомниться в этой фразе ...

Все, тема закрыта, как нарушающая правила форума, по поводу "а че вы же умные фигли тут непамагаети" и т.п. вопросам в личку :evil: