Please note that this is a rather long question and contains multiple scripts.
The following scripts associate a WORKING timer for my Ninja Warrior tournament:
Script 1 (The Timer):
local bool = true
script.Parent.Touched:Connect(function()
if bool == false then return end
bool = false
if script.Parent:FindFirstChild("Humanoid") ~= nil then
for i = 100,0,-1 do
wait(1)
for _,p in pairs(game.Players:GetPlayers()) do
p.PlayerGui.ScreenGui.Timer.Text = i..""
end
if i == 0 then
for _,v in pairs(game.Players:GetPlayers()) do
p.PlayerGui.ScreenGui.Timer.Text = "Failure!"
end
end
end
end
wait(3)
bool = true
end)
Script 2 (Clear Button):
local bool = true
script.Parent.Touched:Connect(function()
if bool == false then return end
bool = false
if game.Workspace["Stage 1 Start Button"].Script.Disabled ~= true then
game.Workspace["Stage 1 Start Button"].Script.Disabled = true
end
for _,p in pairs(game.Players:GetPlayers()) do
p.PlayerGui.ScreenGui.Timer.Text = "Clear!"
end
end)
Before line 8 in Script 2, I want to know how to find a player's username and show it with lines 8 and 9. Any help would be appreciated.

4 comments
if the part is touched, should the player that touched it gets the changed text?
You're not going to be able to manipulate player's PlayerGui in a script
this might work mabye idk
@Vulkarin the script works