First off, go and read snYpir's Friendly Intro to Code Snippets and also Johan Gustafsson's Scripting Tutorial. This is now the accepted way of getting started in scripting.
Now, the init field of a unit is the appropriate place for a command that you want that unit to execute at the very start of the mission. If you're talking about something that you want to happen, say one second into the mission or later, then the init field is unlikely to be the best place for the command.
In the case of a building being destroyed what you need is a trigger. (The editing tutorial which comes with the game calls them sensors, which is an equally good name: they "sense" when something has occurred and, in general "trigger" a conseqence.)
Next, if you have a rough idea of what commands might be involved always look up both the online version of the official command reference and also the old unofficial command ref. Both have helpful comments (sometimes) that help you to understand how a command works and what it does. If you're not sure whether something will work, well, hey, try it, what have you got to lose. More than likely you will get an error message which, if you read carefully, will point you in the right direction.
Now, what you're trying to do here is pretty big. Switch off all the streetlights? Well lets start small and switch off one streetlight. Create a trigger:-
Condition: object 1234 getdammage >= 0.9
On Activation: object 1234 setdammage 1; object 9876 switchlight "off"
I have no idea whether that will work or not, for a start you'll need to check the syntax of the individual commands. (object, switchlight, getdammage, setdammage) To get the numbers of the buildings zoom into the Mission Editor Map really close and click on Show IDs.
The command alive is better suited to use with AI units than inanimate objects, although you're right, you could have this in the condition line:-
not (alive object 1234)
Oh, and
Welcome to the forum!