So I am trying to make an intermission script but for some reason, the countdown doesn't start. This is the server script.
game.Players.PlayerAdded:Connect(function(player)
if Intermission.NewServer.Value == true then
if Intermission.Timer:WaitForChild("LocalScript") then
Intermission.NewServer.Value = false
Intermission.Timer.Value = 30
Intermission.IntermissionStart:FireAllClients()
end
end
end)
And the local script:
game.ReplicatedStorage.Intermission.IntermissionStart.OnClientEvent:Connect(function()
for Timer = 30, 0, -1 do
script.Parent.Timer.Value = script.Parent.Timer.Value - 1
wait(1)
end
end)

2 comments
The FireAllClients function fires the RemoteEvent. OnClientEvent event for each client. ... Instead it will fire to all clients who have the same remote event connected to an OnClientEvent event. Since this function is used to communicate from the server to the client, it will only work when used in a Script .
The clients take longer than the server to load in, consider finding alternative methods or using the perfect solution by @imKirda down below.