Jump to content

What difference between mapID and zoneID in mangos ?


/dev/not/null

Recommended Posts

The in-game space is realized as a set of maps. You're transferred from a map to another one via teleport (so called far teleport). It could be an instance entrance or ship/zeppelin teleportation. The maps are numbered sequentially (with some holes), this number is known as the mapID. The map list is kept in the client file Map.dbc, you could find some description of its content (3.3.5a client) here.

A map can have a very large size (meaning, room), like the whole continent, Kalimdor (id 1) or Eastern Kingdoms (id 0) or Outland (id 530). Clearly, a more tight net is needed for many game mechanic implementations. An example of such mechanics is a spell enabled only in a part of the map. Such a smaller grain is called a zone, and further smaller one is an area. The data on these are presented in the client file AreaTable.dbc, described somehow here.

However, a position on the map is defined by the mapID and coordinates X, Y, Z only. It means that the zoneID and areaID are subordinate, being actually calculated by the core from the position data. The smallest grain is called a cell and is implemented in the core by the similarly named class.

The SMSG_CHAR_ENUM packet contains lots of information about the characters present on a given account. It allows the client to display "Select a character" screen since you've logged in. A necessarily large size of the packet made it the popular tool for DoS attack to the server. This was serious enough to budge the TC team to implement a rudimentary protection from this attack type.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

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. Privacy Policy Terms of Use