actually the best way is to create a really complex situation which i will explain
1. create the lamp
2. make it a func_breakable
3. go to "target on break"
4. call it "god i suck at this"
5. create a func_train and path corners
6. path corners should stop when all the func_train comes near the lamp
7. the func train must be small
8. trigger the train and the name is "god i suck at this"
9. set the speed or something to like REALLY FAST
10. when broken, it triggers the small trains which suddenly block the lamp and blocks the light:)