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
  • 0
Posted
2 hours ago, Rootware said:

Try this:

 

CoordSynchronize = 2

Nop, the same, I also tried with 1 , and also tried relogin and goes down to the same place T.T

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


×
×
  • Create New...

Important Information

This community uses essential cookies to function properly. Non-essential cookies and third-party services are used only with your consent. Read our Privacy Policy and We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue..