Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
zone
#1
Всем привет! Уважаемые знатаки, выручайте!
Сборка interlude.

Решил посмотреть как устроены зоны, создал новую в Адене внизу справа квадрат.
При клике на нее мышью и когда забегает говорит " Вы вошли в зону ",
а при уходе " Вы вышли из зоны ". Все вроде ок. Но не тут то было.

Допустим там есть NPC или Игрок. И вот тут возникли проблемы.

Если я нахожусь не в зоне и жму на NPC или Игрока, чтобы начать бежать к ним, то при этом когда забегает в зону, ничего не говорит, что я зашел в зону, когда добегает и останавливается, ничего не говорит, что я зашел в зону, а вот как только я щелкну по местности в этой зоне, говорит " Вы зашли в зону ", стоя в зоне жму на NPC или Игрока, говорит " Вы вышли из зоны ", так я же в ней, почему так происходит?

Что сбрасывает это действие?
Уже облазил все onAction, и doInteract. Не могу понять причину.
Пожалуйста спасайте!
Никак не могу понять, в чем проблема.

Ничего специфичного не делал.
Добавил это:

Код:
<!-- NewZone -->
<zone id='22222' type='NewZone' shape='NPoly' minZ='-2295' maxZ='-2231' />

Ну и копипастом:

Код:
public class L2NewZone extends L2ZoneType {

    public L2NewZone(int id) {
        super(id);
    }
    
    @Override
    protected void onEnter(L2Character character) {
        character.setInsideZone(L2Character.ZONE_NEW, true);
        if(character instanceof L2PcInstance) {
            L2PcInstance player = (L2PcInstance) character;
            player.sendMessage("Вы вошли в зону!");
        }
    }

    @Override
    protected void onExit(L2Character character) {
        character.setInsideZone(L2Character.ZONE_NEW, false);
        if(character instanceof L2PcInstance) {
            L2PcInstance player = (L2PcInstance) character;
            player.sendMessage("Вы вышли из зоны!");
        }
    }

    @Override
    protected void onDieInside(L2Character character) {
    }

    @Override
    protected void onReviveInside(L2Character character) {
    }
}


Может, я, что - то не правильно делаю!?

Пожалуйста объясните, что не так... Уже измучился.Sad
Ответ
#2
Сборка чья?
Ибо у меня ощущение что вы неправильно реализовали саму зону. Вы где нибудь видите там x/y координаты (у себя)? Вот именно и я тоже, хотя зона является полигональной, что как бы намекает об:

<zone type="TownZone" shape="NPoly" minZ="-3800" maxZ="-3300"><!-- Giran Castle Town -->
<stat name="townId" val="9" />
<stat name="taxById" val="3" />
<node X="77170" Y="147420" />
<node X="79200" Y="147420" />
<node X="79200" Y="144780" />
... тут тоже хрень
</zone>


и увеличьте ваши минимум и максимум координаты, 70 это не разница для клиента.
Ответ
#3
finfan;406444 Написал:и увеличьте ваши минимум и максимум координаты, 70 это не разница для клиента.
Сразу не подумал!
Благадарю! Теперь все работает нормально:
Код:
<!-- NewZone -->
<zone id='22222' type='NewZone' shape='NPoly' minZ='-2295' maxZ='-2019' />
Ответ


Перейти к форуму:


Пользователи, просматривающие эту тему: 2 Гость(ей)