Hi pirulitao,
I think I see what the problem is. So a lot of events are checked every tick, or every 1/60 of a second. This includes your first two events: 1. Is the mouse over the door? and 2. Is the mouse not over the door? Basically, every sixtieth of a second, the computer is looking for where the mouse is.
Now compare that to your "Click on the door" event: it is a triggered event. Notice the green arrow next to the event that the "mouse hover" events lack. This means that it is looking for the click, and only then will that event fire. Once it does, it's done until the next mouse click.
Finally, rethink about how events are thought of: every sixtieth of a second, the events sheet goes down the list, top to bottom, checking each event and then making an action if any event is true.
So! The instant you click on "Open Door," the three events in question fire in their order: Is the mouse hovering over the door? Then, is the mouse not hovering over the door? (One of those will always be true while the other is false) Then, did the mouse click "Open Door?" True! Set the animation to Door2 (the open door animation). This is good!
NOW, the next tick (1/60 of a second later), the sheet cycles through the events again: Is the mouse hovering over the door? Then, is the mouse not hovering over the door? Note that one of those will always be true! So one of those events will trigger, and the door animation will flip to either closed or highlighted. Then, did the mouse click "Open Door" this tick? It didn't! It did last tick, but not this one, so that doesn't fire.
Hopefully this makes sense: with your current code, you get the desired open door for 1/60 of a second before it resets itself.
To fix it, I think you should add a global variable! Name it something like "doorOpen," keep it as a number, and then when you are checking the mouse hover (your first and second events), also check if doorOpen is 0. When the mouse clicks on "Open Door," set the animation like you have, but then also set the variable doorOpen to 1. Finally, add another two actions to that event: first, Wait 1.0 seconds, and then set the variable doorOpen to 0. Both the set global variable and Wait actions are in System. All in all, this should set the door to Door2 animation for 1 second, and then close it again.
Hope this helps! Let me know if you have any more questions.