This is the classic example of JavaScript asynchronicity.
All of your "global" events (i.e. anything not subsidiary to another event) is executed once per tick. Your variable 'talk' cannot be 1, 2, and 3 at the same time, but that is how you are telling Construct to interpret it presently.
You need to put those events together using the "Else" statement, otherwise you will continue to get those crazy logical errors. If "Else" doesn't work then you need to put some other condition in there to make your conditions adequately unique as to trigger independently of one another.