I want to make it so when a player touches a part (for example, a portal); I want a GUI to pop-up onto the entire screen to make the screen fade to white or black, and then after a few seconds, it fades and disappears. How do I do this?
Try the Humanoid.Touched
event, and do this all client-side. Ignore touched requests if there is already a GUI animation in progress:
http://wiki.roblox.com/index.php?title=API:Class/Humanoid/Touched
Make GUI visible, use a loop or tween the transparency, and make it disappear.