Remote Event not firing

event only fire sometimes… the event is in replicated storage

while true do
	--if not AllPlayers() then continue end
	BlockGeneration(8)
	for i = intermissionLength, 0, -1 do

		statusText = "PREPARE:"..tostring(i)
		statusUpdate:FireAllClients(statusText, "C") -- there is a print when the client recieves it but that doesnt happen
		task.wait(1)
	end
...
local statusUpdate = ReplicatedStorage:WaitForChild("RoundEvent")

Have you tried using an unreliable remote event?

1 Like

Firing a remote event so many times overloads it with requests, making it quite unreliable since it will not process some requests. I’d rework it to something more efficient. Here’s one way to do it.
Step 1: Create a StringValue called “Status” in RepStorage (create a variable for it in your script if you want)
Step 2: Instead of calling the remote event, do this instead: status.Value = “PREPARE:”..tostring(I)
Step 3: Pick up the change in a local script placed in starterGUI (Place it anywhere in startergui, I will place it in the text label that shows the status

local TextLabel = script.Parent
local status = game.ReplicatedStorage.Status

status.Changed:Connect(function()
   TextLabel.Text = status.Value
end)

EXPLANATION
Creating a string value allows you to store the “PREPARE” string inside it which you can easily access with Status.Value. Placing it in repstorage also allows server and client scripts to access it. When you change the status’s value, the status’s event “Changed” is fired which you can pick up in the local script and then change the textlabel text to string value accordingly.This is much better than remote events as values are not loaded with requests seeing as they are not events and your local script can pickup changes seamlessly

1 Like

whats that?

will try!