There is actually an evented solution to this. This is the method I've seen suggested for Renpy games, and it works just the same in rpg maker. It means some duplicated text, but it's not too bad as long as you proofread before entering text into the editor.
It looks like three messages in the editor (and in reality, it is), but to the player, it will look like one box where the emotion keeps changing.
You'll need to use some commands to achieve this:
\^ - auto close text box\> - display the rest of the line immediately. You will need this at the beginning of every 'old' line\< - cancel the above effectBasically, the program doesn't wait for player input, moves on to the next line box, changes the emotion, and immediately redisplays the previous text.If you still want a script solution, I can look into writing one. Or if this doesn't make sense to you, just ask and I will attempt to clarify.