Assuming you've structured your game logic something like this...
Each fighter uses states for different actions and attack moves i.e.:
Fighter.State == STATE_RUNNING, STATE_ATTACKING, etc...
Fighter.AttackType == ATTACK_DASH, ATTACK_PUNCH, ATTACK_KICK, etc...
... you can check the state and determine an attack from that:
// someplace that runs every tick
if (Player.State == STATE_RUNNING)
if (KeyDown(KEY_PUNCH))
Player.State = STATE_ATTACKING;
Player.AttackType = ATTACK_DASH;
// reduce movement speed while doing the dash attack
if (Player.State == STATE_ATTACKING && Player.AttackType == ATTACK_DASH)
if (Player.MoveSpeed > 0)
Player.MoveSpeed = Player.MoveSpeed - 0.5*dt;
else
Player.MoveSpeed = 0;
[/code:x4wjc65s]