Местоположение в мире л2

DaVilka

Интересующийся
Местный
#23
Вообще-то CharInfo нужен для отображения других игроков и иллюзорных копий. Для отображения самого себя используется UserInfo.
Да то понятно, я сам их путаю напостой, по этому и указал в первом посте опкод
 

Bloomfield

Свой человек
Местный
#24
Конкретно у меня была похожая проблема и связана она была с координатами мира в L2World (WORLD_X_MIN и им подобные)
 

DaVilka

Интересующийся
Местный
#26
А Скорость бега не передается что ли на прямую через юзеринфо? Беру спид из окна статов, перевожу в байты, ищу в пакете и ничего не нахожу
 

Rozhek

Пляшущий с бубном
Местный
#27
А Скорость бега не передается что ли на прямую через юзеринфо? Беру спид из окна статов, перевожу в байты, ищу в пакете и ничего не нахожу
Там должна передаваться базовая скорость и мультиплаер(множитель, во сколько раз увеличена\уменьшена скорость)
writeD(_runSpd); // базовая
writeD(_walkSpd);
writeD(_swimRunSpd);
writeD(_swimWalkSpd);
writeD(_flyRunSpd);
writeD(_flyWalkSpd);
writeD(_flyRunSpd);
writeD(_flyWalkSpd);
writeF(_moveMultiplier); //множитель
 

DaVilka

Интересующийся
Местный
#28
Там должна передаваться базовая скорость и мультиплаер(множитель, во сколько раз увеличена\уменьшена скорость)
writeD(_runSpd); // базовая
writeD(_walkSpd);
writeD(_swimRunSpd);
writeD(_swimWalkSpd);
writeD(_flyRunSpd);
writeD(_flyWalkSpd);
writeD(_flyRunSpd);
writeD(_flyWalkSpd);
writeF(_moveMultiplier); //множитель
А как измерить скорость перемещения со стороны сервера? Что бы проверить, правильный ли валидейтпозишн?
 

Rozhek

Пляшущий с бубном
Местный
#29
Немного не понял, что ты хочешь сделать.
Если нужна достоверная скорость, то нужно брать базовую с птс сервера и считать эффекты(бафы, бонусы армора и т.д.) которые влияют на базовую. Потом ее и передаешь в userinfo. А validateposition помогает сравнить текущую координату и координаты на сервере, их разница как раз поможет посмотреть на сколько они отличаются. А вообще возьми любой ява сервер и посмотри как происходит расчет позиции в Creature.java MoveNextTask, каждые n милисекунд скорость умножается на время нахождения в движении и получается пройденное расстояние, из него выставляется позиция.
 

DaVilka

Интересующийся
Местный
#30
Немного не понял, что ты хочешь сделать.
Если нужна достоверная скорость, то нужно брать базовую с птс сервера и считать эффекты(бафы, бонусы армора и т.д.) которые влияют на базовую. Потом ее и передаешь в userinfo. А validateposition помогает сравнить текущую координату и координаты на сервере, их разница как раз поможет посмотреть на сколько они отличаются. А вообще возьми любой ява сервер и посмотри как происходит расчет позиции в Creature.java MoveNextTask, каждые n милисекунд скорость умножается на время нахождения в движении и получается пройденное расстояние, из него выставляется позиция.
Да, спасибо, скорость на время то что нужно, школьный материал :D
 
Сверху Снизу