L2PacketHack Форум программы L2PacketHack, всё что с ней связано находится тут.
Правила раздела! Категорически запрещено:
* Просить пакеты/скрипты на шмот/адену/другие вещи;
* Просить (помочь) взломать/сломать сервак/аккаунт или раздеть/наказать кого-то на любом серваке;
* Просить научить работать с программой, если не понимаете элементарных вещей в отношениях клиент-сервер (так как, если вы их понимаете, то вопросов по основным возможностям программы быть недолжно);
* Все посты не удовлетворяющие этим запретам, а так же не относящиеся к теме будут удаляться при первой возможности.
* Запрещается создавать темы с просьбой выполнить какую-то работу за автора темы.
* Форум является средством общения и общего поиска решения. Вашу работу за Вас никто выполнять не будет.
* Данные запреты неподлежат обсуждению.
Обсуждение багов Lineage ЗАПРЕЩЕНО!
05.10.2007, 22:00
#1
Новичок
Регистрация: 05.10.2007
Адрес: Украина
Сообщений: 19
Сказал Спасибо: 0
Имеет 23 спасибок в 13 сообщенях
Кружок нубов(Вопрос-Ответ)
//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 нажился 6 спасибками от:
09.06.2009, 14:28
#471
Рыцарь
Регистрация: 25.02.2008
Адрес: г.Волгоград
Сообщений: 2,009
Сказал Спасибо: 1,285
Имеет 1,458 спасибок в 793 сообщенях
klemberg , для лучшего отображения расшифровки пакета можно в packetsT0.ini заменить на это
Код:
53=PledgeShowMemberListAll:d(mainOrSubpledge)d(clanID)d(pledgeType)s(clanName)s(LeaderName)d(clanCrestId)d(clanLvl)d(hasCastle)d(hasHideOut)d(Rank)d(reputation)d(d)d(d)d(AllyID)s(AllyName)d(AllyCrestId)d(isAtWar)d(memberCount:For.0007)s(memberName)d(memLvl)d(memClassId:Get.ClassID)d(d)d(memObjId)d(isOnLine)d(d)
54=PledgeShowMemberListUpdate:s(playerName)d(Lvl)d(ClassId:Get.ClassID)d(d)d(objectID)d(isOnLine)d(pledgeType)d(hasSponsor)
55=PledgeShowMemberListAdd:s(Name)d(Lvl)d(ClassId:Get.ClassID)d(d)d(d)d(isOnLine)d(pledgeType)
Код:
[Начало повторяющегося блока 1/21]
0100 s memberName: pendurka
0118 d memLvl: 66
0122 d memClassId: Bounty Hunter ID:55 (0x0037)
0126 d d: 0
0130 d memObjId: 272074089
0134 d isOnLine: 0
0138 d d: 0
[Конец повторяющегося блока 1/21]
[Начало повторяющегося блока 2/21]
0142 s memberName: shandaris
0162 d memLvl: 76
0166 d memClassId: Maestro ID:118 (0x0076)
0170 d d: 0
0174 d memObjId: 268629906
0178 d isOnLine: 1
0182 d d: 0
[Конец повторяющегося блока 2/21]
Вот скрипт (без проверки на работоспособность) по сбору данных MemberList
delphi Код:
const
max =50 ;
var
BaseMemberName: array[1 ..max ] of string ;
BaseMemberList: array[1 ..max , 1 ..2 ] of integer ;
{
1-memLvl
2-memClassId
}
procedure Init; //Вызывается при включении скрипта
begin
end ;
procedure Free; //Вызывается при выключении скрипта
begin
end ;
procedure MemberList;
{Создаем базу
Tип: 0x53 (PledgeShowMemberListAll)
Pазмер: 981+2
Время прихода: 13:22:34:140
0002 d mainOrSubpledge: 0 (0x00000000)
0006 d clanID: 271334376 (0x102C3BE8)
0010 d pledgeType: 0 (0x00000000)
0014 s clanName: UMIX
0024 s LeaderName: oopsarin
0042 d clanCrestId: 272491961 (0x103DE5B9)
0046 d clanLvl: 6 (0x00000006)
0050 d hasCastle: 0 (0x00000000)
0054 d hasHideOut: 61 (0x0000003D)
0058 d Rank: 0 (0x00000000)
0062 d reputation: 6180 (0x00001824)
0066 d d: 0 (0x00000000)
0070 d d: 0 (0x00000000)
0074 d AllyID: 271334376 (0x102C3BE8)
0078 s AllyName: UMIX
0088 d AllyCrestId: 272490996 (0x103DE1F4)
0092 d isAtWar: 0 (0x00000000)
0096 d memberCount: 21 (0x00000015)
[Начало повторяющегося блока 1/21]
0100 s memberName: pendurka
0118 d memLvl: 66
0122 d memClassId: Bounty Hunter ID:55 (0x0037)
0126 d d: 0
0130 d memObjId: 272074089
0134 d isOnLine: 0
0138 d d: 0
[Конец повторяющегося блока 1/21]
[Начало повторяющегося блока 2/21]
0142 s memberName: shandaris
0162 d memLvl: 76
0166 d memClassId: Maestro ID:118 (0x0076)
0170 d d: 0
0174 d memObjId: 268629906
0178 d isOnLine: 1
0182 d d: 0
[Конец повторяющегося блока 2/21]
[Начало повторяющегося блока 3/21]
0186 s memberName: evacuator
0206 d memLvl: 80
0210 d memClassId: Doomcryer ID:116 (0x0074)
0214 d d: 0
0218 d memObjId: 269309061
0222 d isOnLine: 1
0226 d d: 0
[Конец повторяющегося блока 3/21]
}
var
i, j, k: integer ;
memberCount: integer ;
begin
j:=96 ; //смещение для memberCount
memberCount:=ReadD( j) ; //количество итемов не должно превышать max!
for i:=1 to max do
begin
if ( i<=memberCount) then begin
BaseMemberName[i]:=ReadS( j) ; //memberName
BaseMemberList[i,1 ]:=ReadD( j) ; //memLvl
BaseMemberList[i,2 ]:=ReadD( j) ; //memClassId
inc ( j,16 ) ;
end else begin
for k:=1 to 2 do BaseMemberList[i,k]:=0 ; // забиваем нулями
BaseMemberName[i]:='' ; //стираем
end ;
end ;
end ;
//******************************************************************************
{
основная часть скрипта, вызывается при приходе каждого пакета, если скрипт включен
}
//******************************************************************************
begin
//****************************************************************************
//не обрабатываем пустые пакеты
if pck='' then exit ;
//****************************************************************************
if FromServer then
begin
case pck[1 ] of
//************************************************************************
#$53 : MemberList; //пакет 0x53 (PledgeShowMemberListAll)
end ;
end ;
end .
Последний раз редактировалось NLObP, 09.06.2009 в 14:47 .
За это сообщение NLObP нажился спасибкой от:
09.06.2009, 14:47
#472
Пользователь
Регистрация: 09.06.2009
Сообщений: 73
Сказал Спасибо: 10
Имеет 10 спасибок в 9 сообщенях
NLObP , спасибо, но это уже мелочи
Блин, я понял
вот то, что мне нужно было:
delphi Код:
var
MEMBER_LIST: array of string ;
procedure MemberList;
var
i, j: integer ;
memberCount: integer ;
begin
j:=96 ; //смещение для memberCount
memberCount:=ReadD( j) ; //количество итемов не должно превышать max!
SetLength ( MEMBER_LIST, memberCount) ;
for i:=0 to memberCount-1 do
begin
MEMBER_LIST[i]:= ReadS( j) + ';' + IntToStr ( ReadD( j) ) + ';' + IntToStr ( ReadD( j) ) ;
inc ( j,16 ) ;
end ;
end ;
begin
//****************************************************************************
//не обрабатываем пустые пакеты
if pck='' then exit ;
//****************************************************************************
if FromServer then
begin
case pck[1 ] of
//************************************************************************
#$53 : MemberList; //пакет 0x53 (PledgeShowMemberListAll)
end ;
end ;
end .
NLObP , спасибо огромное!!!
Последний раз редактировалось klemberg, 09.06.2009 в 15:25 .
13.06.2009, 08:36
#473
Новичок
Регистрация: 12.06.2009
Сообщений: 1
Сказал Спасибо: 0
Имеет 0 спасибок в 0 сообщенях
Вот поймал пакеты в Гм шопе на покупку и обемена колов
1.04 46 A3 00 10 C5 3D 02 00 E3 64 00 00 22 F8 FF FF 00 -пакет таргет гм Шопа
2. 21 6E 00 70 00 63 00 5F 00 32 00 36 00 38 00 34 00 37 00 37 00 32 00 35 00 34 00 5F 00 6D 00 75 00 6C 00 74 00 69 00 73 00 65 00 6C 00 6C 00 20 00 30 00 33 00 32 00 00 00 -Слово Обеменик нажал
3.Пакет Обемена 10 колов A7 20 00 00 00 40 0D 03 00 0A 00 00 00 00 00 00 00 00 00 00 00
4.04 44 A3 00 10 C5 3D 02 00 E3 64 00 00 22 F8 FF FF 00 -Пакет Таргет Гм шопа
5.48 19 3E 02 00 26 65 00 00 22 F8 FF FF 4C 1B 00 00 00 00 00 00 -Поговрить с гм Шопом
6.пакет я хочу купить точек 21 6E 00 70 00 63 00 5F 00 32 00 36 00 38 00 34 00 37 00 37 00 32 00 35 00 32 00 5F 00 6D 00 75 00 6C 00 74 00 69 00 73 00 65 00 6C 00 6C 00 20 00 30 00 31 00 39 00 00 00
7.A7 13 00 00 00 20 DF 50 00 43 00 00 00 00 00 00 00 00 00 00 00 -купил точки
Вот несколько пакетов с гм шопами Подсажите плз что нужно заменить в скрипте с помошью пакетов чтобы он сам покупал Ы блесс арм точки и менял колы
14.06.2009, 21:03
#474
Новичок
Регистрация: 14.06.2009
Сообщений: 3
Сказал Спасибо: 1
Имеет 0 спасибок в 0 сообщенях
Привет. Народ плз помогите с проблемкой. Пытался заменить ID вещи в пакете и отправить его на сервер (следовал строго по гайду) но после нажатия кнопки "Отправить" не происходит ровным с4етом ни4его. =/ Пробовал GG убить, но это ни4его не изменило. Версия проги самая новая. Пробовал на 3-х серверал Интерлюд. На первом просто-напросто при попытке совершить любое действие (вплоть до перемещения перса) появляется раздражающая табли4ка "Disconnect" =/. На 2 и 3 сервах не происходит ни4его. В программе все настроенно как нужно, лог показывает, пакеты тоже. По виду все норм. В общем кто может помо4ь советом о4ень прошу -)
ЗЫ Сори если не там написал или еще 4егото не то, 1 день на форуме -)
14.06.2009, 21:09
#475
Пользователь
Регистрация: 22.04.2009
Сообщений: 72
Сказал Спасибо: 25
Имеет 19 спасибок в 9 сообщенях
Дай ссылку на гайд, по которомы ты следовал, не очень понятно, что ты хочешь. В каком пакете изиенял id? Убийство gg не на что не повлияет.
14.06.2009, 21:14
#476
Новичок
Регистрация: 14.06.2009
Сообщений: 3
Сказал Спасибо: 1
Имеет 0 спасибок в 0 сообщенях
Гайд от MarShall
http://mmoworld.info/f8/gaid-po-l2ph...nue-gaid-1107/ . Пакет на покупку оружия (например Elven Long Sword) , потом, я изменил ID оружия (например на Soul Separator Crt. Damage). Итог - Сепаратор должен был купиться за цену Elven Long Sword'а, который существенно дешевле.
З.Ы. Там в гайде все подробно описано.
14.06.2009, 22:28
#477
Пользователь
Регистрация: 22.04.2009
Сообщений: 72
Сказал Спасибо: 25
Имеет 19 спасибок в 9 сообщенях
Цитата:
Если вы играете на дырявом сервере, то у вас безусловно получится этот трюк, но скорее всего вас просто выкинет
Не очень понятно, почему другая одна должна купиться по цене другой, мы же изменяем ID.
14.06.2009, 23:36
#478
Рыцарь
Регистрация: 25.02.2008
Адрес: г.Волгоград
Сообщений: 2,009
Сказал Спасибо: 1,285
Имеет 1,458 спасибок в 793 сообщенях
TakT , ты сразу на тот форум иди, там рассматривают такие вопросы, здесь - нет.
15.06.2009, 10:26
#479
Новичок
Регистрация: 14.06.2009
Сообщений: 3
Сказал Спасибо: 1
Имеет 0 спасибок в 0 сообщенях
Цитата:
Сообщение от
Lynx
Не очень понятно, почему другая одна должна купиться по цене другой, мы же изменяем ID.
Допустим и так, но тогда оружие должно было бы купиться хотябы по своей цене! А оно не покупается никак =/
15.06.2009, 13:29
#480
Рыцарь
Регистрация: 25.02.2008
Адрес: г.Волгоград
Сообщений: 2,009
Сказал Спасибо: 1,285
Имеет 1,458 спасибок в 793 сообщенях
TakT , сначала приходит SellList в котором расписано, что и по чем можно купить (насчет почем это я погарячился наверное). На основании него надо делать запрос на покупку. Если вставлять не относящиеся к делу значения не факт, что что-то купиться.
PS: закругляемся с читами через пакеты.
За это сообщение NLObP нажился спасибкой от:
Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
Часовой пояс GMT +4, время: 02:54 .
vBulletin style designed by
MSC Team .
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод:
zCarot
Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!