Me puse a ver un poco el código del AO, y note algo interesante...
El sistema de Areas funciona asi:
Entro a un Area:
Se mandan los datos de los Npcs y Objetos
Salgo de esa Area entrando a otra, borro los npcs y objetos del anterior Area
Vuelvo a Entrar al Area (Se vuelven a mandar los datos)
Mi hipótesis es:
Se esta "sobre usando" el sistema de Áreas...
La idea de dejar de mandar la posición de usuarios a TODO el mapa, se solucionó, pero a costo de gastar más ancho de banda en cosas que se supone que son "innamovibles" y nunca van a cambiar...
¿Por qué?
Simple:
Npcs que están quietos en el mapa (LEASE COMERCIANTES), NUNCA, van a moverse de lugar...
Objetos que NO se pueden agarrar o que tienen Bloqueo arriba, NUNCA se van a poder agarrar (por usuarios comunes)
Con lo cual, hacer que se mande ese Npc y ese Objeto, cada vez que volves a entrar al Área es REDUNDANTE y genera lag.
Lo que yo hice, fue que directamente se manden los objetos y npcs "fijos" en el mapa, y los demás objetos (que tiran los usuarios) o npcs con movimientos, que se manden con Área...
La idea principal de las Áreas era que no se mande a todo el mapa cuando un usuario se movía o que los objetos de los usuarios no se manden a todo el mapa...
Se esta excediendo el uso de las áreas.
Piensenlo...
Espero Respuestas
Pd: Este tema fue posteado en Hablemos de Argentum pero me parece que esa era una sección errónea ya que esto tiene que ver con programación.




105![Newbie [1] Newbie [1]](./images/ranks/Rango0.gif)


