Inserted in a serverscript inside the brick
script.Parent.Touched:connect(function(Hit)
local H = Hit.Parent:FindFirstChild("Humanoid")
if H then
local Player = game.Players:GetPlayerFromCharacter(Hit.Parent)
Player.PlayerGui.guiMain.frmBackground.Visible = true
Player.PlayerGui.guiMain.frmPrelims.Visible = true
Player.PlayerGui.guiMain.frmStep3.Visible = true
end
end)
(I got this from the forums 4 years ago)

5 comments
If the gui's are from startergui they will only exist on the client. Check the errors in output for more info. I suggest you use a localscript to edit any guis
I tried a localscript aswell, it didn't show any errors but also didn't work.
If there are no errors then it's either working (but not as intended) or not running. Try printing something on line 1 to see if it is. If it's not running it's either disabled or misplaced, check the wiki articles on script types to see where they can run.
Local script wont work because localscripts dot run is they are in the workspace and serverscripts cant access playergui, you have to use remoteEvents
Alright, thanks