Simple little script (at least it is now) that will freeze the player for a period of time.
Attach to an entity and name it as follows:
<description>,<delay>,<distance> e.g. "Door to hell,3000,200"
When the player comes within the specified distance of the entity and is looking in its direction the Sound 0 for the entity will be played, a prompt is shown with the description and the player position will be frozen for the specified period (in milliseconds).
Each entity will only trigger once.
I've left in a debug prompt (line 50) for testing purposes, just comment that line out when you are satisfied it is working.
Been there, done that, got all the T-Shirts!