Просмотр полной версии : Скрипт на серию разных пакетов
Подскажите пожалуйста скрипт для 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
Создаешь таймер, создаешь переменную, отвечающую за энчант скила, таймером отправляешь пакет на точение скила, энчант скила берешь из переменной, увеличиваешь переменную, если пришел сис мсдж или другой пакет о сломе скила, делаешь её нулём, всё.
Создаешь таймер, создаешь переменную, отвечающую за энчант скила, таймером отправляешь пакет на точение скила, энчант скила берешь из переменной, увеличиваешь переменную, если пришел сис мсдж или другой пакет о сломе скила, делаешь её нулём, всё.
Может еще искусственный интеллект туда впеременить? Шобы он по таймеру самообучалсо? Извиняюсь за пафос, но это как спросить сколько будет 2+2 и получить ответ "а ты реши алгебрическую формулу в 2ГБ и узнаешь"
Задача намного проще:
отправка серверу пакетов (абсолютно разных назначений...движение, сообщения, энчант, таргет, использование скила, итема в инвентаре, кнопки в диалоге с NPC и.т.д....просто отсниференный "пакет") в порядке друг за другом с интервалом 300 милисекунд, желательно с возможностью зацикливания
пакет №1
пакет №2
пакет №3
пакет №4
пакет №5
пакет №6
пакет №7
пакет №8
С общей задержкой между ними 300 милисекунд,
без всяких там "переменных, отвечающих за энчант скила" и прочей малопонятной, ненадежной мути.
У меня, кстати, уже был такой скрипт, тоже нашел на вашем форуме. я его использовал на все случаи жизни, он был довольно простой. но после формата дисков пропал, и на форуме не нашел, много тем поудаляли.
что-то набросал, не знаю точно что получилось, не тестил, но в любом случае затея твоя херня)
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
vBulletin® v3.6.11, Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot