Ну там есть пакет списка сесионных зон, в пакете есть поле "возможность входа". Делаем список зон, в которые можно войти, даже если ты уже находишься уже в сессионной зоне и если поступает запрос на вход в другую зону - телепортируем персонажа в город, после чего опять телепортируем в новую зону.
Список действий:
- Проверяем наличие зоны в списке "трансфера" (возможность перехода из зоны в зону без предварительного телепорта);
- При получении запроса на вход в другую зону:
* Телепортируем игрока из текущей зоны в город, откуда он заходил (привет мобиус, который [А по щам?] знает как эти сессионки писал);
* Сохраняем на всякий случай время проведения в сессионых зонах;
* Списываем адену за переход в новую зону;
* Телепортируем игрока в новую сессионную зону;