I have a local script in StarterGUI which when the part named 'ShopPart' is touched it makes a frame inside a screenGUI named 'Shop' visible. However for some reason this script does not work. I also want to make sure that only the player who touched the part can see the gui being opened (client side). I've tried testing this in studio and main game however the GUI won't oepn.
game.Workspace.ShopPart.Touched:Connect(function(hit)
if hit then
script.Parent.Shop.Frame.Visible = true
end

5 comments
You can't change PlayerGUI from a server script you dumb idiot.
Actually, you can. I tested this script and it worked fine. It showed up only on my client.
@SilentsReplacement Maybe you should actually try something out before you flat out say it doesn't work ;)
It doesn't, his script is different. don't let your ego out.
@SilentsReplacement hold up buddy. You realize that my way is shorter than what you did AND it functions exactly how he wants it. If we are gonna talk about an ego check, that's you who needs one, my friend