I'm not a scripting expert (quite far from it, actually), but I know this was done in A:TDD; if my memory serves me right, it was done in the cistern level. Open up the map in the level editor and the .hps in notepad++ (or your choice of scripting program). They were pretty awesome and wrote notes about what each of the components did in most of their scripting files, so you should be able to find it fairly easily.
Good luck! :)
Edit: In case you're not familiar with the engine scripts, here's a list of them
http://wiki.frictionalgames.com/hpl2/amn..._functions
What all that stuff means:
ab[insert another word here]: looking for a bool. In script, you would type "true" or "false" without the quotations
string: usually the name of the script, area, entity, lever, light, etc, written in quotations (eg "PointLight_25")
float or af[insert word here]: A numerical value with decimal places. 1.0 is a float, 1 is not