Help with :SetCore()

I am trying to make a server chat message every time someone beats a stage in my game. The problem is even using remoteevents to set the core to all clients, it only shows up to one client.

--Client
function StageFinished(stage, timer)
	game.StarterGui:SetCore("ChatMakeSystemMessage", {
		Text = player.Name.. " beat Stage "..stage.. " in "..timer;
		Font = Enum.Font.SourceSans;
		Color = Color3.new(255,0,0);
		FontSize = Enum.FontSize.Size96;
	})	
end
Time.OnClientEvent:Connect(StageFinished(Stage, numberText))

And here is the server

--Server
Event.OnServerEvent:Connect(Finished, Time:FireAllClients())

Ignore the variables other than the ones firing the clients those are just the logic for firing the event when the stage is beaten. Thanks for the help in advance.

Hello. There are several issues that stand out to me.

  • Connect only accepts one argument, which is a callback function.
  • You are calling FireAllClients with no arguments, so nothing is being sent to the client.
  • No information about Event or Finished on the server is given, and it seems important because that would only be executed when a client calls it. More information about what this does would be useful.
  • This isn’t very important, but it would probably be better to use game:GetService("StarterGui") over game.StarterGui, since it’s better to get used to that since not all services are properly named.

To help clear up the first point, on your client code, swap to this:

Time.OnClientEvent:Connect(function(stage, timer) StageFinished(stage, timer) end)

For your server code, I need more information about Event and Finished