i've tried to use many forms of making this work, like the very inefficient "drop a part that gives a gui to every player that touches it in said zone and then reset the position" (which never worked), i've been trying to do this for a few hours, yet haven't managed to make it to work, if anyone from here could help me out with getting a way that works (it's a countdown for a race start so it can't be delayed at all), i would be very thankful.
✓ ANSWER ACCEPTED
how can i give a gui to all players in a specific zone?
1 answer
✓ Accepted answer
Hi, you can put a script in the part that the players touched:
script.Parent.Touched:Connect(function(hit)
if hit.Parent:FindFirstChild("Humanoid") then
local screenGUI = game.Players:GetPlayerFromCharacter(hit.Parent)
screenGUI.PlayerGui.ScreenGui.LocalScript.Disabled = false
end
end)
Something like that and you can place a Local script in the ScreenGui in the StarterGui. Then you can use the while loop for the LocalScript to make the frames visible. I can explain more if you need. This woule be easier if you use the "remote event" thingy, but I don't know much about remote event so Hope this help!
This discussion is preserved as it was. New answers, comments, and votes are closed.

2 comments
Put the gui in replicated storage. When a player enters the zone, simply clone it to their PlayerGui
Learn about region3 - https://www.youtube.com/watch?v=kRuSWSe9faY