L2PacketHackФорум программы L2PacketHack, всё что с ней связано находится тут.
Правила раздела!
Категорически запрещено:
* Просить пакеты/скрипты на шмот/адену/другие вещи;
* Просить (помочь) взломать/сломать сервак/аккаунт или раздеть/наказать кого-то на любом серваке;
* Просить научить работать с программой, если не понимаете элементарных вещей в отношениях клиент-сервер (так как, если вы их понимаете, то вопросов по основным возможностям программы быть недолжно);
* Все посты не удовлетворяющие этим запретам, а так же не относящиеся к теме будут удаляться при первой возможности.
* Запрещается создавать темы с просьбой выполнить какую-то работу за автора темы.
* Форум является средством общения и общего поиска решения. Вашу работу за Вас никто выполнять не будет.
* Данные запреты неподлежат обсуждению.
//QaK:отдельная тема по подкючению пакетхака к серверу >>>>>>>>тут
любые вопросы по данной тематике в этом топе будут удаляться без предупреждения.
Код:
const
mp='8A 1B 15 01 10';
hp='8A 1A 15 01 10';
begin
if fromclient and (pck[1]=#$38#$F5#$00#$EF#$00#$00#$00#$03#$00#$00#$00) then
begin
buf:=hstr(hp);
SendToServer;
end;
if fromclient and (pck[2]=#$33#$F5#$00#$EF#$00#$40#$00#$03#$00#$00#$00) then
begin
buf:=hstr(mp);
SendToServer;
end;
end.
где я ошибся?
Последний раз редактировалось QaK, 30.08.2010 в 18:56.
с делаями просто все замирает, но это вроде проблем не доставляет. а так вобще посмотрю, нет предела совершенству
Именно, что всё замирает! Вроде что-то не так в пакетхаке - даже пакеты перестают передаваться. Поэтому надо воздерживаться от использования delay(). Проблем не возникнет, если задержка достаточно маленькая, порядка 1 сек и редко.
выкладываю свой первый нубо-скрипт чтоб вы видели что ваши старания и мои консультации не прошли напрасно
скрипт для бота-бафера или бд, прошу строго не судить:
Ты же этот скрипт делал на основе скрипта на БД? Если да, то там используется 2 таймера, delay лучше убрать. С 2 таймерами всё работает прекрасно и ничего не замирает.
(Скрипт на БД можно посмотреть тут http://coderx.ru/showpost.php?p=1284&postcount=127 )
1 таймер - отсчет времени для ребаффа.
2 таймер - для паузы между баффами.
Цитата:
Сообщение от -=Ma}{imuS=-
Timer1.Interval := 1200000; // задержка таймера (для танцев бд 125000)
лучше писать так
Timer1.Interval := 20*60*1000; или Timer1.Interval := 2*60*1000; для БД
более читаемо
Последний раз редактировалось pps, 16.06.2008 в 19:09.
QaK, понимаешь, мне нужно чтоб соединения в скрипте назывались 1,2,3.... а не по никам...
Добавлено через 3 часа 26 минут
Почему не хочет отправлять 3 пакета с промежутком 200мс между каждым...и задержкой в 5минут в конце цикла?
(Скрипт любезно предоставлен NLObP)
Код:
const
packet1='CF 66 33 31 57 89 A1 3E 40 A0 86 01 00';
packet2='FF 35 57 A0 C1 7B CE 1B 40 A0 86 01 00';
var
status:boolean;
timer1: TTimer;
timer2: TTimer;
x: integer;
procedure UseBuff(buffID:string; id:integer);
begin
buf:=HStr(buffID);
SendToServerEX(ConnectNameByID(id)); //переходим от ID к Name
end;procedure OnTimer;
begin
case x of
0: begin
usebuff(packet1,1);
inc(x);
end;
1: begin
usebuff(packet2,0);
inc(x);
end;
2: begin
usebuff(packet1,1);
inc(x);
status:=true;
timer1.interval:=300000; //5 минут
end;
end;end;procedure OnTimer2;
begin
end;procedure Init;
begin
timer1:=TTimer.Create(nil);
timer1.OnTimer:=@OnTimer;
timer1.enabled:=false;
timer1.interval:=200; //200 миллисекунд
x:=0;
status:=false;
timer2:=TTimer.Create(nil);
timer2.OnTimer:=@OnTimer2;
timer2.enabled:=false;
timer2.interval:=300000; //5 минут
x:=0;
status:=false;
end;procedure Free; //Вызывается при выключении скрипта
begin
timer1.free;
timer2.free;
end;begin
end.
Последний раз редактировалось Byrger, 17.06.2008 в 19:32.
Причина: Добавлено сообщение
На работе кончился инет, поэтому не договорил, как лучше сделать.
Попробуй так:
delphi Код:
{
Социальное действие YES - включить
Социальное действие NO - выключить
}const
packet1='CF 66 33 31 57 89 A1 3E 40 A0 86 01 00';
packet2='FF 35 57 A0 C1 7B CE 1B 40 A0 86 01 00';
var
timer1 : TTimer;
x : integer;
procedure UseBuff(buffID:string; id:integer);
begin
buf:=HStr(buffID);
SendToServerEX(ConnectNameByID(id)); //переходим от ID к Nameend;
procedure OnTimer;
begincase x of0: begin
usebuff(packet1,1);
inc(x);
end;
1: begin
usebuff(packet2,0);
inc(x);
end;
2: begin
usebuff(packet1,1);
inc(x);
// timer1.interval:=300000; //5 минут//откл.
timer1.enabled:=false;
end;
end;
end;
procedure Init;
begin
timer1:=TTimer.Create(nil);
timer1.OnTimer:=@OnTimer;
timer1.enabled:=false;
timer1.interval:=200; //200 миллисекунд
x:=0;
end;
procedure Free; //Вызывается при выключении скриптаbegin
timer1.free;
end;
beginif pck=''thenexit;
if FromClient thenbegincase pck[1] of
#$1B: begincase ReadD(2)of//социальное действие Yes для начала
$06: begin//не передаем серверу
pck:='';
x:=0;
//вкл.
timer1.enabled:=true;
end;
//социальное действие No для окончания
$05: begin//не передаем серверу
pck:='';
//откл.
timer1.enabled:=false;
end;
end;
end;
end;
end;
end.
Добавлено через 1 минуту
Потому что таймер выключен и нигде не включается.
Хм... А как убрать, что не запускалось по социальным действиям?
А то с этим шифрованием... Просто надо чтоб галочку поставил и всё...
Добавлено через 16 минут
Так попробовал... не работает похоже...
Переделал скрипт под "зашифрованные" действия
После выполнения действия YES ничего не происходит...
Добавлено через 14 минут
Социальное действие YES у меня DC 5D E8 09 CF
NO DC 5E E8 09 CF
Два пакета которые нужно отправлять..
1-0A 23 3A FB 40 76 12 DC 40 A0 86 01 00
2-D1 5A E8 09 CF 85 F4 AC 40 A0 86 01 00
Код:
{
Социальное действие YES - включить
Социальное действие NO - выключить
}
const
packet1='0A 23 3A FB 40 76 12 DC 40 A0 86 01 00';
packet2='D1 5A E8 09 CF 85 F4 AC 40 A0 86 01 00';
var
timer1 : TTimer;
x : integer;
procedure UseBuff(buffID:string; id:integer);
begin
buf:=HStr(buffID);
SendToServerEX(ConnectNameByID(id)); //переходим от ID к Name
end;
procedure OnTimer;
begin
case x of
0: begin
usebuff(packet1,1);
inc(x);
end;
1: begin
usebuff(packet2,0);
inc(x);
end;
2: begin
usebuff(packet1,1);
inc(x);
// timer1.interval:=300000; //5 минут
//откл.
timer1.enabled:=false;
end;
end;
end;procedure Init;
begin
timer1:=TTimer.Create(nil);
timer1.OnTimer:=@OnTimer;
timer1.enabled:=false;
timer1.interval:=200; //200 миллисекунд
x:=0;
end;procedure Free; //Вызывается при выключении скрипта
begin
timer1.free;
end;begin
if pck='' then exit;
if FromClient then begin
case pck[1] of
#$ВС: begin
case ReadD(2) of
//социальное действие Yes для начала
$5D: begin
//не передаем серверу
pck:='';
x:=0;
//вкл.
timer1.enabled:=true;
end;
//социальное действие No для окончания
$5E: begin
//не передаем серверу
pck:='';
//откл.
timer1.enabled:=false;
end;
end;
end;
end;
end;
end.
Всё вроде правильно поставил, что не так то?
Последний раз редактировалось Byrger, 17.06.2008 в 22:23.
Причина: Добавлено сообщение
посылка пакетов начнется через 10 сек после запуска скрипта,
а здесь сделай так
delphi Код:
procedure OnTimer;
begincase x of0: begin
usebuff(packet1,1);
inc(x);
timer1.interval:=200; //изменяем время на 200 мс end;
1: begin
usebuff(packet2,0);
inc(x);
end;
2: begin
usebuff(packet1,1);
inc(x);
//откл.
timer1.enabled:=false;
end;
end;
end;
Последний раз редактировалось NLObP, 18.06.2008 в 00:14.
Вопрос следуещий, тока что начал разбиратся понемногу в ПНХ, кароче вижу чтобы бот-афер следовал за хозяеном используют выдиления таргета и эмуляциу щелчков мыши по нем, а МОЖНО ли юзать бег по кординатам хазяина, тоесть отсеиваим пакеты МУВ ТУ хозяина и бегаим по ним, если да то сразу 2 вопрос - как зделать чтобы он не "вбегал" в хозяина (тоесть держался на определенном растоянии), возможно - кордината Х=кордината Х+10, например, и Y также???