Страница 1 из 1

Порталы в ад

Добавлено: 21 апр 2014, 17:39
Rjak75
Значицца так... Текущий плагин запоминает, через какой портал игрок телепортился, и при телепортировании обратно телепортит его в тот же портал. Это делает невозможным быстрое перемещение через ад. Плагин полезный, посколько без него возможно ситуация, когда входя через один портал в ад, и возвращаясь через него же в обычный мир можно оказатся в другом портале. Это связано с тем, что поиск портала "назначение" осуществляется игрой в вертикальном столбе 257х257 клеток, от расчетной точки "приземления". Ниже представлен пример:
Портал А в обычном мире имеет координаты 1023, 64, 1023. Расчетная точка приземления - 1023/8 с округлением вниз = 127, то есть 127, 64, 127. Майн не находит портала в аду, спавнит новый в пределах столба 33х33, но на любой высоте. Предположим, новый портал был создан с координатами 130, 70, 130.
Другой игрок, строит портал с координатами 1600, 65, 1600 и телепортится в ад. Расчетная точка "прибытия" 200, 65, 200. Система находит портал созданный ранее и телепортит игрока туда. Игрок телепортится обратно, и система рассчитывает координаты приземления 130*8= 1040, 70, 1040. Дальше, происходит поиск опять, в столбе 257х257 и выбирается ближайший портал. Майн находит портал с координатами 1023, 64, 1023 и телепортит игрока туда. Итого, игрок телепортнулся через портал 1600, 65, 1600, а вернулся в портал 1023, 64, 1023. Так работает ванильный сервер без плагинов. Обычно, это решается строительством порталов руками. То есть, созданный в аду портал ломают, и руками строят новый по координатам 127,64, 127. Когда второй игрок телепортится, он тоже строит себе руками портал по координатам 200,65, 200. Результате все работает как надо. Большинство игроков не удосуживаются изучить этот вопрос, и начинают вайнить про плохой сервак.
Чтобы эту проблему решить, есть простенький плагин, про который я писал выше, который имеет серьезный недостаток - мешает путешествиям через ад. В связи с чем, я решил подправить этот плагин, благо исходники простенькие, и плагин с открытым кодом.
Есть вариант добавить исключение, что если на расчетных координатах есть портал, то исключить возврат в оригинальный портал. Реализуется за несколько минут, добавлением одной строчки кода.
У этого способа есть серьезный недостаток - если другой игрок построил портал в пределах 16 клеток по обеим координатам от вашего, слинкованого руками, он будет прыгать в обычный мир в ваш портал.
Хотелось бы услышать мнение общественности, стоит ли заморачиваться?

Добавлено: 21 апр 2014, 17:46
MaXoN_Fe
Я полностью ЗА чтоб была такая возможность у нас. Выслушаем других. :)

Добавлено: 21 апр 2014, 17:48
Manevich
Если отключать варпы, то очень даже стоит. Однако пока варпы действительны, такой геморрой вряд ли кому нужен. А нельзя в районе 16 клеток от портала автоматический приват делать?

Добавлено: 21 апр 2014, 17:51
Rjak75
Ну на самом деле хрень с 16 клетками она не очень серьезная.
Во превых, 16 клеток только в верхнем мире. Люди строят порталы обычно уже внутри приватов. Если, конечно, поставить портал близко к границе привата, то такая ерунда вполне возможна, но я что-то в это не верю.

Добавлено: 21 апр 2014, 17:53
MaXoN_Fe
Manevich писал(а):Однако пока варпы действительны
варпы урезаны и поставлен таймер на них, 5 секунд. Так же и с хоумом.

Добавлено: 21 апр 2014, 17:54
Rjak75
MaXoN_Fe писал(а):варпы урезаны
Это ты поспешил. Пока нету нормальной возможности пересекать большие расстояния варпы очь нужны.

[upd=1398090036][/upd]
Вообщем делаем так. Я сейчас попробую это все сделать на своем серваке, надеюсь к пятнице будет готово, а там глянем.

Добавлено: 21 апр 2014, 18:22
MaXoN_Fe
Rjak75 писал(а):Вообщем делаем так. Я сейчас попробую это все сделать на своем серваке, надеюсь к пятнице будет готово, а там глянем.
Ок. :)

Добавлено: 21 апр 2014, 18:32
Manevich
MaXoN_Fe писал(а):варпы урезаны и поставлен таймер на них, 5 секунд. Так же и с хоумом.
Даже при таком раскладе варпы куда удобнее чем путешествия через порталы

Добавлено: 21 апр 2014, 18:41
Rjak75
Через порталы интереснее. Вот я вчера-сегодня сделал дорогу от дома до фермы. 1:45 от портала до портала в аду, но обломился из-за плагина.

Добавлено: 21 апр 2014, 18:42
MaXoN_Fe
Manevich писал(а):Даже при таком раскладе варпы куда удобнее чем путешествия через порталы
Уже 10 секунд. И сбиваются мобами. Двинулся и тоже собьется и снова ждать 10 секунд.

Добавлено: 21 апр 2014, 18:45
Rjak75
Максе, еще бы варпанье ресурсы жрало, было бы ваще шик. Какой-нить левый, типа лазурита :)

Добавлено: 21 апр 2014, 18:48
Manevich
Rjak75 писал(а):Максе, еще бы варпанье ресурсы жрало, было бы ваще шик. Какой-нить левый, типа лазурита :)
лазурит няшка, его жалко. А так, толку от этих мер мало. Ну я теперь не буду сбегать с поля боя, но никаких приключений путешествий

Добавлено: 21 апр 2014, 20:25
Rjak75
Вобчем чо-то накарябал... бум тестировать

[upd=1398114009][/upd]
Концепция слегка поменялась.
Переделал плагин так, что он возвращает в исходный портал, только если вы возвращаетесь через тот же портал. Если вы телепортнулись в ад, а потом зашли в тот же портал в аду - вы гарантированно вернетесь в исходную точку. Если в аду вы воспользуетесь другим порталом, то вас телепортирует по стандартному алгоритму. Мне пока такой компоромисс нравится. Оставлять?

Добавлено: 22 апр 2014, 06:07
Manevich
Не проще тогда просто связать два портала чтобы путешествие туда-обратно было строго через них. и так со всеми порталами?

Добавлено: 22 апр 2014, 09:12
Rjak75
Не проще. Там тогда надо городить базу порталов. А с учетом того, что портал как цельный объект не существует, то надо связывать каждый блок внутри портала. В текущем плагине - просто запоминаются координаты откуда ты телепортировался, и при следующей телепортации тебя кидает на те же координаты. Я просто добавил одну строчку кода, которая проверяет, ты телепортируешься из того же места или нет.
А связывать порталы ты можешь сам. Для этого просто пересчитай координаты верхнего мира в координаты ада и построй в аду портал руками. Он будет четко связан с твоим порталом наверху.

Добавлено: 22 апр 2014, 12:53
Manevich
Геморно однако. Вообще мне твое решение нравится