User blog comment:Florence100 the Sylveon/About my current character project/@comment-3495717-20141021115855

Because playsnd is designed to play every time the trigger parameters are met (time = 1, animelem = 4, etc.), you need a variable to let the engine know when the sound is playing and when it isn't. Basically, the variable defaults to 0, and the playsnd state controller requires for this variable to equal 0, so right below the playsnd, you have a varset state controller that changes the variable to 1, using the same triggers as the playsnd controller (the way MUGEN reads code makes this work). Below that you have another varset that changes the variable back to 0 again.

Using var(10), state 5000 (common1.cns, HITG_SHAKE), and anims 5000 (standing light hit high) and 5010 (standing light hit low) as examples:

So yeah, it plays the hit sound as soon as the character enters state 5000, immediately changes var(10) to 1 to prevent any further hit sounds from playing, then switches the variable back to 0 so the sound can play when he's hit again.

The "CANNOT RELOAD!" text is an explod, right? Just make another one that faces the opposite direction. Use the trigger  for the explod that shows when the player is facing to the right, and use   for the explod that shows when the player is facing to the left. If you need a working example, take a look at all those characters with callouts on them like "FIRST ATTACK!", "DANGER", etc.