PDA

Просмотр полной версии : Скрипт на серию разных пакетов


siryus
27.02.2011, 03:00
Подскажите пожалуйста скрипт для l2phx 3.4.1.83, который бы отправлял серию разных пакетов
Пример 1: Нужно автоматизировать заточку скилов. Пакет на заточку скила "худро бласт +1" отличается от пакета "худро бласт +2" и нужно отправить серию (уже известных, отсниференных) пакетов в строгой очередности и с определенным интервалом. А именно
например хочу заточить скил Hudro Blast, есть пакеты
заточка на
+1 D0 0F 00 D3 04 00 00 91 01 00 00
/delay 300
+2 D0 0F 00 D3 04 00 00 92 01 00 00
/delay 300
+3 D0 0F 00 D3 04 00 00 93 01 00 00
/delay 300
+4 D0 0F 00 D3 04 00 00 94 01 00 00
//в конце желательно возможность сделать "таймер" что-ли... ну чтобы можно было например TRUE - скрипт бесконечно повторяется пока вручную не выключишь, FALSE - срабатывает только 1 раз
итд до +20 (если например сфейлится на +2 - пусть отправляет серию "левых" пакетов до +20, защиты на сервере нет)
Пример 2: отправлять серверу серию пакетов бафа у npc бафера, чтобы каждый раз после смерти не нажимать их вручную. ну там можно много чего придумать.

supernewbie
27.02.2011, 06:35
Создаешь таймер, создаешь переменную, отвечающую за энчант скила, таймером отправляешь пакет на точение скила, энчант скила берешь из переменной, увеличиваешь переменную, если пришел сис мсдж или другой пакет о сломе скила, делаешь её нулём, всё.

siryus
27.02.2011, 07:21
Создаешь таймер, создаешь переменную, отвечающую за энчант скила, таймером отправляешь пакет на точение скила, энчант скила берешь из переменной, увеличиваешь переменную, если пришел сис мсдж или другой пакет о сломе скила, делаешь её нулём, всё.

Может еще искусственный интеллект туда впеременить? Шобы он по таймеру самообучалсо? Извиняюсь за пафос, но это как спросить сколько будет 2+2 и получить ответ "а ты реши алгебрическую формулу в 2ГБ и узнаешь"

Задача намного проще:
отправка серверу пакетов (абсолютно разных назначений...движение, сообщения, энчант, таргет, использование скила, итема в инвентаре, кнопки в диалоге с NPC и.т.д....просто отсниференный "пакет") в порядке друг за другом с интервалом 300 милисекунд, желательно с возможностью зацикливания
пакет №1
пакет №2
пакет №3
пакет №4
пакет №5
пакет №6
пакет №7
пакет №8
С общей задержкой между ними 300 милисекунд,
без всяких там "переменных, отвечающих за энчант скила" и прочей малопонятной, ненадежной мути.
У меня, кстати, уже был такой скрипт, тоже нашел на вашем форуме. я его использовал на все случаи жизни, он был довольно простой. но после формата дисков пропал, и на форуме не нашел, много тем поудаляли.

червь
27.02.2011, 12:42
что-то набросал, не знаю точно что получилось, не тестил, но в любом случае затея твоя херня)

const
nik='ник';

var
timer : TTimer;
packet:array of string;
i,j:integer;

procedure OnTimer(Sender: TObject);
begin
for i:=1 to 20 do begin //сколько раз отправлять пакеты
for j:=1 to length(packet) do begin
buf:=packet[j];
sendtoserverex(nik);
end;
end;
end;

procedure Init;
begin
packet[1]:=Hstr('D0 0F 00 D3 04 00 00 91 01 00 00');// собственно твои пакеты
packet[2]:=Hstr('D0 0F 00 D3 04 00 00 92 01 00 00');
packet[3]:=Hstr('D0 00 00 00 00 00');
timer:=TTimer.Create(nil);
timer.OnTimer:=@OnTimer;
timer.enabled:=false;
timer.interval:=300; //время задержки
j:=1;
i:=1;
end;

procedure Free;
begin
timer.free;
end;

begin
end.

supernewbie
27.02.2011, 22:38
Может еще искусственный интеллект туда впеременить? Шобы он по таймеру самообучалсо? Извиняюсь за пафос, но это как спросить сколько будет 2+2 и получить ответ "а ты реши алгебрическую формулу в 2ГБ и узнаешь"

http://danieldefo.ru/forum/images/smilies/smilee/facepalm.png

Добавлено через 5 часов 6 минут
ладно, тогда внатуре создаешь массив пакетов, и в таймере делать надо так:

var
packets:array [0..размер] of string;
pckIndex:cardinal; //при запуске равняешь нулю

procedure OnTimer(Sender: TObject);
begin
buf:=packets[pckIndex];
SendToServerEx(Name);
inc(pckIndex);
if pckIndex>length(packets) then pckIndex:=0;
end;

Breadfan
01.03.2011, 13:09
Пример 1: Нужно автоматизировать заточку скилов...

http://coderx.ru/showthread.php?t=1434