Перейти к содержанию
Авторизация  
IOPUCT

Перемещение из зоны в зону

Рекомендуемые сообщения

Доброго времени суток всем! Интересует вопрос, как сделать "линию", через которую персонажа телепортирует в указанную мной точку, например если игрок войдет в пещеру (зайдет за линию), его телепортирует во вход на "Остров дьявола", когда персонаж решит выйти с острова, то обратно на то место.

 

И еще вопрос по форуму, создал тему, а потом понял что не в том разделе, как я могу ее удалить, что бы потом в другом разделе создать? Ну или просто переместить.

Изменено пользователем IOPUCT

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Доброго времени суток всем! Интересует вопрос, как сделать "линию", через которую персонажа телепортирует в указанную мной точку, например если игрок войдет в пещеру (зайдет за линию), его телепортирует во вход на "Остров дьявола", когда персонаж решит выйти с острова, то обратно на то место.

 

И еще вопрос по форуму, создал тему, а потом понял что не в том разделе, как я могу ее удалить, что бы потом в другом разделе создать? Ну или просто переместить.

На l2p ТВТ, если заходишь за инстанс зону, тебя тпхает обратно. Можешь сделать на подобии этого, только вместо "обратной" точки, поставишь свою. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На l2p ТВТ, если заходишь за инстанс зону, тебя тпхает обратно. Можешь сделать на подобии этого, только вместо "обратной" точки, поставишь свою. 

Спасибо! Точно, не подумал об этом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Объявляешь зону, вешаешь на нее enter/leave листенер и делаешь все действия по телепортации в методе обрабатывающем вход в эту зону.

 

пример

package l2p.gameserver.listener.zone.impl;

import org.apache.commons.lang3.StringUtils;

import l2p.gameserver.listener.zone.OnZoneEnterLeaveListener;
import l2p.gameserver.model.Creature;
import l2p.gameserver.model.Zone;
import l2p.gameserver.utils.Location;

/**
 * Зоны, телепортирующие игрока при входе в них
 * 
 * @[member='Authority'] Gaikotsu
 */
public class TeleportZoneListener implements OnZoneEnterLeaveListener
{
	public static final OnZoneEnterLeaveListener STATIC = new TeleportZoneListener();

	@[member='override']
	public void onZoneEnter(Zone zone, Creature cha)
	{
		if (cha == null || !cha.isPlayer() ||zone.getParams() == null)
			return;

		String loc = zone.getParams().getString("loc", StringUtils.EMPTY);
		
		if (loc.isEmpty())
			return;

		cha.teleToLocation(Location.parseLoc(loc));
	}

	@[member='override']
	public void onZoneLeave(Zone zone, Creature cha)
	{}
}
  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@@Gaikotsu   как всегда дает хорошие советы.

и не говори =) +

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...