esse tutorial é pra fazer um Counter Hit tipo oq tem no SFA3, sei lá se vai ser util pra alguem mas o código tá ai  coloque isso no Statedef -3 
 
Quote
[State -3, VarSet] 
 type = VarSet 
 trigger1 = (EnemyNear,MoveType = A && EnemyNear,HitDefAttr = SCA,NA,SA,HA) 
 var(7) = 2
   Explicando: 
 VarSet vai setar uma var, no caso Var(7), quando o inimigo estiver atacando. O 2 na var (var(7) = 2) vai ser o "contador" enquanto o inimigo está num estado de ataque e tambem é quantos ticks (tempo) vc vai ter pra contra atacar. 
 EnemyNear,MoveType = A vai verificar se o inimigo mais proximo está atacando. 
 EnemyNear,HitDefAttr vai ver se o ataque do inimigo é um ataque fisico, SCA - em pé (S), abaixado ©, aéreo (A), NA - ataque normal, SA - super ataque, HA - hiper ataque. É melhor não colocar pra contra atacar projeteis e throws, pode causar alguns erros dependendo do inimigo (throws) e contra atacar projeteis é meio estranho. :P 
 
Quote
[State -3, VarAdd] 
 type = VarAdd 
 triggerall = Var(7) > 0 
 trigger1 = (EnemyNear,MoveType != A || Win || Lose) 
 var(7) = -1
   Explicando: 
 VarAdd no caso vai diminuir o valor da var (var(7) = -1) até chegar a zero. 
 Var(7) > 0 o VarAdd só vai começar a subtrair se a var ser maior que zero (var(7) > 0). 
 EnemyNear,MoveType != A o VarAdd só vai começar a subtrair se o inimigo não estiver em um estado de ataque. 
 Opcional 
 
Quote
[State -3, EnvColor] 
 type = EnvColor 
 trigger1 = (MoveHit && Var(7) > 0) 
 add = 255,255,255 
 time = 1 
 under = 1 
 ignorehitpause = 1
   Explicando: 
 EnvColor vai fazer a tela piscar 
 MoveHit && Var(7) > 0 vai fazer a tela piscar apenas se vc acertar o inimigo e a var for maior que zero 
 add = 255,255,255 vai fazer piscar a tela na cor branca 
 time = 1 vai fazer piscar a tela por 1 tick 
 under = 1 faz a tela vai piscar atras dos personagens 
 ignorehitpause = 1 vai fazer ignorar o hitpause dos golpes 
 agora no HitDef do seu char faça isso (linhas com negrito, opcional) 
 
Quote
[State 200, HitDef] 
 type = HitDef 
 trigger1 = Time = 0 
 attr = S,NA 
 animtype = Light 
 damage = ifelse(Var(7) > 0,30,20) 
 getpower = ifelse(Var(7) > 0,24,12) 
 givepower = ifelse(Var(7) > 0,0,10) 
 guardflag = MA 
 hitflag = MAFD 
 ID = 200 
 sparkno = S10000+Var(16) 
 sparkxy = 0,-85 
 hitsound = Sifelse(Random%2,1,2),0 
 pausetime = 10,17 
 guard.sparkno = -1 
 ground.type = High 
 ground.slidetime = 20 
 ground.hittime = 20 
 ground.velocity =-3,0 
 air.velocity = -2,0 
 air.animtype = Back
   Explicando: 
 damage = ifelse(Var(7) > 0,30,20), se quando vc acertar o inimigo e a var for maior que zero, vc vai utilizar counter que vai tirar mais vida do inimigo. 
 getpower = ifelse(Var(7) > 0,24,12), vc vai receber mais power quando acertar o counter. 
 givepower = ifelse(Var(7) > 0,0,10) vai fazer o inimigo não receber power quando apanha no counter. 
 o código acaba ai, se alguem tiver sugestões ou achar algum erro no código pode falar