Wow... I think most of the problems came from your programing instead of the lighting engine.
1. It started up and switched rooms before the other object could even initialize the lighting engine, this caused the error, AND the problem with drawing no lights.
2. You were calling light_update() in multiple objects per step which caused serious lag and problems with drawing the lights. You only need it called once per step, you don't need to update the lights more than that. ^^
3. The view you put was really weird, (Though I assume that you did that on purpose) which made things look strange, but no biggie.
4. The fact you placed light_init() in a different room adjusted the lighting settings to that room. This is ok if the rooms are the same sizes, but if not that causes problems.
So once I fixed these few things, everything worked smoothly again. Here are some things to remember:
1. Make sure that light_init() is always placed FIRST, before any other object creating lights or changing rooms etc. (It is best just to place it first in the room)
2. Never call light_update() more than once per step. Placing it in other objects in the same room can cause drawing problems and lag.
3. A good rule is to place light_init() at the beginning of each room you want lights, and light_end() at the end of each room. Though this isn't NECESSARY depending on room sizes, and such it could cause problems and lag because it sets the settings of the light for the room it is initialized on and it resets variables to avoid drawing (or attempting to draw) lights created from the previous level.
Hope that helps!
EDIT: For the flickering, instead of putting lt_normal you can put lt_flash. If you don't like that effect then under light_set_light() you can use a random() for the size/alpha or use light_set_on() and use choose(0,1,1) for on or off. I might update some effects later on, but right now I am just trying to make the lighting system work steadily.
EDIT2: @Krisando, I know it is a hassle having to put it at the beginning of each room. Especially if you have the room designed already. If that is the case, try this, open the room editor and find the object with the lowest id number. (If you don't know, the id of the object your mouse is over is displayed in the bottom bar of the room.) hold ctrl+right mouse a menu should appear. At the bottom of the menu there is "Creation Code" click that and inside place the light_init() and it should work. That is one way to avoid having to re-do the entire level.
Edited by Scyler_27, 02 December 2008 - 06:09 PM.