Показать сообщение отдельно
Старый 06.03.2013, 12:49   #1
Пользователь
 
Регистрация: 17.12.2010
Сообщений: 37
Сказал Спасибо: 13
Имеет 1 спасибку в 1 сообщении
glukmaker пока неопределено
По умолчанию Обработка пакета MoveToPawn

Играю на L2C4

Хочу сделать програмку с визуальным отображением перемещения персонажей. Вот тут задал несколько вопросов ( http://coderx.ru/showthread.php?p=194348#post194348 ), вроде та часть решилась.

Но теперь возник вопрос о том как обработать пакет MoveToPawn, ибо сервер параллельно с этим пакетом не посылает пакет MoveToLocation

В принципе если таргет неподвижен, то задача решается просто.
Вічисляем координаты в определенный момент времени так же как и в случае MoveToLocation, только координаты конечной точки уже нужно вычислять (искать по массиву объектов, который хранит программа объект таргета, и на прямой от начальный координат перса до координат таргета искать точку отстоящую от таргета на растоянии дистанции.)

Но что делать если таргет перемещается? Тогда координаты конечной точки тоже будут постоянно меняться. А особенно если таргет в свою очередь выполняет MoveToPawn ? Тогда получается вообще нужно будет вычислять все рекурсивным (или псевдорекурсивным способом). Причем получается что в данном случае на точность будет сильно влиять дискретизация по времени. да и в случае кругового таргета (1 персонаж взял в таргет второго и идет к нему, второй третьего, а третий первого) получится бесконечная рекурсия.

Есть варианты как это сделать проще?
glukmaker вне форума   Ответить с цитированием