View Single Post
  #5  
Old 02-04-2004, 08:22 AM
Edgar1898
Senior Member
Former EQEmu Developer
Current EQ2Emu Lead Developer
 
Join Date: Dec 2002
Posts: 1,065
Default

What are you talking about? You obviously didnt read all the posts from the link, so I'll be nice and post it again.

Quote:
Whenever you login to the zone the zoneserver sends all the zone points to the player. Whenever the client runs into these zonepoints (most are hard coded) the client tells the server that it wants to zone. The problem is that it doesnt tell the server which zone point the client is using, so the server relies on the players position to determine which one the client used and the correct place to send them based on the coords in the database for the particular zonepoint. The x,y,z coords are the coords that the zonepoint itself is located at, it doesnt have to be exact but it needs to be close. The target_x,y,z coords are used by the server to tell where it should send the player once they have zoned. Its a little difficult to explain, but I'll give you an example:


Code:
id | zone | number | y | x | z | heading | target_zone | target_y | target_x | target_z | target_heading 
341 | gfaydark | 4 | 2608 | -53 | 16 | 0 | crushbone | -660 | 162 | 4 | 999 
345 | crushbone | 1 | -660 | -162 | 4 | 0 | gfaydark | 2608 | -53 | 16 | 999


Now as you can see the zonepoint in gfay is physically located at 2608,-53,16 (y,x,z) and whenever someone goes over it, they are zoned into crushbone to -660,162,4 (y,x,z) the heading of 999 tells the client to keep whatever heading it was using when it zoned. Now if you didnt have the right x,y,z the server would try to find the closest zone point, which might NOT be the correct one and it would send you somewhere else.
__________________
Lethal Encounter
Reply With Quote