PDA

Просмотр полной версии : помогите написать скрипт l2phx


wimax
04.01.2011, 18:42
нужен скрипт что бы отсылал спам пакетов в определенное время
примерно вот так в 14:35 начинал спамить вот етим пакетом C6 BF 07 00 00 01 00 00 00 03 00 00 00 (отправлял на сервер) и до 14:40 и после етого отключался и так каждый раз в определенное время скрипт включался и начинал спамить
пример
14:35 начинает спамить етим пакетом на сервер C6 BF 07 00 00 01 00 00 00 03 00 00 00
14:40 заканчует
в 16:00 опять начинает
и в 16:05 заканчует
помогите плыз написать а то я всех терминов не знаю(
скрипт вроде постой

Nickers
04.01.2011, 21:01
На что направлен скрипт? С какой скоростью спамить?

А я и не знаю, есть ли в Паскале Функции или Встроенные переменные текущего времени и даты как на cmd?
Ну а можно осуществить через Таймер... Чтоб отсчитывал время запускается (Спамит), ждет 2 часа, спамит, ждет 20 часов, (Возвращается к 1му пункту)
Все есть на форуме ...

Сама функция посылания, наверное, буит цикл, который один пакет посылает серверу, Ну ток не знаю с какой скоростью он эт делать буит (Если тож еще 1 таймер не мутить(не парится)) думаю быстровато))
Эт все тож на форуме есть... Нужна только фантазия и желание...

wimax
04.01.2011, 21:24
ну короче смотри можно ищо зделоть без таймера. мне короче надо при появлении окна на рег на евент, чтоб сразу принемал тоесть при получения пакета от сервера сразуже шол конфирм на етот пакет
вот короче ко мне приходит от сервера вот етот пакет F3 BF 07 00 00 01 00 00 00 00 00 00 00 12 04 4B 04 20 00 45 04 3E 04 42 04 38 04 42 04 35 04 20 00 3F 04 40 04 38 04 3D 04 4F 04 42 04 4C 04 20 00 43 04 47 04 30 04 41 04 42 04 38 04 35 04 20 00 32 04 20 00 4D 04 32 04 35 04 3D 04 42 04 35 04 20 00 27 00 43 00 54 00 46 00 27 00 3F 00 00 00 30 75 00 00 03 00 00 00
мне надо чтоб после получения етого пакета отсылался сразу же конфирме на него тоесть C6 BF 07 00 00 01 00 00 00 03 00 00 00 вот етот пакет скрипт вроде не трудный но я терминов паскаля не знаю, мб ктота знает как ето зделоть на боте то вообще бы было отлично, в боте вроде есть такая функцыя как авто прием пати вот мне вместо пати надо чтоб принимал регу на евент

supernewbie
05.01.2011, 04:06
if FromServer and (pck=HStr('F3 BF 07 00 00 01 00 00 00 00 00 00 00 12 04 4B 04 20 00 45 04 3E 04 42 04 38 04 42 04 35 04 20 00 3F 04 40 04 38 04 3D 04 4F 04 42 04 4C 04 20 00 43 04 47 04 30 04 41 04 42 04 38 04 35 04 20 00 32 04 20 00 4D 04 32 04 35 04 3D 04 42 04 35 04 20 00 27 00 43 00 54 00 46 00 27 00 3F 00 00 00 30 75 00 00 03 00 00 00')) then
begin
pck:='';
buf:=HStr('C6 BF 07 00 00 01 00 00 00 03 00 00 00');
SendToServer;
end;

dyh9l
05.01.2011, 06:27
как давно это было) мну когда-то подобное интересавало) с этого я стал позновать эту чудесную программу ;-)
http://coderx.ru/showthread.php?t=5416

wimax
05.01.2011, 07:17
спасибо за скрипт

Добавлено через 7 минут
begin
IF FromServer and (pck=HStr('F3 BF 07 00 00 01 00 00 00 00 00 00 00 12 04 4B 04 20 00 45 04 3E 04 42 04 38 04 42 04 35 04 20 00 3F 04 40 04 38 04 3D 04 4F 04 42 04 4C 04 20 00 43 04 47 04 30 04 41 04 42 04 38 04 35 04 20 00 32 04 20 00 4D 04 32 04 35 04 3D 04 42 04 35 04 20 00 27 00 43 00 54 00 46 00 27 00 3F 00 00 00 30 75 00 00 03 00 00 00')) then
begin
pck:='';
buf:=HStr('C6 BF 07 00 00 01 00 00 00 03 00 00 00');
SendToServer;
end;
end.

так помоему будет правильней)

Добавлено через 16 минут
ххммм так стоп а как теперь зделоть чтоб скрипт делал постоянно проверку прислал ли сервер етот пакет?

dyh9l
05.01.2011, 07:46
он уже ее постоянно делает, главные begin end срабатывают при появлении любого пакета от сервера или клиента

wimax
05.01.2011, 11:33
хмм почему когда я отправляю етот пакет к клиенту не чего не происходит?

supernewbie
05.01.2011, 13:30
ты действительно хочешь это знать?
тогда знай, что ты выложил ахренительно мало инфы, пакеты будут всегда разные, нужна детальная расшифровка, а ты не указал не хроник, вообще нихрена, слава богу что хоть пакеты дал. Указывай хроники, гони детальную расшифровку мать твою

Breadfan
05.01.2011, 13:52
хмм почему когда я отправляю етот пакет к клиенту не чего не происходит? - и не будет происходить, пакеты отправленные руками - скриптом не обработаются.

wimax
05.01.2011, 17:39
ты действительно хочешь это знать?
тогда знай, что ты выложил ахренительно мало инфы, пакеты будут всегда разные, нужна детальная расшифровка, а ты не указал не хроник, вообще нихрена, слава богу что хоть пакеты дал. Указывай хроники, гони детальную расшифровку мать твою

Хроники Freya
рашыфровка
F3 //тип пакета (ConfirmDlg)
BF 07 00 00 // messageId всегда оденаковый
01 00 00 00 //ListSize вроде длина пакета
00 00 00 00 // Type text=0, number=1, npcname=2, itemname=3, skillname=4, zonename=7: 0 (0x00000000) вроде тип текста
12 04 4B 04 20 00 45 04 3E 04 42 04 38 04 42 04 35 04 20 00 3F 04 40 04 38 04 3D 04 4F 04 42 04 4C 04 20 00 43 04 47 04 30 04 41 04 42 04 38 04 35 04 20 00 32 04 20 00 4D 04 32 04 35 04 3D 04 42 04 35 04 20 00 27 00 43 00 54 00 46 00 27 00 3F 00 00 00 //name текст спрашует хотители вы зарегатса на евент
30 75 00 00 // время ожыдания до конца нажатия конфирма
03 00 00 00 //RequesterId ет хз

C6 // тип пакета (DlgAnswer)
BF 07 00 00 //messageId всегда оденаковый
01 00 00 00 //ответ на пакет принять если 01 до ДА еслт 02 то нет))
03 00 00 00 //неведомая куйня

нужно чтоб скрипт всегда делал проверку если присылался пакет то он давал сразу ответ а то получается что скрипт прокручивается тока 1 раз как нажмешь и все потом он проста закончился(

supernewbie
05.01.2011, 17:51
begin
IF FromServer and (pck[1]=#$F3) and (ReadS(14)='Вы хотите принять участие в эвенте 'CTF'?') then
begin
pck:='';
buf:=HStr('C6 BF 07 00 00 01 00 00 00 03 00 00 00');
SendToServer;
end;
end.

wimax
05.01.2011, 18:02
(ReadS(14)='Вы хотите принять участие в эвенте 'CTF'?')
тут ошибочку выдает синтекса

supernewbie
05.01.2011, 18:12
ну я не знаю, может быть виноградный?
---
'Вы хотите принять участие в эвенте '+#$27+'CTF'+#$27+'?'

wimax
05.01.2011, 20:08
да да ето оно спс биг ) как я понимаю скрипт будет делать всегда проверку на получения данного пакета и текста?

Добавлено через 56 минут
и Опять проблемка скрипт все роботает но когда сидиш на боте он не роботает тока если в окне ла2 ( личить можна?

Добавлено через 28 минут
и ищо проблема скрипт начинает работать если отправлено 2 пакета от сервера то есть если проста получен 1 пакет не чего он не делает но если этот же пакет отправится до того как окошко пропадет то скрипт работает
я думаю что скрипт начинает свою роботу тока когда пакет от сервера к клиенту принят етот пакет и его время (30 75 00 00 // время ожыдания до конца нажатия конфирма) активно то есть когда получен пакет скрипт работает когда пакет заканчивает роботу то скрипт не пашыт как починить?

Добавлено через 24 минуты
но если зделоть так
begin
IF FromServer and (pck[1]=#$F3) then
begin
pck:='';
buf:=HStr('C6 BF 07 00 00 01 00 00 00 03 00 00 00');
SendToServer;
end;
end.


то все отлично роботает тока вот проверка будет на все пакеты такого типа

актуальный вопрос с ботом

supernewbie
05.01.2011, 20:12
чем бот отличается от клиента л2 в плане прихода на него пакетов от сервера?
не знаю, попробуй так чтоли елки-палки

begin
IF FromServer and (pck[1]=#$F3) and (pos('CTF',ReadS(14))<>0) then
begin
pck:='';
buf:=HStr('C6 BF 07 00 00 01 00 00 00 03 00 00 00');
SendToServer;
end;
end.

Breadfan
05.01.2011, 20:25
А еще коды символов посравнивать можно, циклом, побуквенно....<сарказм>

wimax
05.01.2011, 21:04
чем бот отличается от клиента л2 в плане прихода на него пакетов от сервера?
не знаю, попробуй так чтоли елки-палки

begin
IF FromServer and (pck[1]=#$F3) and (pos('CTF',ReadS(14))<>0) then
begin
pck:='';
buf:=HStr('C6 BF 07 00 00 01 00 00 00 03 00 00 00');
SendToServer;
end;
end.


неа тоже также ну лан ето пох пускай даже будет все типы таких пакетов принемать а вот с ботом я хз что ето

Добавлено через 1 минуту
походу когда в боте скрипты вобще не роботают....

Добавлено через 11 минут
Все всем спасибо разобрался с ботом проста l2phx не ловит пакет отправленный в ручную ботом