Go into Radio Shack and buy this:
Piezo sounder
Then go into a respectable auto parts store and buy a SPDT automotive relay. That's SINGLE POLE DOUBLE THROW! The SPST (the single pole, single throw) like radio shack sells will not work!
Here's the standard base on an automotive relay:
Now take the red (+) from the sounder and connect it to the LPS (lamps) terminal in the fuse box. Take the black (-) from the sounder and connect it to the "87A" terminal of the relay.
Then run a piece of wire from the driver's side door switch wire (the wire that feeds the door jamb switch, should be white in color) and splice into it. The other end of this need run will connect to the relay's #30 terminal.
Connect the relay's #85 to a good metal ground.
Connect the relay's #86 to to a 1 amp fast blow fuse. The other end of the fuse will connect the IGN (Ignition hot) terminal in the fuse box.
Although you can run a wire directly from the #86 to the IGN terminal, I recommend the fuse in-line in case something bad happens with your wiring and you would risk blowing the IGN fuse, thus leaving your car without a working ignition until the fuse box fuse was replaced.
This is how it works;
When the engine is running, the relay will be energized. The normally closed contacts (30 & 87A) will be open so there is no current path allowed. You may open any door with the lights on and the buzzer will NOT sound.
When the engine is off, the relay will not receive power, The normally closed contacts will closed (thus a connection from 87A and 30). IF the lights are on, the (+) side of the sounder will see voltage. If you open any door, a ground is provided by the door jamb switch circuit, this ground path provides the (-) connection to the sounder thru the relay contacts. Turn off the lights and the sounder will silence.
Although the LPS terminal provides a variable voltage (it "dims" with the lamps based on how you turn the headlamp switch), the Radio Shack 273-060A provides a good output even at reduced voltages.
Good luck and have fun.