Показать сообщение отдельно
Непрочитано 19.06.2011, 15:45   #1
Аватар для krisadr
Пользователь

Автор темы (Топик Стартер) востановление после релогина из инстанса.

Всем привет и сразу к сабжу.
В моей сборке (l2dc (лыжа)). не реализовано восстановление из инстансзоны после релогина. После релогина, если ты был, допустим в каме, ты снова оказываешься в каме, но мобов нигде нету, тоесть ты в нормальном мире, но по координатам ты остался там где вышел.
Так вот я надумал сделать такую фишку. В instance/***.xml прописывать

Код:
	<returnteleport x="17380" y="277582" z="-9704"/>

c координатами возврата (для каждого инстанса свои)
покопался в исходниках - нашел

Код:
public class Instance
{
	private void parseInstance(Node n) throws Exception
	{
		L2Spawn spawnDat;
		L2NpcTemplate npcTemplate;
		String name = null;
		name = n.getAttributes().getNamedItem("name").getNodeValue();
		setName(name);
		
		Node a;
		Node first = n.getFirstChild();
		for (n = first; n != null; n = n.getNextSibling())
		{
			else if ("returnteleport".equalsIgnoreCase(n.getNodeName()))
			{
				int tpx = 0, tpy = 0, tpz = 0;
				
				tpx = Integer.parseInt(n.getAttributes().getNamedItem("x").getNodeValue());
				tpy = Integer.parseInt(n.getAttributes().getNamedItem("y").getNodeValue());
				tpz = Integer.parseInt(n.getAttributes().getNamedItem("z").getNodeValue());
				
				setReturnTeleport(tpx, tpy, tpz);
			}
                       }
          }
}

На сколько я понимаю этот код записывает переменные из ***.xml в переменные java.
Так вот, очень буду признателен, если вы мне поможете и подскажите
как это реализовать на моем серве
Своими словами: При релогине(должен быть такой файл .java который обрабатывает события при релогине, на подобии EnterWorld.) идет проверка на то, состоит ли персонаж в каком-нибудь инстансе или нет, если да, то телепортирует его по координатам взятым из ***.xml

PS. "Спасибо" жать умею xD
krisadr вне форума Ответить с цитированием