Jump to content

Heading Bug Fix


Recommended Posts

Hey,  correct me if i am wrong, but what i have noticed that 99% interlude packs still have this bug. I saw this in Acis, Frozen, Mobius and actually in all older packs.

 

DIFF:

Index: java/net/sf/l2j/gameserver/network/serverpackets/CharInfo.java
===================================================================
--- java/net/sf/l2j/gameserver/network/serverpackets/CharInfo.java	(revision 5)
+++ java/net/sf/l2j/gameserver/network/serverpackets/CharInfo.java	(working copy)
@@ -34,7 +34,7 @@
 		writeD(_activeChar.getX());
 		writeD(_activeChar.getY());
 		writeD(_activeChar.getZ());
-		writeD(_activeChar.getHeading());
+		writeD(0);
 		writeD(_activeChar.getObjectId());
 		writeS(_activeChar.getName());
 		writeD(_activeChar.getRace().ordinal());
@@ -180,7 +180,7 @@
 		
 		writeD(_activeChar.getAppearance().getNameColor());
 		
-		writeD(0x00); // isRunning() as in UserInfo?
+		writeD(_activeChar.getHeading());
 		
 		writeD(_activeChar.getPledgeClass());
 		writeD(_activeChar.getPledgeType());

 

Edited by Vilmis
  • Like 4
  • Thanks 2
Link to comment
Share on other sites

		writeC(0x03);
		writeD(_activeChar.getX());
		writeD(_activeChar.getY());
		writeD(_activeChar.getZ());
		writeD(_activeChar.getHeading()); /* Removing this because it's Vehicle ID */

You are fixed character model heading only for known players, but for self in UserInfo forgot.

Edited by Rootware
Link to comment
Share on other sites

43 minutes ago, Rootware said:

		writeC(0x03);
		writeD(_activeChar.getX());
		writeD(_activeChar.getY());
		writeD(_activeChar.getZ());
		writeD(_activeChar.getHeading()); /* Removing this because it's Vehicle ID */

You are fixed character model heading only for known players, but for self in UserInfo forgot.

I know this and yep, it's vehicle id.
Btw, what's about userinfo i think this  is client bug (ncsoft bug) or am i wrong? UserInfo even can not send heading. That's why never tried to fix it. I saw this bug in new clients and etc.

Edited by Vilmis
  • Like 1
Link to comment
Share on other sites

1 hour ago, Vilmis said:

I know this and yep, it's vehicle id.
Btw, what's about userinfo i think this  is client bug (ncsoft bug) or am i wrong? UserInfo even can not send heading. That's why never tried to fix it. I saw this bug in new clients and etc.

 

When you entering to the world you can see own/another character always with wrong heading. It's client bug, because model in client always spawns w/o server heading - always look to the east. While teleporting the heading saving and processing correct for all characters own or another.

Edited by Rootware
Link to comment
Share on other sites

32 minutes ago, Rootware said:

 

When you entering to the world you can see own/another character always with wrong heading. It's client bug, because model in client always spawns w/o server heading - always look to the east. While teleporting the heading saving and processing correct for all characters own or another.

I know that as well, mate, but thanks for your info.
For example: UserInfo doesn't send heading at all, but for some reason many l2j packs still have this heading in UserInfo. Instead of heading should be vehicle id as well, but not heading.

Link to comment
Share on other sites

1 hour ago, Vilmis said:

I know that as well, mate, but thanks for your info.
For example: UserInfo doesn't send heading at all, but for some reason many l2j packs still have this heading in UserInfo. Instead of heading should be vehicle id as well, but not heading.

 

Sure. You are right, my mistake. I meant TeleportToLacation packet. You can send him with special params (for disable black screen for teleport) after UserInfo packet while character entering onto the world and you will see correct character rotation.

Edited by Rootware
  • Like 1
Link to comment
Share on other sites

the only heading mistake on mobius god clients* is on teleport etc  

 

i havent see something else wrong

 

 

edit* i just read u talk about c6

 

my bad

Edited by Pamela32
Link to comment
Share on other sites

It has been fixed since Kamael on L2J, so postIL chronicles, and probably few downgrades, aren't impacted.

 

If you ask "why", I would answer "why not" ? If we use a base L2J IL, we inherit from all L2J issues. Whoever use L2J IL shares a common pool of issues than people can eventually see and fix.

 

I won't blame you if you don't have EventTrigger, ShortCutDelete (than L2J doesn't even have nowadays, btw), ExDuelEnemyRelation or ExMPCCPartyInfoUpdate packets. Or one of the 20+ PvP event.

 

It's all about seeing it, first. That's simply tell you than every project shares the same mommy DNA.

 

Ty for the find.

 

@sotid Everytime you addKnownObject a Player on your knownlist. Which is : teleport and enterworld. Few appreciations of that edit is on a market, people won't be on the same heading anymore, or if you want to backstab correctly a Player (which didn't yet move) upon teleport on pvp grounds.

Edited by Tryskell
  • Like 1
Link to comment
Share on other sites

23 minutes ago, Tryskell said:

@sotid Everytime you addKnownObject a Player on your knownlist. Which is : teleport and enterworld. Few appreciations of that edit is on a market, people won't be on the same heading anymore, or if you want to backstab correctly a Player (which didn't yet move) upon teleport on pvp grounds.

Thank you!

Link to comment
Share on other sites

4 minutes ago, sotid said:

Thank you!

 

For self teleport heading, you have to correctly address Player heading upon TeleportToLocation packet. CharInfo is only for others people who are appearing on a zone you are "seeing the first time".

 

Will be part of aCis rev 382, it is validated on L2OvC.

Edited by Tryskell
Link to comment
Share on other sites

59 minutes ago, Tryskell said:

 

For self teleport heading, you have to correctly address Player heading upon TeleportToLocation packet. CharInfo is only for others people who are appearing on a zone you are "seeing the first time".

What you want do in TeleportToLocation packet? It doesn't have heading in interlude packet. Also, on teleport you don't need add correction or something like that for heading, because heading stays same after teleport and broadcasting correctly for others. 
Just only one main problem is to fix heading on first log in for yourself, because it's a visual bug of UserInfo which doesn't send heading at all.

Link to comment
Share on other sites

2 minutes ago, Vilmis said:

What you want do in TeleportToLocation packet? It doesn't have heading in interlude packet. Also, on teleport you don't need add correction or something like that for heading, because heading stays same after teleport and broadcasting correctly for others. 
Just only one main problem is to fix heading on first log in for yourself, because it's a visual bug of UserInfo which doesn't send heading at all.

 

Try this up.

 

	@Override
	protected final void writeImpl()
	{
		writeC(0x22);
		
		writeD(_objectId);
		writeD(_x);
		writeD(_y);
		writeD(_z);
		writeD(_isFastTeleport ? 1 : 0); // 0 - with black screen, 1 - fast teleport (for correcting position)
		writeD(_heading);
	}

 

Link to comment
Share on other sites

1 hour ago, Rootware said:

 

Try this up.

 


	@Override
	protected final void writeImpl()
	{
		writeC(0x22);
		
		writeD(_objectId);
		writeD(_x);
		writeD(_y);
		writeD(_z);
		writeD(_isFastTeleport ? 1 : 0); // 0 - with black screen, 1 - fast teleport (for correcting position)
		writeD(_heading);
	}

 

Did you try? This „FastTeleport“ works in interlude, but heading doesn't look like would be working as i mentioned before or maybe i'm wrong? You can add almost everything whatever you want to writeImpl() if they are in the bottom they won't break the packet.

btw, if  TeleportToLocation would send heading which means //goup should fix your heading when entered to world again and have heading from database, but it doesn't.

Edited by Vilmis
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...