How do change all players gui inside a normal script?
How do i change all players playergui using a normal script in the workspace. I wan't to change the text of the textlabel for all players, The location of what i wanna change StarterGui.ScreenGui.TextLabel.Text.
P.S if possible i don't wanna use remote functions. But else something like this. --edited
while true do
local players = -- refers the variable for all players
for i = 1, 30, - 1 do
players.PlayerGui.ScreenGui.Textlabel.Text = i
if i == 0 then
break
end
end
end

7 comments
is that even possible?
Yes, it is.
You should use FireAllClients(). For a timer of only 30 seconds, firing every second wouldn't be that expensive (if you're worried about lag). I'm also confused on why you have a for loop inside a while loop with no wait() in either.
don't worry its just an example its not the script i have, by the way what do you mean by "You should use FireAllClients(). For a timer of only 30 seconds".
do you mean i need do something like this : (line1) for i = 1, 30, - 1 (line2) workspace.event:fireallclients(i) (line3) wait(1) (line4) end
then on the local script is like (line1) workspace.event.OnClientEvent:Connect(function(i) (line2) script.Parent.text = i (line3) end
FireAllClients is basically saying FireClient to every player in the game