Status GUI problem

Hi guys, small problem here but my status gui isn’t updating to what I want it to be. It’s supposed to say Intermission but nothing comes up. I have a string value in replicated storage called Status and a local script within the status GUI but I don’t know what’s the error in this piece of code.

local Status = game:GetService(“ReplicatedStorage”):WaitForChild(“Status”)

script.Parent.Text = Status.Value

Status:GetPropertyChangedSignal(“Value”):Connect(function()

script.Parent.Text = Status.Value

end)
image

1 Like

Is the status value constantly updating?

No not constantly but obviously it will change during the course of the round (things like Get ready to play, round over etc)

Are you sure that the Status string value was really changed?

Have you enabled Visible on the TextLabel?

Will you show us the code how the Status value is being updated?

image

just been using Status.Value to update, it there something im doing wrong?

Yes, it is visible so I’m confused what the problem could be

wait is this a string where the name of the map is the value of the string?

It might be because the server script updated Status.Value before the local script could load. In that case you should set the text to Status.Value initially

I recommend doing some steps of debugging.

  1. First check if the value of the string value is changing on client.
  2. Check if it’s becausing of putting the gui in startergui. I do recommend putting guis in replicatedstorage but never in startergui, as it causes many problems.

And tell us the behaviours.

Also, please consider to use remote events from server to client with the new status as a param, but not changing a value object’s value.

Value just stays like this when someone is in the game and putting the gui in replicated storage didn’t fix it. Is there anything I should edit in my code I provided or is it just a small thing im not understanding.
image

So values changed by servers, are not replicated to client. Try sending remoteevents instead, throw away the stringvalue and replace with a StatusChanged RemoteEvent.

local Status = game:GetService(“ReplicatedStorage”):WaitForChild(“Status”)

script.Parent.Text = Status.Value

Status.Changed:Connect(function()
   script.Parent.Text = Status.Value
end)

try this instead, for a string value you don’t need to check property change because you can use .Changed instead

1 Like