- 4,045
- 63
- 645
Снова мучаюсь с синхронизацией...
На этот раз тема глобального и локального серверов )))
В общем так: есть у меня параметр на сервере и на клиенте... Они могут отличатся друг от друга...
Мне нужно, чтобы при подключении игрока к серверу, он использовал параметр сервера, а при заходе в локальный мир - параметр игрока...
С сервером я разобрался. В PlayerLoggedInEvent() посылаю пакет и меняю параметр у клиента...
Лажа начинается после выхода с сервера. Если не перезагружая майн сразу же открыть локальный мир, параметр остаётся серверным.
Вот мучаюсь, в какое бы место пихнуть обновление клиентского параметра? Собственно, в этом и заключается вопрос.
Пробовал делать это из PlayerLoggedOutEvent(), но! при этом каждый раз при отключении игрока параметр обновляется и на сервере и на клиенте. Это лишние вычисления.
Если фильтровать по if (event.player.world.isRemote), сервер остаётся в покое, но в локальном мире параметр всё равно остаётся серверным... Предполагаю, что при первом подключении игрока к серверу, обновляется не только локальный клиент, но и локальный сервер (может быть бред сказал)...
В общем, наведите на путь истинный.
Спасибо )
На этот раз тема глобального и локального серверов )))
В общем так: есть у меня параметр на сервере и на клиенте... Они могут отличатся друг от друга...
Мне нужно, чтобы при подключении игрока к серверу, он использовал параметр сервера, а при заходе в локальный мир - параметр игрока...
С сервером я разобрался. В PlayerLoggedInEvent() посылаю пакет и меняю параметр у клиента...
Лажа начинается после выхода с сервера. Если не перезагружая майн сразу же открыть локальный мир, параметр остаётся серверным.
Вот мучаюсь, в какое бы место пихнуть обновление клиентского параметра? Собственно, в этом и заключается вопрос.
Пробовал делать это из PlayerLoggedOutEvent(), но! при этом каждый раз при отключении игрока параметр обновляется и на сервере и на клиенте. Это лишние вычисления.
Если фильтровать по if (event.player.world.isRemote), сервер остаётся в покое, но в локальном мире параметр всё равно остаётся серверным... Предполагаю, что при первом подключении игрока к серверу, обновляется не только локальный клиент, но и локальный сервер (может быть бред сказал)...
В общем, наведите на путь истинный.
Спасибо )