Code:
while (event_type != event_release) {wait (1);}
my.ambient = 0;
This is very dangerous code. It is not guaranteed to be executed at all. As a general rule you should never place any waits in event functions. Better write
 Code:
if (event_type == event_release) {
my.ambient = 0;
}


Additionally you should change "(!own_unit == 1)" to "(own_unit != 1)" or "(!(own_unit == 1))". Does this solve your problem?



Always learn from history, to be sure you make the same mistakes again...