Доброго времени суток уважаемые форумчане. Столкнулся с такой проблемой. Раньше в игре персонаж не поворачивался лицом к НПС при диалоге с ним. Проблема была решена добавлением в файл NpcInstance.java в public void onAction следующей строки
player.sendPacket(new MoveToPawn(player, this, NpcInstance.INTERACTION_DISTANCE));
тема эта давно избита так что проблем с этим не возникло, но при всем при том возник один побочный эффект, при начале разговора Персонажа с подвижным НПС персонаж к нему так же поворачивается, когда тот останавливается, и так же поворачивается в его сторону когда тот стоит, то есть до этого момента пакет который посылает сервер работает корректно, но когда НПС начинает движение и находится в таргете у персонажа, то персонаж начинает вертеться за ним, так как пакет MoveToPawn посылает команду поворота за новым положением НПСа, далее когда НПС отходит на расстояние допустимое для начала диалога (INTERACTION_DISTANCE) персонаж начинает следовать за НПС не выполняя при этом никаких действий, то есть залипает и перемещается рывками за НПС без анимации движения(ходьбы или бега).
Вопрос мой заключается в следующем (так как опыта работы в данной сфере мало и всех тонкостей я пока не знаю) как можно остановить действие данного пакета при открытии диалога к примеру. В общем нужно что бы персонаж не прилипал к НПСу и при начале его движения оставался на месте, потому что у меня такое чувство что если этот пакет работает постоянно то и ест он не малый трафик при этом.
Заранее спасибо! Исходники Rebelion если кому-то нужно.
Выглядит описанная проблема примерно так.
ссылка на видео если не работает http://www.youtube.com/watch?v=0K-ebEULW...e=youtu.be
player.sendPacket(new MoveToPawn(player, this, NpcInstance.INTERACTION_DISTANCE));
тема эта давно избита так что проблем с этим не возникло, но при всем при том возник один побочный эффект, при начале разговора Персонажа с подвижным НПС персонаж к нему так же поворачивается, когда тот останавливается, и так же поворачивается в его сторону когда тот стоит, то есть до этого момента пакет который посылает сервер работает корректно, но когда НПС начинает движение и находится в таргете у персонажа, то персонаж начинает вертеться за ним, так как пакет MoveToPawn посылает команду поворота за новым положением НПСа, далее когда НПС отходит на расстояние допустимое для начала диалога (INTERACTION_DISTANCE) персонаж начинает следовать за НПС не выполняя при этом никаких действий, то есть залипает и перемещается рывками за НПС без анимации движения(ходьбы или бега).
Вопрос мой заключается в следующем (так как опыта работы в данной сфере мало и всех тонкостей я пока не знаю) как можно остановить действие данного пакета при открытии диалога к примеру. В общем нужно что бы персонаж не прилипал к НПСу и при начале его движения оставался на месте, потому что у меня такое чувство что если этот пакет работает постоянно то и ест он не малый трафик при этом.
Заранее спасибо! Исходники Rebelion если кому-то нужно.
Выглядит описанная проблема примерно так.
ссылка на видео если не работает http://www.youtube.com/watch?v=0K-ebEULW...e=youtu.be