Вернуться   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 спасибками от:
Старый 07.01.2010, 12:30   #1241
Новичок
 
Аватар для Rexdep
 
Регистрация: 04.01.2010
Сообщений: 6
Сказал Спасибо: 1
Имеет 0 спасибок в 0 сообщенях
Rexdep пока неопределено
По умолчанию

Цитата:
Rexdep, в общем ... забудь ... ничего у тя не получится ...
Ну народ я для этого и зашол сюда кружок нубов и прошу помочь вас!
Rexdep вне форума   Ответить с цитированием
Старый 07.01.2010, 14:29   #1242
Рыцарь
 
Аватар для alexteam
 
Регистрация: 07.03.2009
Сообщений: 9,139
Сказал Спасибо: 70
Имеет 2,820 спасибок в 1,735 сообщенях
alexteam на пути к лучшему
По умолчанию

SeregaZ, неужели ?
на имя екзешки l2.olololo.exe - не ругается
на l2.blablabla.exe тоже.. к чему бы это -)
__________________
L2Ext - project closed.
alexteam вне форума   Ответить с цитированием
Старый 07.01.2010, 18:32   #1243
Новичок
 
Регистрация: 06.01.2010
Сообщений: 2
Сказал Спасибо: 0
Имеет 0 спасибок в 0 сообщенях
Sergio_MD пока неопределено
По умолчанию

Цитата:
Сообщение от Sergio_MD Посмотреть сообщение
Кто-нибудь подскажите, немогу обойти защиту сервера. Примерно после 30-60 минут после зупуска пх происходит автобан, независемо от того сколько ты находился в игре, хоть 20 минут, хоть 2 минуты. Странно что сразу не выдает бан. Думал сначало что палился в чем-то, но потом решил проверить, просто заходил гг и ничево не делал с включеным пх, все ровно бан через определенный промежуток времени!
Может кто подскажет мне пожалуйста, а то уже 7 аков забанили((((
Sergio_MD вне форума   Ответить с цитированием
Старый 08.01.2010, 10:25   #1244
Местный
 
Аватар для SeregaZ
 
Регистрация: 16.08.2009
Сообщений: 1,224
Сказал Спасибо: 4
Имеет 229 спасибок в 182 сообщенях
SeregaZ пока неопределено
По умолчанию

так кто знал, что надо с точкой переименовывать я без точки переименовывал - ругалось: L2ololo.exe

теперь другой вопрос. при открытии инвентаря приходит довольно большой пакет с повторяющимися блоками. подскажите где взять процедуру обработки этих повторяющихся блоков для поиска ид обьекта по ид предмета по базе.
с заточкой там было все просто - инвентори апдейт присылал всего 2 повторяющихся блока - адена, и эта шмотка. бывало что наоборот сперва шмотка, потом адена - и я сделал два сравнения для обоих случаев. в случае же с перебором инвентаря - то там вариаций будет милион и мой способ не подойдет.
тоже самое касается и чтения бафоф у сопати. там тоже повторяющиеся блоки и их тоже надо перебрать. буду очень признателен за пример подобной процедуры перебора повторяющихся блоков

все. кажись придумал. обьясню на примере перебора бафоф - там блоки повторяются через 10 позиций. следовательно надо поставить все в рипит, прибавлять по 10 и проверять соответвует тому, чего мы ищем. но теперь другая проблема - как остановить рипит? я немогу поставить проверку типа:
если значения не существует, то конец проверки
until bufid = ''; или until bufid = '0'; непомогает.
какой синтаксис если мне надо проверить равно ли чему либо мой bufid?

и с этим вроди разобрался. теперь почемуто не проверяет последний баф. я для проверки сделал вв. и ложу 4 бафа - когда вв любой, но не последний четвертый - срабатывает. когда вв лежит последним - тогда не работает:
Код:
 if FromServer and (pck[1]=#$EE) //перебор бафоф
 then begin 
    baf1:=14;
    baf2:=15;
    baf3:=16;
    baf4:=17;
    idbafa:=pck[baf1]+pck[baf2]+pck[baf3]+pck[baf4];

    repeat
       
       if (idbafa=HStr('B4 04 00 00'))  //вв для проверки
       then begin  
        idtela:=pck[6]+pck[7]+pck[8]+pck[9];
        buf:=#$4A;
        WriteD(0);
        WriteD(10);
        WriteS('');
        WriteS('сработало');
        SendToClient; 
       end;

       baf1:= baf1 + 10;
       baf2:= baf2 + 10;
       baf3:= baf3 + 10;
       baf4:= baf4 + 10;
       idbafa:=pck[baf1]+pck[baf2]+pck[baf3]+pck[baf4];

    until idbafa < '0';
   
 end;

Последний раз редактировалось SeregaZ, 08.01.2010 в 12:41.
SeregaZ вне форума   Ответить с цитированием
Старый 08.01.2010, 12:55   #1245
Рыцарь
 
Аватар для alexteam
 
Регистрация: 07.03.2009
Сообщений: 9,139
Сказал Спасибо: 70
Имеет 2,820 спасибок в 1,735 сообщенях
alexteam на пути к лучшему
По умолчанию

кусочки из проекта:

парсер.

delphi Код:
var   D, D2, Offset, Count : Integer;   values: array [0..200] of variant; begin if fromserver  then case pck[1] of   #$21 : //(InventoryUpdate)   begin     count := round((length(pck)-3)/ReadH(2));     for d:=0 to ReadH(2)-1 do       begin       readmask('hhdddqhhhdhhdd',4+d*count,values);       InventoryUpdateItem(values[0], values[1], values[2], values[3], values[4], values[5], values[6], values[8], values[9], values[10], values[12], values[13]);       end;     end;   #$11 : //(ItemList)     begin         count := round((length(pck)-5)/ReadH(4));         ItemListBegin();           for d:=0 to ReadH(4)-1 do             begin               readmask('hdddqhhhdhhdd',6+d*count,values);               ItemListItem(values[0], values[1], values[2], values[3], values[4], values[5], values[7], values[8], values[9], values[11], values[12]);             end;     end;   #$F4://(PartySpelled)     begin       D2  := readd(6);       count := readd(10);       PartySpelledBegin(d2);       offset := 14;       for d := 0 to count - 1 do         begin           readmask('dhd', offset, values);           PartySpelledItem(d2, values[0], values[1], values[2]);         end;     end; end;

объявления обработчиков:

delphi Код:
procedure InventoryUpdateItem(UpdateType,ItemType1:Word;ObjectId, ItemId, LocationSlot : integer;Count : int64;ItemType2, IsEquipped:word;BodyPart:integer;EnchantLevel:word;AugmentId,mana :integer); {   UpdateType: 01-add, 02-modify, 03-remove } procedure ItemListBegin; //очищает список вещей procedure ItemListItem(ItemType1:Word;ObjectId, ItemId, LocationSlot : integer;Count : int64;ItemType2, IsEquipped:word; BodyPart:integer; EnchantLevel:word; AugmentId,mana :integer); Procedure PartySpelledBegin(ObjId:integer); //очищает список бафов на объекте связанным с этим обжектайди. Procedure PartySpelledItem(ObjId,SkillId:integer; SkillLevel:word; Duration:integer);
__________________
L2Ext - project closed.
alexteam вне форума   Ответить с цитированием
Старый 09.01.2010, 05:52   #1246
Новичок
 
Регистрация: 09.01.2010
Сообщений: 3
Сказал Спасибо: 0
Имеет 0 спасибок в 0 сообщенях
pro100_user пока неопределено
По умолчанию

Клиент - Interlude
Софтина - l2phx 3.5.33.164
Опер. система - Windows XP
Проблема: запускаю phx, l2 -> тут 2 варианта:
1) включен LSP перехват - при попытке ввода логина\пароля выскакивает окошко с надписью "Invalid_socket"
2) выключен LSP перехват - в игру заходит, но не происходит коннект phx к серверу

Друг играет на серве, юзает пакетхак - никаких проблем не было; клиенты качали одинаковые.
Подскажите плз что я делаю не так или где искать решение проблемы.
pro100_user вне форума   Ответить с цитированием
Старый 09.01.2010, 07:07   #1247
Местный
 
Аватар для SeregaZ
 
Регистрация: 16.08.2009
Сообщений: 1,224
Сказал Спасибо: 4
Имеет 229 спасибок в 182 сообщенях
SeregaZ пока неопределено
По умолчанию

пускай он запакует свой ph прям с настройками и пришлет тебе.


alexteam
очень красиво, очень понравилось, и не понятно решил всетаки делать сам - когда сам делаешь код родной и очень понятный. у тебя спер идею читать количество бафоф или слотов и уже отсюда строить рипит с повторением чтения блоков.
и возник сразу вопрос - с бафами count := readd(10); все замечательно работает.
и также аналогично решил сделать с инвентарем - countitem := readd(8); чтоли там было... не помню какой по счету номер с количеством занятых слотов. так вот - все вроди бы тоже самое - но вместо 28 предметов в инвентаре он считывает тыщь 10 и соответсвенно все висит из-за этого.

и также остался вопрос как проверять на "существует ли значение" для обоих случаев цифрового или строчного значений.

Последний раз редактировалось SeregaZ, 09.01.2010 в 07:14.
SeregaZ вне форума   Ответить с цитированием
Старый 09.01.2010, 13:15   #1248
Рыцарь
 
Аватар для alexteam
 
Регистрация: 07.03.2009
Сообщений: 9,139
Сказал Спасибо: 70
Имеет 2,820 спасибок в 1,735 сообщенях
alexteam на пути к лучшему
По умолчанию

Цитата:
инвентарем - countitem := readd(8)
readh....

Цитата:
и также остался вопрос как проверять на "существует ли значение" для обоих случаев цифрового или строчного значений.
Скриптовый движек к сожалению довольно ограничен.. нельзя использовать классы, приходиться извращаться..
попытайся понять что делает этот код
delphi Код:
procedure Init; //will be called on script initialization var list : tstringlist; begin list := tstringlist.create; list.add(inttostr(123)); list.add(inttostr(321)); list.add('такая строчка есть'); sendMSG(inttostr(list.indexof(inttostr(123)))); sendMSG(inttostr(list.indexof(inttostr(321)))); sendMSG(inttostr(list.indexof(inttostr(222)))); sendMSG(inttostr(list.indexof(inttostr(222)))); sendMSG(inttostr(list.indexof('такая строчка есть'))); sendMSG(inttostr(list.indexof('а такой строчки в стринглисте нет'))); list.free; end;

Добавлено через 4 минуты
ps/ в пх давненько появилась вот функция помогающая в составлении чтения пакета с помошью ридмаск
Оффтоп
__________________
L2Ext - project closed.

Последний раз редактировалось alexteam, 09.01.2010 в 13:15. Причина: Добавлено сообщение
alexteam вне форума   Ответить с цитированием
За это сообщение alexteam нажился спасибкой от:
Старый 10.01.2010, 05:56   #1249
Новичок
 
Регистрация: 07.08.2009
Сообщений: 9
Сказал Спасибо: 1
Имеет 2 спасибок в 2 сообщенях
Excellence пока неопределено
По умолчанию

В новом пх (3.5.33.164 на момент написания) появились 2 новые строчки:

Можете подсказать на практике где их стоит использовать и для чего они вообще нужны?

Последний раз редактировалось Excellence, 10.01.2010 в 05:58.
Excellence вне форума   Ответить с цитированием
Старый 10.01.2010, 12:48   #1250
Пользователь
 
Аватар для StekloReZ
 
Регистрация: 07.03.2009
Сообщений: 35
Сказал Спасибо: 28
Имеет 13 спасибок в 6 сообщенях
StekloReZ пока неопределено
По умолчанию

Никак не могу разобраться, почему не работает ConnectNameByID.
Скрипт на этой странице делал для l2phx.3.4.1.83 и более старых версий.
Но новый пакетхак тупо вбивает в комбобокс пустые строки, вместо имён законнектеных чаров.

Обьясните плизз на пальцах, чего у меня не так.
StekloReZ вне форума   Ответить с цитированием
Ответ

  CoderX :: Forums > Lineage II > L2PacketHack



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

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


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

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

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