✓ Accepted answer
Your Problem
On line 5, you're setting the Text property of script.Parent. The Text property must always be set as a string. It looks like in your code that you're setting the Text property to ServerAnnouncer - an object, or userdata, rather than actual text.
How To Fix
I'm going to make an assumption that ServerAnnouncer is a StringValue instance. If this is the case, then you just need to index it's Value property(:
Code
local severAnnouncer = game:GetService("ServerScriptService").MAINFRAME["HARD_DRIVE"].ValueStorage.ServerAnnouncer
while wait() do
script.Parent.Text = serverAnnouncer.Value
end
Alternative Suggestion
It looks like you're just trying to auto-update some text according to any changes in a stringvalue, correct? If so then I'm going to suggest using the Changed event to change the text. This event only activates when the value of the specified Value object changes - so it's much more efficient.
local severAnnouncer = game:GetService("ServerScriptService").MAINFRAME["HARD_DRIVE"].ValueStorage.ServerAnnouncer
serverAnnouncer.Changed:connect(function(change)
script.Parent.Text = change
end
2 comments
What is "ServerAnnouncer" exactly? A string value object?
Yeah.