I have a hole in the ground, with a "lid" covering it. I made it a func_door, with an angle of 90 (doesnt really matter for the angle). I also cranked the speed up to around 800 so there wasn't any chance of escaping it. Lastly made it automatic so it would open whenever they walked by it.
Only prob was if you happen to walk right next to it, it opens even though you arent actually on top of it. This could be solved (im guessing) by having a trigger over top of the trap door that activates it. This way it will only open if they are actually on the door itself.
Dunno how to do that trigger/door combo