| 
		
	
	
	
		
	Сообщений: 1,065 
	Тем: 20 
	Зарегистрирован: Mar 2010
	
 Репутация: 
3,855 
	
		
		
		12-21-2013, 10:38 PM 
(Сообщение последний раз редактировалось: 12-21-2013, 11:27 PM   Gaikotsu.)
		
	 
		неужели никто не знает? или просто не хочется делиться такой инфой?
 Добавлено через 49 минут
 уже не надо - сам выяснил методом тыка
 
 EventTrigger    20140700
 
	
	
	
		
	Сообщений: 2,267 
	Тем: 6 
	Зарегистрирован: Aug 2009
	
 Репутация: 
8,698 
	
	
		Gaikotsu Написал:неужели никто не знает? или просто не хочется делиться такой инфой?
 Добавлено через 49 минут
 уже не надо - сам выяснил методом тыка
 
 EventTrigger    20140700
 
Не видел, так бы поделился естественно.    
	
	
	
		
	Сообщений: 220 
	Тем: 19 
	Зарегистрирован: Oct 2011
	
 Репутация: 
2,462 
	
	
		В 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, ...
 
	
	
	
		
	Сообщений: 220 
	Тем: 19 
	Зарегистрирован: Oct 2011
	
 Репутация: 
2,462 
	
		
		
		12-25-2013, 05:58 PM 
(Сообщение последний раз редактировалось: 12-25-2013, 07:46 PM   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 := 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, ...
 
	
	
	
		
	Сообщений: 406 
	Тем: 10 
	Зарегистрирован: Jun 2008
	
 Репутация: 
2,862 
	
	
		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; // замена пати. не верно тут С
	 
Человек просто обязан ошибаться, раз другие учатся на его ошибках .......
 
	
	
	
		
	Сообщений: 220 
	Тем: 19 
	Зарегистрирован: Oct 2011
	
 Репутация: 
2,462 
	
	
		Хм, спасибо, исправлю. А я почему-то поставил C вместо H (уже не помню причины).
	 
hLaPEx, Evermore, hAuthD, L2on, ...
 
	
	
	
		
	Сообщений: 102 
	Тем: 6 
	Зарегистрирован: Jun 2012
	
 Репутация: 
116 
	
	
		До кучи, мини апдейт бонуксовского 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
Если есть инфа по анкноун полям, буду рад выслушать.
	 
	
	
	
		
	Сообщений: 466 
	Тем: 10 
	Зарегистрирован: Dec 2012
	
 Репутация: 
398 
	
		
		
		12-27-2013, 11:32 PM 
(Сообщение последний раз редактировалось: 12-28-2013, 10:56 AM   Daan Raven.)
		
	 
		Вот опкоды, кусок дампа  с пакетами и целый стринг-дамп в тхт - http://yadi.sk/d/7MLNu-fxF5F3N  . (Отдельное спасибо мефисто или мифесто, авейкингу за то, что научили делать стринг дамп, и килрою за то, что подсказал, как узнать опкоды, хоть я и догадывался).
 
			Открыть спойлер offP.S.: Научите кто-то разбираться в этих пакетах, их структуре. Или хотя бы тыкните носом куда смотреть и расскажите, как вы научились (желательно в подробностях).
 
 
	
	
	
		
	Сообщений: 102 
	Тем: 6 
	Зарегистрирован: Jun 2012
	
 Репутация: 
116 
	
	
		GooD Написал:Вот опкоды, кусок дампа  с пакетами и целый стринг-дамп в тхт - http://yadi.sk/d/7MLNu-fxF5F3N . (Отдельное спасибо мефисто, авейкингу за то, что научили делать стринг дамп, и килрою за то, что подсказал, как узнать опкоды, хоть я и догадывался).
 
			Открыть спойлер offP.S.: Научите кто-то разбираться в этих пакетах, их структуре. Или хотя бы тыкните носом куда смотреть и расскажите, как вы научились (желательно в подробностях).
 
 
Благодарствую.
 
Одного не пойму, что это за магические   цифры в подобных сеттингах.
 
Я так понимаю, это имеет какое-то отношение к тому, как отправляются новые пакеты?
	 
	
	
	
		
	Сообщений: 122 
	Тем: 6 
	Зарегистрирован: Sep 2013
	
 Репутация: 
112 
	
		
		
		12-28-2013, 09:33 AM 
(Сообщение последний раз редактировалось: 12-28-2013, 10:55 AM   VenomRaider.)
		
	 Добавлено через 1 час 22 минуты
		полный пакет CharacterSelectionInfo: 
			CharacterSelectionInfo PHP код: <?php <packet id="09" name="CharacterSelectionInfo">
 <part name="size" type="d" id="0"/>
 <part name="0x07" type="d"/>
 <part name="cant create" type="c"/>
 <part name="?" type="c"/>
 <part name="?" type="d"/>
 <part name="?" type="c"/>
 <for id="0">
 <part name="name" type="S"/>
 <part name="charId" type="d"/>
 <part name="login" type="S"/>
 <part name="sessionId" type="d"/>
 <part name="clanId" type="d"/>
 <part name="?" type="d"/>
 <part name="sex" type="d"/>
 <part name="race" type="d"/>
 <part name="classId" type="d"/>
 <part name="active" type="d"/>
 <part name="x" type="d"/>
 <part name="y" type="d"/>
 <part name="z" type="d"/>
 <part name="cur_hp" type="D"/>
 <part name="cur_mp" type="D"/>
 <part name="sp" type="Q"/>
 <part name="exp" type="Q"/>
 <part name="?" type="D"/>
 <part name="?" type="d"/>
 <part name="level" type="d"/>
 <part name="karma" type="d"/>
 <part name="pk kills" type="d"/>
 <part name="pvp kills" type="d"/>
 <part name="?" type="d"/>
 <part name="?" type="d"/>
 <part name="?" type="d"/>
 <part name="?" type="d"/>
 <part name="?" type="d"/>
 <part name="?" type="d"/>
 <part name="?" type="d"/>
 <part name="item_id-UNDER" type="d"/>
 <part name="item_id-REAR" type="d"/>
 <part name="item_id-LEAR" type="d"/>
 <part name="item_id-NECK" type="d"/>
 <part name="item_id-RFINGER" type="d"/>
 <part name="item_id-LFINGER" type="d"/>
 <part name="item_id-HEAD" type="d"/>
 <part name="item_id-RHAND" type="d"/>
 <part name="item_id-LHAND" type="d"/>
 <part name="item_id-GLOVES" type="d"/>
 <part name="item_id-CHEST" type="d"/>
 <part name="item_id-LEGS" type="d"/>
 <part name="item_id-FEET" type="d"/>
 <part name="item_id-BACK" type="d"/>
 <part name="item_id-LRHAND" type="d"/>
 <part name="item_id-HAIR" type="d"/>
 <part name="item_id-DHAIR" type="d"/>
 <part name="item_id-RBRACELET" type="d"/>
 <part name="item_id-LBRACELET" type="d"/>
 <part name="item_id-DECO1" type="d"/>
 <part name="item_id-DECO2" type="d"/>
 <part name="item_id-DECO3" type="d"/>
 <part name="item_id-DECO4" type="d"/>
 <part name="item_id-DECO5" type="d"/>
 <part name="item_id-DECO6" type="d"/>
 <part name="item_id-BACK" type="d"/>
 <part name="?" type="d"/>
 <part name="?" type="d"/>
 <part name="?" type="d"/>
 <part name="?" type="d"/>
 <part name="?" type="d"/>
 <part name="?" type="d"/>
 <part name="?" type="d"/>
 <part name="?" type="d"/>
 <part name="?" type="d"/>
 <part name="?" type="d"/>
 <part name="?" type="d"/>
 <part name="?" type="d"/>
 <part name="?" type="d"/>
 <part name="?" type="d"/>
 <part name="?" type="d"/>
 
 <part name="?" type="h"/>
 <part name="?" type="h"/>
 <part name="?" type="h"/>
 <part name="?" type="h"/>
 <part name="?" type="h"/>
 
 <part name="hair_style" type="d"/>
 <part name="hair_color" type="d"/>
 <part name="face" type="d"/>
 <part name="maxHP" type="D"/>
 <part name="maxMP" type="D"/>
 <part name="deleteTimer" type="d"/>
 <part name="classId" type="d"/>
 <part name="active" type="d"/>
 <part name="enchant" type="c"/>
 <part name="aurgmentationId" type="d"/>
 <part name="transformId" type="d"/>
 <part name="npcId" type="d"/>
 <part name="level" type="d"/>
 <part name="?" type="d"/>
 <part name="?" type="d"/>
 <part name="maxHP" type="D"/>
 <part name="currentHP" type="D"/>
 
 <part name="vitality" type="d"/>
 <part name="XP Bonus" type="d"/>
 <part name="Vitality items allowed" type="d"/>
 <part name="Active" type="d"/>
 <part name="?" type="c"/>
 <part name="?" type="c"/>
 <part name="?" type="c"/>
 </for>
 </packet>
 
дайте плиз структуру пакета ItemList
	 |