PlayerMoveEvent - штука удобная, но детктить остановку им можно лишь тогда, когда игрок покрутил головой после остановки. Если мышкой игрок не дёргал - PlayerMoveEvent просто не вызывается после остановки игрока.
Пробовал отследить шедулером, но столкнулся с другой проблемой - периодически то ли сеть зависает, то ли клиент подвисает, в итоге в шедулере позиция игрока остаётся прежней, даже если игрок в этот момент находится в движении.
Для понимания - PlayerMoveEvent как раз вызывается при получении от клиента пакета передвижения, но не чаще одного раза в тик.
Пробовал ещё X и Z вектора движения проверять, но они вообще нулевые, если игрок просто бежит
Пока только одно предположение о реализации - отслеживать получение пакетов с локацией от игрока. Если пакет пришёл, а позиция с предыдущего тика не изменилась - значит игрок остановился
Каким образом можно задетектить остановку игрока?
PlayerMoveEvent - штука удобная, но детктить остановку им можно лишь тогда, когда игрок покрутил головой после остановки. Если мышкой игрок не дёргал - PlayerMoveEvent просто не вызывается после остановки игрока.
Пробовал отследить шедулером, но столкнулся с другой проблемой - периодически то ли сеть зависает, то ли клиент подвисает, в итоге в шедулере позиция игрока остаётся прежней, даже если игрок в этот момент находится в движении.
Для понимания - PlayerMoveEvent как раз вызывается при получении от клиента пакета передвижения, но не чаще одного раза в тик.
Пробовал ещё X и Z вектора движения проверять, но они вообще нулевые, если игрок просто бежит