Jump to content
  • 0

Help fixing Geodata Issues - Character falling down


Question

Posted (edited)

Hello guys, this is my first post here, im starting to learn how to fix geodata issues, now im having the problem, that when I wall through a cliff my toon is going down to the z -XXXXX

as you can see on the image, im standing there and I want to wall to the path , and I end up down there, also I upload geodata file zone there, seems to be no problems, 

 

hope someone could help me to solve this issue

 

Thank you very much!

 

Im ussing L2jFrozen , interlude

geodata1.jpg

Shot00034.jpg

 

video of issue: 

 

Edited by dead-end

Recommended Posts

  • 0
Posted

Hello! I was told that could be something about GeoEngine but i have no idea what could be, i have a geoengine file on my source, that would be? or where I should look at?

  • 0
Posted
48 minutes ago, xxdem said:

You can't fix it server side, its a client sided bug

i know I cant, thats why Im asking for help here, if someone knows how to fix it

  • 0
Posted
9 minutes ago, xxdem said:

restart after falling, if you are above its Client problem and can't be fixed, if it is bellow u got few chances

yeah, i restarted and is still, down there standing on the air

  • 0
Posted

I doubt what it's client bug. Looks like Z sync with server not exists. Check your geo engine configuration.

 

It can be reproduced everywhere where exist wall with the large slope and where character will falls.

  • 0
Posted
5 hours ago, Rootware said:

I doubt what it's client bug. Looks like Z sync with server not exists. Check your geo engine configuration.

 

It can be reproduced everywhere where exist wall with the large slope and where character will falls.

Hello, you mean this config inside the geodata.properties file?

# This is setting of experimental Client <--> Server Player coordinates synchronization,
#   0 - no synchronization at all
#   1 - synchronization Client --> Server
#   2 - synchronization Server --> Client
#  -1 - Default system: will synchronize Z only
CoordSynchronize = -1

or where I should be looking at?

  • 0
Posted (edited)

I have the source code like this: I dont know if this helps you to help me xD

		switch (Config.COORD_SYNCHRONIZE)
		{
		
			case 1:
			{ // full synchronization Client --> Server
				// only * using this option it is difficult
				// for players to bypass obstacles
				
				if (!activeChar.isMoving() || !activeChar.validateMovementHeading(_heading)) // Heading changed on client = possible obstacle
				{
					// character is not moving, take coordinates from client
					if (diffSq < 2500)
					{ // 50*50 - attack won't work fluently if even small differences are corrected
						activeChar.getPosition().setXYZ(realX, realY, finalZ);
						
					}
					else
					{
						activeChar.getPosition().setXYZ(_x, _y, finalZ);
					}
				}
				else
				{
					activeChar.getPosition().setXYZ(realX, realY, finalZ);
					
				}
				
				activeChar.setHeading(_heading);
				
			}
				break;
			case 2:
			{ // full synchronization Server --> Client (bounces for validation)
			
				if (Config.GEODATA > 0 && (diffSq > 250000 || Math.abs(dz) > 200))
				{
					if (Math.abs(dz) > 200)
					{
						
						if (Math.abs(finalZ - activeChar.getClientZ()) < 800)
						{
							activeChar.getPosition().setXYZ(realX, realY, finalZ);
						}
						
					}
					else
					{
						if (!activeChar.isMoving())
						{
							
							if (activeChar.isInBoat())
								sendPacket(new ValidateLocationInVehicle(activeChar));
							else
								sendPacket(new ValidateLocation(activeChar));
							
						}
						else if (diffSq > activeChar.getStat().getMoveSpeed())
							activeChar.broadcastPacket(new CharMoveToLocation(activeChar));
						
						finalZ = activeChar.getPosition().getZ();
					}
					
				}
				
			}
				break;
			case -1:
			{ // just (client-->server) Z coordination
			
				if (Math.abs(dz) > 200)
				{
					
					if (Math.abs(_z - activeChar.getClientZ()) < 800)
						activeChar.getPosition().setXYZ(realX, realY, finalZ);
					
				}
				else
					finalZ = realZ;
				
			}
				break;
			default:
			case 0:
			{ // no synchronization at all
				// the server has the correct information
				finalZ = realZ;
			}
				break;
		
		}

 

Edited by dead-end

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
Answer this question...

×   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...