Проблема не только в том, что неактивное окно обрабатывает свое местоположение редко, а в том что оно обрабатывает с задержкой.
В прошлый фикс я переделывал чтобы сервер не доверял координатам переданным с окна в режиме следования, а передавал свои расчетные и это сильно помогло.
Основная проблема получается при обходе угла.
Сервер по расчетам завел ведомое окно уже за угол, а в клиенте думает что оно еще до угла, и клиент в этом случае может отказаться принять координаты сервера и настаивать на своих.
Зацеп за другое окно больная тема, кроме л2 я больше нигде не видел такой функции в других онлайн играх.
Также л2 наверно одна из немногих игр где каждый клик мышкой верифицируется сервером и только при положительном ответе происходит перемещение персонажа. Из за этого возникают задержки при некачественном интернете.
В других онлайн играх перемещение происходит сразу же. Сервер просто принимает к сведению местоположение персонажа и шлет новые координаты только в том случае если по его мнению текущая скорость перещения, стены/двери не могли дать персонажу очутиться в данной точке.
|