Nehmt für die Lampen z.B. ein Model (Entity: prop_static), setzt dazu passend noch ein Licht (Ent.: light) und gebt diesem Entity einen eindeutigen Namen (hier light_01).

Dann erstellt ihr, am besten in der Größe des Light-Entitys, einen Brush mit der Trigger-Textur und wandelt ihn in ein Entity um (z.b. mit rechtsklick).

Bei den Einstellungen für dieses Brush-Entity wählt ihr für die Klasse "func_breakable", gebt bei "Strength" "1" ein und setzt den Render-Mode auf "Dont Render" (man soll das Brush-Entity ja nicht sehen)

Dann geht ihr auf den Reiter "Outputs" und übernimmt die Einstellung des Bildes.

Zur Erklärung: Das Licht (light_01) geht aus (Turn Off), wenn sich die HealthPoints des Brush-Entitys ändern (OnHealthChanged). Und natürlich soll man die Lampe nur einmal ausschießen können (Fire once only)
Das ganze sieht dann im Spiel so aus:

Und dann Sprach der alte Häuptling der Indianer


Viel Spaß
PS: Ich habe diese Technik nur mit CS:S ausprobiert. In wie fern sich das auf HL2 oder HL2DM anwenden läßt, müßt ihr selbst schauen.