Рейтинг темы:
  • 2 Голос(ов) - 5 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Работа над Goddess of Destruction (part 6)
неужели никто не знает? или просто не хочется делиться такой инфой?

Добавлено через 49 минут
уже не надо - сам выяснил методом тыка

EventTrigger 20140700
Gaikotsu Написал:неужели никто не знает? или просто не хочется делиться такой инфой?

Добавлено через 49 минут
уже не надо - сам выяснил методом тыка

EventTrigger 20140700

Не видел, так бы поделился естественно. Sad
[Изображение: 61b684.png]
В Epeisodion сместились body_part:
Код:
Array
(
    [0] => 0
    [1] => 1
    [3] => 3
    [4] => 4
    [6] => 6
    [7] => 7
    [8] => 8
    [9] => 9
    [10] => 10
    [12] => 12
    [19] => 19
    [20] => 27
    [21] => 28
    [22] => 29
    [23] => 30
    [24] => 31
    [25] => 32
    [26] => 33
    [27] => 34
    [28] => 35
)
Добавлены типы 20 (брошь) и 21 (камень).
hLaPEx, Evermore, hAuthD, L2on, ...
PartySmallWindowUpdate для Epeisodion (575):
[src=pascal]procedure TGameStream.PartySmallWindowUpdatePacket(Packet: TGamePacket);
var
C: TChar;
Flags: array [0..15] of Boolean;
I, H: Integer;
begin
with Packet do
begin
C.ObjectId := ReadD;

Party.Get(C.ObjectId, C);

H := ReadH; // Flags
for I := 0 to High(Flags) do Flags[I] := (H shr I) and 1 = 1;

if Flags[0] then C.CP := ReadD;
if Flags[1] then C.MaxCP := ReadD;
if Flags[2] then C.HP := ReadD;
if Flags[3] then C.MaxHP := ReadD;
if Flags[4] then C.MP := ReadD;
if Flags[5] then C.MaxMP := ReadD;
if Flags[6] then
begin
C.Level := ReadC;
IsValidLevel(C.Level);
end;
if Flags[7] then
begin
C.ClassId := ReadH;
IsValidClassId(C.ClassId);
end;
if Flags[8] then ReadC;
if Flags[9] then C.VitalityPoints := ReadD;
EndOfPacket;

Party.Add©;
end;
end;[/src]
hLaPEx, Evermore, hAuthD, L2on, ...
Hint Написал:PartySmallWindowUpdate для Epeisodion (575):
[src=pascal]procedure TGameStream.PartySmallWindowUpdatePacket(Packet: TGamePacket);
var
C: TChar;
Flags: array [0..15] of Boolean;
I, H: Integer;
begin
with Packet do
begin
C.ObjectId := ReadD;

Party.Get(C.ObjectId, C);

H := ReadH; // Flags
for I := 0 to High(Flags) do Flags[I] := (H shr I) and 1 = 1;

if Flags[0] then C.CP := ReadD;
if Flags[1] then C.MaxCP := ReadD;
if Flags[2] then C.HP := ReadD;
if Flags[3] then C.MaxHP := ReadD;
if Flags[4] then C.MP := ReadD;
if Flags[5] then C.MaxMP := ReadD;
if Flags[6] then
begin
C.Level := ReadC;
IsValidLevel(C.Level);
end;
if Flags[7] then
begin
C.ClassId := ReadC;
IsValidClassId(C.ClassId);
end;
if Flags[8] then ReadH;
if Flags[9] then C.VitalityPoints := ReadD;
EndOfPacket;

Party.Add©;
end;
end;[/src]

if Flags[7] then C.ClassId := ReadC; // не верно тут H
if Flags[8] then ReadH; // замена пати. не верно тут С
Человек просто обязан ошибаться, раз другие учатся на его ошибках .......
Хм, спасибо, исправлю. А я почему-то поставил C вместо H (уже не помню причины).
hLaPEx, Evermore, hAuthD, L2on, ...
До кучи, мини апдейт бонуксовского ExNpcInfo.

Насчёт формата полей не уверен

Код:
writeD(_npcObjId);
        writeC(0x00);
        writeH(37);       
        writeB(new byte[]{(byte) 0xFF, (byte) 0xFF, (byte) 0xFF, (byte) 0xFF, (byte) 0xFF});
        writeC(7 + _title.length() * 2); // Динамический блок
        writeC(_isAttackable ? 1 : 0);
        writeD(0x00);//UNK
        writeCutS(_title);
        writeH(0x00);    
        writeH(143); // статичный блок
        writeD(_npcId + 1000000);
        writeD(_loc.x);
        writeD(_loc.y);
        writeD(_loc.z + Config.CLIENT_Z_SHIFT);
        writeD(_loc.h);
        writeD(0x00);
        writeD(_mAtkSpd);
        writeD(_pAtkSpd);
        writeF(_runSpdMul);
        writeF(_atkSpdMul);
        writeC(incombat);//Чек Анимации При нападении
        writeC(0x00);//UNK
        writeC(0x00);//UNK
        writeC(0x00);//UNK
        writeC(_isNameAbove ? 1 : 0);//Визуализирует нпц.
        writeC(0x00);//UNK
        writeC(0x00);//UNK
        writeC(_team.ordinal());// Team - red/blue/none
        writeD(0x00); //UNK
        writeD(0x00); //UNK
        writeD(_transformId); //Предположительно
        writeD(0x00); //UNK
        writeD(0x00); //UNK
        writeD(0x00);
        writeD(_HP);
        writeD(_MP);
        writeD(_maxHP);
        writeD(_maxMP);
        writeD(0x00); //UNK
        writeD(0x00); //UNK
        writeH(0x00); //UNK
        writeC(0x00); //UNK
        writeD(_nameNpcString.getId());
        writeD(_titleNpcString.getId());
        writeD(_titleColor);
        writeD(0x00); //меняет цвет ника оО
        writeD(0x00); //UNK
        writeD(0x00); //UNK
        writeD(0x00); //UNK
        writeD(0x00); //UNK
        writeC(0x00); //UNK
        writeC(12); //UNK
        writeC(0); //UNK
        writeC(0); //UNK

Если есть инфа по анкноун полям, буду рад выслушать.
Вот опкоды, кусок дампа с пакетами и целый стринг-дамп в тхт - http://yadi.sk/d/7MLNu-fxF5F3N . (Отдельное спасибо мефисто или мифесто, авейкингу за то, что научили делать стринг дамп, и килрою за то, что подсказал, как узнать опкоды, хоть я и догадывался).
Открыть спойлер
GooD Написал:Вот опкоды, кусок дампа с пакетами и целый стринг-дамп в тхт - http://yadi.sk/d/7MLNu-fxF5F3N . (Отдельное спасибо мефисто, авейкингу за то, что научили делать стринг дамп, и килрою за то, что подсказал, как узнать опкоды, хоть я и догадывался).
Открыть спойлер

Благодарствую.

Одного не пойму, что это за магические
Код:
"Setting 2_4_8_10"
цифры в подобных сеттингах.

Я так понимаю, это имеет какое-то отношение к тому, как отправляются новые пакеты?
полный пакет CharacterSelectionInfo:
CharacterSelectionInfo

Добавлено через 1 час 22 минуты
дайте плиз структуру пакета ItemList


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Работа над Goddess of Destruction (part 7) n3k0nation 459 172,933 03-21-2022, 04:21 PM
Последний пост: TieLay
  Помогите с Сервером L2Dream версии 439 для Lineage 2 Gracia Part 2 CAHTEX 4 3,358 10-01-2021, 02:40 PM
Последний пост: tenor
  Работа с камерой и Энтер чат FriendlyGhost 0 1,288 04-29-2018, 06:07 AM
Последний пост: FriendlyGhost
  Goddess of Destruction ( новая ветка от NcSoft ) Bacek 180 58,612 08-22-2017, 12:32 PM
Последний пост: BadStealth
  EmuRT Gracia part 2 ? knaif 3 1,603 02-08-2016, 01:19 PM
Последний пост: knaif
  Gracia Part 1 от l2emu исходы TFH 6 1,936 10-05-2015, 07:53 PM
Последний пост: G1ta0
  Ищу исходы L2-Dream gracia part 2 knaif 1 1,370 10-05-2015, 07:51 PM
Последний пост: G1ta0
  Оплачиваемая работа Grek1993 1 1,333 08-01-2015, 11:29 AM
Последний пост: ztaecz
  Работа с мультиселлом Evencelance 11 2,413 09-19-2014, 12:43 PM
Последний пост: Evencelance
  Работа над Goddess of Destruction (part 5) Ozzy 980 336,154 10-09-2013, 09:13 AM
Последний пост: Ashe

Перейти к форуму:


Пользователи, просматривающие эту тему: 3 Гость(ей)