RemoteEvents в ReplicatedFirst не запускают обработчики OnClientEvent - PullRequest
0 голосов
/ 01 апреля 2020

Я пытаюсь заставить экран загрузки исчезнуть, когда сервер говорит, что все готово, но прослушиватель событий в LocalScript не запускается, когда я ожидаю этого.

Внутри LocalScript в ReplicatedFirst, у меня есть это:

print("Hello world - Local Script!", tick())
game.ReplicatedFirst.RemoteEvent.OnClientEvent:Connect(function()
    print("ReplicatedFirst event signal received!", tick())
end)

И внутри скрипта в ServerScripts, у меня есть это:

print("Hello world! - Server", tick())
while true do
    print("Firing event from server...", tick())
    game.ReplicatedFirst.RemoteEvent:FireAllClients()
    wait(3.0)
end

И в выводе я получаю это:

  Hello world! - Server 1585699530.2938
  Firing event from server... 1585699530.2945
  Hello world - Local Script! 1585699531.4771
  Firing event from server... 1585699533.3019
  Firing event from server... 1585699536.3193
  Firing event from server... 1585699539.3349
  Firing event from server... 1585699542.3354

После каждой строки «Событие запуска с сервера ...» я ожидал увидеть сообщение «Получен сигнал события ReplicatedFirst! (Отметка времени)».

Документы рекомендуем использовать ReplicatedStorage :

Чтобы сервер и клиенты могли использовать удаленное событие, сам объект RemoteEvent должен находиться в место, где обе стороны могут видеть это. Поэтому мы рекомендуем хранить RemoteEvent внутри ReplicatedStorage, хотя в некоторых случаях целесообразно хранить его в рабочей области или внутри инструмента.

, но я предполагал, что ReplicatedFirst был одним из тех общих мест. Разве это не так? Разве ReplicatedFirst не является общим местоположением? Или я что-то делаю просто неправильно?

1 Ответ

0 голосов
/ 05 апреля 2020

Оказывается, что ReplicatedFirst имеет некоторые странные правила в отношении репликации клиент / сервер. Следует учитывать, что содержимое ReplicatedFirst принадлежит серверу, и когда игрок присоединяется, содержимое копируется в нового игрока.

Но поскольку каждый игрок имеет свою собственную копию содержимого, пытается подключение к RemoteEvents, размещенному в ReplicatedFirst, не вызовет никаких ошибок, но также не приведет к успеху.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...