Синхронизация позиции между клиентом и сервером
-
Zeno, да от куда же мы знаем.... узнаем что рассинхронизировалось только как % слили
вроде стоишь, а тебя кто-то бьет и ты не можешь понять в чем дело
или наводишь на моба, который рядом стоит, а на самом деле он чуть ли не за пределами экрана, и влетаешь в кучу мобов
или ставишь на себя пневму от ренжевых атака, думаешь все, ты в безопасности, а тут вдруг по тебе дабл или бумер проскакивает
-
Тогда в предложении нет никакого смысла.
-
Zeno, вот мое имхо, если небудет лень и покажут где взять исходники сервера буду разбиратся
! Х
!---------------------------------- --------------
! У Е
! АХ = моб, моб хочет двигатся, выбирается рандом из точек вокруг, выпадает точка У, чтоб к ней попасть надо обойти преграду, сервер считает расстояние перехода с учетом обхода А1, если оно меньше некого К1 моб пошел обходить. На клиенте, получив значения Х и У, рассчитывается расстояние между ними учитывая обход А2, если оно выше некоторого К2 идет обход.
Прикол в том что А1=А2, К1>К2. тоесть клиент решает что моб неможет идти ибо далеко и монстр идет толкьо на сервере, отображения на клиенте нету!Если моб во время своего "фантомного" для клиента перемещения увидит игрока, А, например в точке Е, он начнет атаковать, для игрока моб находится в точке Х и атакует его через стену, а бывает вообще невидно кто атакует. Для моба и сервера все ок, моб на точке Е чар в А....
С персонажами:
чар идет от Х к Т
Х---------------Е------------>Ткогда он находится в Е, в персонажу наносится урон - идет стоп рейт, некоторое время, но оно опять же разное на сервере и клиенте.
Или же в точке Е чар дает команду атаковать(хилить) кого то вне досягаемости сервер проверяет что дейтвие невозможно и останавливает чара в точке Е. Клиент же после проверки и поняв что действие невозможно, продолжает прежнее движение. Итого на клиенте мы в точке Т, на сервере в точке Е.Это все не баги а борьба гравити в пиратками, клиент то ихний и все просчеты ихние, расчеты серверов делались иначе и другими людьми, а соответсвенно различаются.
-
Второго ни разу не видел. Обычно происходит наоборот. На сервере персонаж оказывается в точке Т, в клиенте в точке Е.