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

Пакеты Форум о форматах отдельных пакетов или групп пакетов

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 10.07.2010, 12:20   #1
Новичок
 
Регистрация: 07.08.2009
Сообщений: 24
Сказал Спасибо: 17
Имеет 2 спасибок в 2 сообщенях
LiS пока неопределено
Вопрос Грация Эпилог - Unknown Пакеты

Доброго времени суток!

Версия пакетхака 3.5.13.122.
Сервер - Грация Эпилог (поставили сравнительно недавно, до этого был хеллбаунд)

Настройки пакетхака:


Перехват работает нормально, только есть несколько проблем:
1. В боте "Бот - локомотив от Alexus версия : 0.5.2 (бета)" персонаж перестал поднимать дроп (после перехода с ХБ на Грацию Эпилог).
2. Стали приходить Unknown пакеты:
- FEBC (после выбора чара в окне выбора персонажей) [FE BC 00 55 AB 01 10 00];
- FE70 [FE 70 00 A2 11 00 00 08 00 00 00 04 00 00 00 14 47 41 4D 49 4E 47 53 54 41 54 45 53 48 4F 52 54 43 55 54 00 0C 47 41 4D 49 4E 47 53 54 41 54 45 00 53 00 00 00 3B 00 00 00 43 00 00 00 12 00 00 00 00 00 00 00 01 00 00 00 3C 00 00 00 42 00 00 00 12 00 00 00 00 00 00 00 01 00 00 00 3E 00 00 00 4A 00 00 00 12 00 00 00 00 00 00 00 01 00 00 00 3F 00 00 00 4E 00 00 00 12 00 00 00 00 00 00 00 01 00 00 00 40 00 00 00 54 00 00 00 12 00 00 00 00 00 00 00 01 00 00 00 41 00 00 00 48 00 00 00 12 00 00 00 10 00 00 00 01 00 00 00 42 00 00 00 56 00 00 00 12 00 00 00 00 00 00 00 01 00 00 00 43 00 00 00 52 00 00 00 12 00 00 00 00 00 00 00 01 00 00 00 44 00 00 00 4B 00 00 00 12 00 00 00 00 00 00 00 01 00 00 00 4E 00 00 00 4D 00 00 00 12 00 00 00 10 00 00 00 01 00 00 00 46 00 00 00 4D 00 00 00 12 00 00 00 00 00 00 00 01 00 00 00 47 00 00 00 4F 00 00 00 12 00 00 00 10 00 00 00 01 00 00 00 48 00 00 00 50 00 00 00 12 00 00 00 10 00 00 00 01 00 00 00 49 00 00 00 55 00 00 00 12 00 00 00 00 00 00 00 01 00 00 00 4A 00 00 00 52 00 00 00 12 00 00 00 10 00 00 00 01 00 00 00 4B 00 00 00 53 00 00 00 12 00 00 00 10 00 00 00 01 00 00 00 4C 00 00 00 58 00 00 00 12 00 00 00 00 00 00 00 01 00 00 00 4D 00 00 00 49 00 00 00 12 00 00 00 10 00 00 00 01 00 00 00 4F 00 00 00 BE 00 00 00 12 00 00 00 00 00 00 00 01 00 00 00 50 00 00 00 45 00 00 00 12 00 00 00 10 00 00 00 01 00 00 00 51 00 00 00 4C 00 00 00 12 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 21 00 00 00 12 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 22 00 00 00 12 ....... очень длинный пакет ]
- FEBE [FE BE 00 55 AB 01 10 00 00 00 00]
3. Клиент отправляет Unknown пакеты:
- A6 (Тип: 0xA6 (Unknown) Размер: 1+2) [A6 ]


Подскажите, что необходимо сделать, чтобы вылечить эти проблемы?
Миниатюры
Нажмите на изображение для увеличения
Название: 11111.jpg
Просмотров: 1524
Размер:	35.4 Кб
ID:	1324  Нажмите на изображение для увеличения
Название: 22222.jpg
Просмотров: 1484
Размер:	50.7 Кб
ID:	1325  Нажмите на изображение для увеличения
Название: 333333.jpg
Просмотров: 1479
Размер:	33.7 Кб
ID:	1326  
LiS вне форума   Ответить с цитированием
Старый 10.07.2010, 14:19   #2
Местный
 
Аватар для J-Fobos
 
Регистрация: 09.06.2008
Сообщений: 867
Сказал Спасибо: 175
Имеет 468 спасибок в 259 сообщенях
J-Fobos пока неопределено
По умолчанию

Для грации эрилог никто не делает Packets*.ini, а если кто и сделал, то не спешит делится с остальными
В ини файле пакетов нету, а значит программа не знает как их читать и называет Unknown.
__________________

В любом из нас спит гений. И с каждым днем все крепче.

Переходим на протокол нового поколения jabber
J-Fobos вне форума   Ответить с цитированием
За это сообщение J-Fobos нажился спасибкой от:
Старый 10.07.2010, 15:22   #3
Новичок
 
Регистрация: 07.08.2009
Сообщений: 24
Сказал Спасибо: 17
Имеет 2 спасибок в 2 сообщенях
LiS пока неопределено
По умолчанию

Угу, понятно.

Перешел на пакетхак 3.5.33.164.

Теперь другой вопрос:

Есть у меня в скрипте такие места:

(1)
Код:
var
 ItemBase:  array[1..4,1..maxitems] of integer;  //все предметы в инвентаре
(2)
Код:
procedure CreateItemBase;
var
  i : integer;
begin
  for i:=1 to maxitems do begin
    //очищаем масив 
    ItemBase[1,i]:=0;    //OID
    ItemBase[2,i]:=0;   //ID
    ItemBase[3,i]:=0;  //кол-во
    ItemBase[4,i]:=0; //isEquipped
  end;
...
end;
(3)
Код:
procedure Free;
begin
  //ItemBase:=nil;
...
end;
Так вот:
Если в (3) раскомментировать строку, то скрипт первый раз после компиляции работает нормально, потом выключаем скрипт, опять включаем и уже в (2) присваивание не отрабатывает корректно. Пробовал там и до и после присваивания выводить значения:
msg.Lines.Add(VarToStr(ItemBase[1,i]));
Пустые строки выводит.

Причем в пакетхаке 3.5.13.122 это нормально работало.
Как мне удалять массив, если :=nil не работает корректно?

Последний раз редактировалось LiS, 10.07.2010 в 15:27.
LiS вне форума   Ответить с цитированием
Старый 10.07.2010, 16:11   #4
Местный
 
Аватар для J-Fobos
 
Регистрация: 09.06.2008
Сообщений: 867
Сказал Спасибо: 175
Имеет 468 спасибок в 259 сообщенях
J-Fobos пока неопределено
По умолчанию

Дело в том что массив не требует удаления. Это переменная, а не объект. При выключение скрипта память освободится самостоятельно.

К тому же nil не удаление, это указатель, константа такая
Цитата:
Константа Nil - значение не присвоенного указателя.

Использование нулевого (Nil) указателя приводит к исключению.

Nil используется главным образом как замена параметра Указателя - это говорит программе, что параметру присвоено значение не указателя.

Указательные переменные не установлены на Nil, кроме как в специальных обстоятельствах, типа при создании нового объекта, который содержит указатели. Это потому, что Delphi инициализирует память, взятую для нового объекта с 0-ми. Нулевой (Nil) указатель - тот, который имеет значение 0.
__________________

В любом из нас спит гений. И с каждым днем все крепче.

Переходим на протокол нового поколения jabber
J-Fobos вне форума   Ответить с цитированием
За это сообщение J-Fobos нажился 2 спасибками от:
Старый 10.07.2010, 16:18   #5
Новичок
 
Регистрация: 07.08.2009
Сообщений: 24
Сказал Спасибо: 17
Имеет 2 спасибок в 2 сообщенях
LiS пока неопределено
По умолчанию

Ок. Спасибо.

Еще вопрос:

Приходит пакет: FE1F [FE 1F 00 55 AB 01 10 01] (ExFishingEnd)

Согласно сигнатуре пакета (ExFishingEnd:h(subID)d(CharID)c(isWin)), здесь последний байт - это результат рыбалки: 0 - рыба сорвалась, 1 - рыба поймана.

Пишем:
Код:
msg.Lines.Add('Результат рыбалки: ' + VarToStr(ReadC(8)));
И при успешном результате (в клиенте рыбка поймана) у меня выводится:
"Результат рыбалки: 0"

Почему так?

P.S. И что значит subID?

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

1. inttostr ?
2.
id = FE
subid = 1F00
__________________
L2Ext - project closed.
alexteam вне форума   Ответить с цитированием
За это сообщение alexteam нажился спасибкой от:
Старый 10.07.2010, 16:55   #7
Местный
 
Аватар для J-Fobos
 
Регистрация: 09.06.2008
Сообщений: 867
Сказал Спасибо: 175
Имеет 468 спасибок в 259 сообщенях
J-Fobos пока неопределено
По умолчанию

Есть 2-х айдишные пакеты и одноайдишные. Это связано с нехваткой одноайдиных пакетов. А subID это второй байт в 2-х айдишных пакетах.

По поводу пакета рыбалки: у меня в пакете FE 1F FE 1F 00 55 AB 01 10 01 ReadC(8)=1

зы: гы, опять опоздал с ответом, надо странички обновлять почаще
__________________

В любом из нас спит гений. И с каждым днем все крепче.

Переходим на протокол нового поколения jabber

Последний раз редактировалось J-Fobos, 10.07.2010 в 16:57.
J-Fobos вне форума   Ответить с цитированием
За это сообщение J-Fobos нажился спасибкой от:
Старый 10.07.2010, 18:43   #8
Новичок
 
Регистрация: 07.08.2009
Сообщений: 24
Сказал Спасибо: 17
Имеет 2 спасибок в 2 сообщенях
LiS пока неопределено
По умолчанию

Цитата:
Сообщение от alexteam Посмотреть сообщение
1. inttostr ?
2.
id = FE
subid = 1F00
на счет subID спасибо.
по поводу inttostr - какая разница? то же самое.

Добавлено через 1 минуту
Цитата:
Сообщение от J-Fobos Посмотреть сообщение
Есть 2-х айдишные пакеты и одноайдишные. Это связано с нехваткой одноайдиных пакетов. А subID это второй байт в 2-х айдишных пакетах.

По поводу пакета рыбалки: у меня в пакете FE 1F FE 1F 00 55 AB 01 10 01 ReadC(8)=1

зы: гы, опять опоздал с ответом, надо странички обновлять почаще
да, на ХБ тоже самое было - 1 давало при успехе рыбалки.
а теперь вот, в самом пакете вижу, что 1 приходит, а ReadC(8) дает 0.
Причем ReadC(7) нормально читается. Бред...

Последний раз редактировалось LiS, 10.07.2010 в 18:44. Причина: Добавлено сообщение
LiS вне форума   Ответить с цитированием
Старый 10.07.2010, 23:21   #9
Рыцарь
 
Аватар для alexteam
 
Регистрация: 07.03.2009
Сообщений: 9,139
Сказал Спасибо: 70
Имеет 2,820 спасибок в 1,735 сообщенях
alexteam на пути к лучшему
По умолчанию

Цитата:
по поводу inttostr - какая разница? то же самое.
разница в присутствии проверки типа передаваемого параметра. и отсуствии в данном случе необходимости конвертировать в вариант перед вызовом функции. на что фастскрипту походу фиолетово.

при вызове этого readc промониторь что лежит в результате length(pck)
если ты пытаешься читать последний байт в пакете - возможно поможет костыль вида:

Цитата:
pck := pck + '!';
if ReadC(8) = 1 then showmessage('емана');
не забудь потом лишний символ с пцк убить. либо заранее пропустить пакет на клиент используя buf := pck; sendtoclient; и после обработки убить содержимое пцк.
__________________
L2Ext - project closed.

Последний раз редактировалось alexteam, 10.07.2010 в 23:24.
alexteam вне форума   Ответить с цитированием
За это сообщение alexteam нажился спасибкой от:
Старый 13.07.2010, 14:24   #10
Новичок
 
Регистрация: 07.08.2009
Сообщений: 24
Сказал Спасибо: 17
Имеет 2 спасибок в 2 сообщенях
LiS пока неопределено
По умолчанию

Цитата:
Сообщение от alexteam Посмотреть сообщение
не забудь потом лишний символ с пцк убить. либо заранее пропустить пакет на клиент используя buf := pck; sendtoclient; и после обработки убить содержимое пцк.
ага. суть ясна, а убить содержимое - это приравнять к nil?
или можно как-то правильно удалить лишний символ, который я добавлю?
LiS вне форума   Ответить с цитированием
Ответ

  CoderX :: Forums > Lineage II > L2PacketHack > Пакеты



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

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


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

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

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