Вернуться   CoderX :: Forums > Lineage II > L2PacketHack
Войти через OpenID

L2PacketHack Форум программы L2PacketHack, всё что с ней связано находится тут.
Правила раздела! Обсуждение багов Lineage ЗАПРЕЩЕНО!

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 05.10.2007, 22:00   #1
Новичок
 
Регистрация: 05.10.2007
Адрес: Украина
Сообщений: 19
Сказал Спасибо: 0
Имеет 23 спасибок в 13 сообщенях
DeVolf пока неопределено
По умолчанию Кружок нубов(Вопрос-Ответ)

//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.
DeVolf вне форума   Ответить с цитированием
За это сообщение DeVolf нажился 6 спасибками от:
Старый 19.10.2007, 16:15   #21
Новичок
 
Регистрация: 05.10.2007
Адрес: Украина
Сообщений: 19
Сказал Спасибо: 0
Имеет 23 спасибок в 13 сообщенях
DeVolf пока неопределено
По умолчанию

Следуюший вопрос....
как мне сделать скрипт в котором будут отправлятся пакеты на сервер при условии что
1 ЦП менше чем...
2 МП менше чем...
3 ХП менше чем...
как условия написать я знаю
а вот как из пакета выделить количество ХП МП и ЦП я не знаю....
DeVolf вне форума   Ответить с цитированием
За это сообщение DeVolf нажился спасибкой от:
Старый 25.10.2007, 00:48   #22
Рыцарь
 
Аватар для NLObP
 
Регистрация: 25.02.2008
Адрес: г.Волгоград
Сообщений: 2,009
Сказал Спасибо: 1,285
Имеет 1,458 спасибок в 793 сообщенях
NLObP пока неопределено
По умолчанию Re: ?

Цитата:
Сообщение от хамелион
при отправки пакетов на учение скилов или покупку оружия сразу дисконект идет. почему? серв шок-ворлд
Просто надо внимательно прочитать правила форума и для чего предназначена данная программа и все станет ясно, а если не станет, то не надо пользоваться программой, забанят и здесь и на сервере. :twisted:
__________________
| Для самых ленивый | Телепаты в отпуске |Мы работаем над этим |
Не умеешь - учись, не хочешь учиться - плати © Суровый Закон Жизни


NLObP вне форума   Ответить с цитированием
За это сообщение NLObP нажился спасибкой от:
Старый 26.10.2007, 15:44   #23
Рыцарь
 
Аватар для mks
 
Регистрация: 21.09.2007
Сообщений: 376
Сказал Спасибо: 11
Имеет 218 спасибок в 106 сообщенях
mks пока неопределено
По умолчанию Re:

Цитата:
Сообщение от DeVolf
Следуюший вопрос....
как мне сделать скрипт в котором будут отправлятся пакеты на сервер при условии что
1 ЦП менше чем...
2 МП менше чем...
3 ХП менше чем...
как условия написать я знаю
а вот как из пакета выделить количество ХП МП и ЦП я не знаю....
можешь это посмотреть в моем скрипте Master PvP
__________________
FA©Q!
mks вне форума   Ответить с цитированием
За это сообщение mks нажился спасибкой от:
Старый 28.10.2007, 00:23   #24
Пользователь
 
Регистрация: 08.10.2007
Сообщений: 34
Сказал Спасибо: 17
Имеет 8 спасибок в 7 сообщенях
PIONER
По умолчанию Re: Кружок нубов(Вопрос-Ответ)

Код:
const
greeting=('1b 04 00 00 00');
victory=('1b 03 00 00 00');
advance=('1b 04 00 00 00');
yes=('1b 06 00 00 00');
begin
  buf:=HStr(greeting);
  SendToServer;
end.
delay(9999)
begin
  buf:=HStr(victory);
  SendToServer;
end.
delay(9999)
begin
  buf:=HStr(advance);
  SendToServer;
  delay(9999)
end.
delay(9999)
begin
  buf:=HStr(yes);
  SendToServer;
end.
delay(9999)
Как выставить задержку побольше? а то я ставил и 9999 и 9999999, помоему эффект одинаковый, может она вобще не включается?
Как сделать так, чтобы victory повторился 10 раз(с задержкой между повторениями), перед тем как перейти к выполнению advance?
__________________
Продаю адену на l2.ru Cadmus BlackBird Athebaldt
ICQ: 329-867-244
PIONER вне форума   Ответить с цитированием
За это сообщение PIONER нажился спасибкой от:
Старый 28.10.2007, 02:04   #25
Рыцарь
 
Аватар для NLObP
 
Регистрация: 25.02.2008
Адрес: г.Волгоград
Сообщений: 2,009
Сказал Спасибо: 1,285
Имеет 1,458 спасибок в 793 сообщенях
NLObP пока неопределено
По умолчанию Re:

Цитата:
Сообщение от DeVolf
Следуюший вопрос....
как мне сделать скрипт в котором будут отправлятся пакеты на сервер при условии что
1 ЦП менше чем...
2 МП менше чем...
3 ХП менше чем...
как условия написать я знаю
а вот как из пакета выделить количество ХП МП и ЦП я не знаю....
Если еще не разобрался, то примерно вот так (требуются незначительные доделки):
Воспользуемся мониторингом статов чара (хп, мп, цп и координаты) by Shura1oplot модифицировав его с помощью скрипта на автохилки.
Код:
Const
  Name='NLObP'; //имя чара
  heal=1218; //Greater Battle Heal
  potion=1060; //Healing potion

var
  CharObjID,MyCorX,MyCorY,MyCorZ: integer;
  MaxHP,CurHP,MaxMP,CurMP,MaxCP,CurCP: integer;
  CharName: string;
  TimerHP, TimerCP, TimerMP: TTimer;

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

  timerCP:=TTimer.Create(nil);
  timerCP.OnTimer:=@OnTimerCP;
  timerCP.enabled:=False;
  timerCP.interval:=6000;

  timerMP:=TTimer.Create(nil);
  timerMP.OnTimer:=@OnTimerMP;
  timerMP.enabled:=False;
  timerMP.interval:=6000;
end;

procedure OnTimerHP(Sender: TObject);
begin
  //выбрать что нужно
  //MagicSkillUse(heal);
  //UseItem(potion);
end;
//по аналогии напиши для CP, MP
procedure OnTimerCP(Sender: TObject);
begin
end;
procedure OnTimerMP(Sender: TObject);
begin
end;

//используем магию
procedure MagicSkillUse(MagicID:integer);
begin
    buf:=#$2F;
    WriteD(MagicID);
    WriteD(00);
    WriteC(00);
    SendToServerEx(Name);
end;

//используем предметы
procedure UseItem(ObjID:integer);
begin
    buf:=#$14;
    WriteD(ObjID);
    WriteD(00);
    SendToServerEx(Name);
end;

procedure InitStats;
var
  i: integer;
begin
  CharObjID:=ReadD(18);
  MyCorX:=ReadD(2);
  MyCorY:=ReadD(6);
  MyCorZ:=ReadD(10);
  i:=22;
  CharName:=ReadS(i);
  i:=i+44;
  MaxHP:=ReadD(i);
  CurHP:=ReadD(i);
  MaxMP:=ReadD(i);
  CurMP:=ReadD(i);
  i:=i+363;
  MaxCP:=ReadD(i);
  CurCP:=ReadD(i);
  //добавляем проверки по вкусу
  if (CurHP<=MaxHP-500) then TimerHP.enabled:=true else TimerHP.enabled:=false;
  if (CurCP<=MaxCP-500) then TimerCP.enabled:=true else TimerCP.enabled:=false;
  if (CurMP<=MaxMP-500) then TimerMP.enabled:=true else TimerMP.enabled:=false;
end;

procedure StatsUpdate;
var
  i: integer;
begin
  for i:=0 to ReadD(6)-1 do
    case pck[i*8+10] of
      #$09: CurHP:=ReadD(i*8+14);
      #$0A: MaxHP:=ReadD(i*8+14);
      #$0B: CurMP:=ReadD(i*8+14);
      #$0C: MaxMP:=ReadD(i*8+14);
      #$21: CurCP:=ReadD(i*8+14);
      #$22: MaxCP:=ReadD(i*8+14);
    end;
  //добавляем проверки по вкусу
  if (CurHP<=MaxHP-500) then TimerHP.enabled:=true else TimerHP.enabled:=false;
  if (CurCP<=MaxCP-500) then TimerCP.enabled:=true else TimerCP.enabled:=false;
  if (CurMP<=MaxMP-500) then TimerMP.enabled:=true else TimerMP.enabled:=false;
end;

procedure CorsUpdate;
begin
  MyCorX:=ReadD(2);
  MyCorY:=ReadD(6);
  MyCorZ:=ReadD(10);
end;

BEGIN
  //--- STATS BEGIN ---//
  if FromServer and (ConnectName=Name) and (pck[1]=#$04) then InitStats;
  if FromServer and (ConnectName=Name) and (pck[1]=#$0E) and (CharObjID=ReadD(2)) then StatsUpdate;
  if FromClient and (ConnectName=Name) and (pck[1]=#$48) then CorsUpdate;
  //--- STATS END ---//
END.
__________________
| Для самых ленивый | Телепаты в отпуске |Мы работаем над этим |
Не умеешь - учись, не хочешь учиться - плати © Суровый Закон Жизни


NLObP вне форума   Ответить с цитированием
За это сообщение NLObP нажился спасибкой от:
Старый 28.10.2007, 06:27   #26
Пользователь
 
Регистрация: 08.10.2007
Сообщений: 34
Сказал Спасибо: 17
Имеет 8 спасибок в 7 сообщенях
PIONER
По умолчанию

Код:
 var
 tick: Integer;

procedure Init;
begin
end;
function Pause(Timewait: Integer):Boolean;
// сквозная проверка без остановки скрипта (c)dmitry501
  var
    t : integer;
  begin
    result := false;
    t := Round(Time*86400);
    if  t > (tick + Timewait) then
      begin
        tick := t;
        result := true;
      end;
      end;
const
greeting=('1b 04 00 00 00');
victory=('1b 03 00 00 00');
advance=('1b 04 00 00 00');
yes=('1b 06 00 00 00');
begin
  buf:=HStr(greeting);
  SendToServer;
end;  //ТУТ ВЫДАЁТ ОШИБКУ<<<<<<<<<<<<<<<
begin
if pause(2) then;//+ 2 секунды ожидания
end;
begin
  buf:=HStr(victory);
  SendToServer;
end;
begin
if pause(2) then; //+ 2 секунды ожидания
end;

begin
  buf:=HStr(advance);
  SendToServer;
end;
begin
if pause(2) then; //+ 2 секунды ожидания
end;

begin
  buf:=HStr(yes);
  SendToServer;
end;
begin
if pause(2) then; //+ 2 секунды ожидания
end.
добавил задержку, но скрипт выдаёт ошибку на END(в скрипте указанно место), подскажите что неправильно или чего нехватает.
__________________
Продаю адену на l2.ru Cadmus BlackBird Athebaldt
ICQ: 329-867-244
PIONER вне форума   Ответить с цитированием
За это сообщение PIONER нажился спасибкой от:
Старый 28.10.2007, 18:37   #27
Рыцарь
 
Аватар для NLObP
 
Регистрация: 25.02.2008
Адрес: г.Волгоград
Сообщений: 2,009
Сказал Спасибо: 1,285
Имеет 1,458 спасибок в 793 сообщенях
NLObP пока неопределено
По умолчанию Re: Кружок нубов(Вопрос-Ответ)

Даже не знаю как тебе помочь. Ты в программировании понимаешь? Зачем у тебя куча ненужных begin end;?
Почитай книги какие нибудь.

Вот формат скрипта для пакетхака:
Код:
//описываешь константы
const
...
//описываешь переменные
var
...
//описываешь вспомогательные функции (возвращает результат)
function Pause(Timewait: Integer):Boolean;
begin
...
  result:=true;
end;
//описываешь вспомогательные процедуры (не возвращает результат)
procedere Pause2;
begin
...
end;

procedure Init; //Вызывается при включении скрипта
begin
//заполняешь если надо
...
end;

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

//основная часть скрипта
//вызывается при приходе каждого пакета если скрипт включен
begin
//заполняешь если надо
...
end.
__________________
| Для самых ленивый | Телепаты в отпуске |Мы работаем над этим |
Не умеешь - учись, не хочешь учиться - плати © Суровый Закон Жизни


NLObP вне форума   Ответить с цитированием
За это сообщение NLObP нажился 2 спасибками от:
Старый 28.10.2007, 19:42   #28
Пользователь
 
Регистрация: 08.10.2007
Сообщений: 34
Сказал Спасибо: 17
Имеет 8 спасибок в 7 сообщенях
PIONER
По умолчанию Re: Кружок нубов(Вопрос-Ответ)

можете мне показать шаблон скрипта, для отправки пакетов поочереди с задержкой? Тоесть эффект тотже самый что и в окне отправки пакетов, только тут должна быть задержка между пакетами.
__________________
Продаю адену на l2.ru Cadmus BlackBird Athebaldt
ICQ: 329-867-244
PIONER вне форума   Ответить с цитированием
За это сообщение PIONER нажился спасибкой от:
Старый 29.10.2007, 15:31   #29
Новичок
 
Регистрация: 05.10.2007
Адрес: Украина
Сообщений: 19
Сказал Спасибо: 0
Имеет 23 спасибок в 13 сообщенях
DeVolf пока неопределено
По умолчанию

где я тупонул?
Const
Код:
  Name='DeVolf'; //??? ????
  mp='8A CC F3 00 10';
  hp='8A AA B7 00 10';
  cp='8A A8 B7 00 10';
var
  CharObjID,MyCorX,MyCorY,MyCorZ: integer;
  MaxHP,CurHP,MaxMP,CurMP,MaxCP,CurCP: integer;
  CharName: string;
  TimerHP, TimerCP, TimerMP: TTimer;

procedure Init; //?????????? ??? ????????? ???????
begin
  timerHP:=TTimer.Create(nil);
  timerHP.OnTimer:=@OnTimerHP;
  timerHP.enabled:=False;
  timerHP.interval:=100;

  timerCP:=TTimer.Create(nil);
  timerCP.OnTimer:=@OnTimerCP;
  timerCP.enabled:=False;
  timerCP.interval:=100;

  timerMP:=TTimer.Create(nil);
  timerMP.OnTimer:=@OnTimerMP;
  timerMP.enabled:=False;
  timerMP.interval:=100;
end;

procedure OnTimerHP(Sender: TObject);
begin
    buf:=hstr(hp);
    SendToServerEx(Name);
end;

procedure OnTimerCP(Sender: TObject);
begin
     buf:=hstr(cp);
     SendToServerEx(Name);
end;
procedure OnTimerMP(Sender: TObject);
begin
     buf:=hstr(mp);
     SendToServerEx(Name);
end;

procedure InitStats;
var
  i: integer;
begin
  CharObjID:=ReadD(18);
  MyCorX:=ReadD(2);
  MyCorY:=ReadD(6);
  MyCorZ:=ReadD(10);
  i:=22;
  CharName:=ReadS(i);
  i:=i+44;
  MaxHP:=ReadD(i);
  CurHP:=ReadD(i);
  MaxMP:=ReadD(i);
  CurMP:=ReadD(i);
  i:=i+363;
  MaxCP:=ReadD(i);
  CurCP:=ReadD(i);
  //????????? ???????? ?? ?????
  if (CurHP<=MaxHP-500) then TimerHP.enabled:=true else TimerHP.enabled:=false;
  if (CurCP<=MaxCP-500) then TimerCP.enabled:=true else TimerCP.enabled:=false;
  if (CurMP<=MaxMP-500) then TimerMP.enabled:=true else TimerMP.enabled:=false;
end;

procedure StatsUpdate;
var
  i: integer;
begin
  for i:=0 to ReadD(6)-1 do
    case pck[i*8+10] of
      #$09: CurHP:=ReadD(i*8+14);
      #$0A: MaxHP:=ReadD(i*8+14);
      #$0B: CurMP:=ReadD(i*8+14);
      #$0C: MaxMP:=ReadD(i*8+14);
      #$21: CurCP:=ReadD(i*8+14);
      #$22: MaxCP:=ReadD(i*8+14);
    end;
  //????????? ???????? ?? ?????
  if (CurHP<=MaxHP-500) then TimerHP.enabled:=true else TimerHP.enabled:=false;
  if (CurCP<=MaxCP-500) then TimerCP.enabled:=true else TimerCP.enabled:=false;
  if (CurMP<=MaxMP-500) then TimerMP.enabled:=true else TimerMP.enabled:=false;
end;

procedure CorsUpdate;
begin
  MyCorX:=ReadD(2);
  MyCorY:=ReadD(6);
  MyCorZ:=ReadD(10);
end;

BEGIN
  //--- STATS BEGIN ---//
  if FromServer and (ConnectName=Name) and (pck[1]=#$04) then InitStats;
  if FromServer and (ConnectName=Name) and (pck[1]=#$0E) and (CharObjID=ReadD(2)) then StatsUpdate;
  if FromClient and (ConnectName=Name) and (pck[1]=#$48) then CorsUpdate;
  //--- STATS END ---//
END.
DeVolf вне форума   Ответить с цитированием
За это сообщение DeVolf нажился спасибкой от:
Старый 30.10.2007, 00:02   #30
Рыцарь
 
Аватар для NLObP
 
Регистрация: 25.02.2008
Адрес: г.Волгоград
Сообщений: 2,009
Сказал Спасибо: 1,285
Имеет 1,458 спасибок в 793 сообщенях
NLObP пока неопределено
По умолчанию Re:

Цитата:
Сообщение от DeVolf
где я тупонул?
Код:
Const
  Name='DeVolf';
  mp='8A CC F3 00 10';
  hp='8A AA B7 00 10';
  cp='8A A8 B7 00 10';
procedure OnTimerHP(Sender: TObject);
begin
    buf:=hstr(hp);
    SendToServerEx(Name);
end;
procedure OnTimerCP(Sender: TObject);
begin
     buf:=hstr(cp);
     SendToServerEx(Name);
end;
procedure OnTimerMP(Sender: TObject);
begin
     buf:=hstr(mp);
     SendToServerEx(Name);
end;
Что за пакет 8А?! А вообще разницу видно, что я предлагал и что ты сделал?
Код:
Const
  Name='DeVolf'; //имя чара
  heal=1218; //ID Greater Battle Heal
  potion=1060; //ID Healing potion
...
procedure OnTimerHP(Sender: TObject);
begin
  //выбрать что нужно
  MagicSkillUse(heal);
  //UseItem(potion);
end;
//по аналогии напиши для CP, MP
procedure OnTimerCP(Sender: TObject);
begin
end;
procedure OnTimerMP(Sender: TObject);
begin
end;

//используем магию
procedure MagicSkillUse(MagicID:integer);
begin
    buf:=#$2F;
    WriteD(MagicID);
    WriteD(00);
    WriteC(00);
    SendToServerEx(Name);
end;

//используем предметы
procedure UseItem(ObjID:integer);
begin
    buf:=#$14;
    WriteD(ObjID);
    WriteD(00);
    SendToServerEx(Name);
end;
__________________
| Для самых ленивый | Телепаты в отпуске |Мы работаем над этим |
Не умеешь - учись, не хочешь учиться - плати © Суровый Закон Жизни


NLObP вне форума   Ответить с цитированием
За это сообщение NLObP нажился 2 спасибками от:
Ответ

  CoderX :: Forums > Lineage II > L2PacketHack


Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 19:43.

vBulletin style designed by MSC Team.
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Locations of visitors to this page
Rambler's Top100

Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!