Maioria do pessoal que conhece o mugen sempre pensa em fazer um Ryu da vida cheio de hadoukens e tal, entao.... vamos explicar como faz um Hadouken feito com helpers  vamos começar pelo CMD, inserindo os comandos dos hadoukens fraco, médio e forte 
 
Quote
[Command] 
 name = "hadouken_x" ;nome do comando 
 command = ~D,DF,F,x ;direção do comando 
 time = 20 ;tempo para dar o golpe, 30 ticks = 1 segundo 
 [Command] 
 name = "hadouken_y" 
 command = ~D,DF,F,y 
 time = 20 
 [Command] 
 name = "hadouken_z" 
 command = ~D,DF,F,z 
 time = 20
   isso é sussegado, vamos partir pra parte legal logo abaixo do [Statedef -1] ainda no CMD 
 
Quote
;-----------| 
 ;Hadouken | 
 ;-----------| 
 [State -1, Hadouken] 
 type = ChangeState ;ChangeState faz ele mudar para o State definido em value 
 value = 1020 ;numero do State que ele vai 
 triggerall = Command = "hadouken_x" ;comando do golpe 
 triggerall = StateType != A ;StateType != A significa que ele nao pode usar esse golpe no ar 
 trigger1 = Ctrl ;isso significa que vc tem controle sobre o seu char 
 [State -1, Hadouken] 
 type = ChangeState 
 value = 1020 
 triggerall = Command = "hadouken_y" 
 triggerall = StateType != A 
 trigger1 = Ctrl 
 [State -1, Hadouken] 
 type = ChangeState 
 value = 1020 
 triggerall = Command = "hadouken_z" 
 triggerall = StateType != A 
 trigger1 = Ctrl
   interessante... temos 3 golpes que vai para o mesmo estado... vamos otimizar isso? 
 
Quote
;-----------| 
 ;Hadouken | 
 ;-----------| 
 [State -1, Hadouken] 
 type = ChangeState 
 value = 1020 
 triggerall = (Command = "hadouken_x" || Command = "hadouken_y" || Command = "hadouken_z") 
 triggerall = StateType != A 
 trigger1 = Ctrl
   veja o comando do golpe aquelas barras || significam ou, || = ou... entao quando vc fizer o comando "hadouken_x" ou o "hadouken_y" ou o "hadouken_z", todos eles vao te levar para o mesmo State com bem menos uso de memória (lembre-se que tem pessoas com computadores fracos) 
 Agora vamos para a parte mais legal e importante de todas, o CNS. 
 
Quote
;-----------| 
 ;Hadouken | 
 ;-----------| 
 [StateDef 1020] ;State que foi indicado no CMD 
 type = S ;seu personagem está em pé 
 movetype = A ;indica que é um ataque 
 physics = S ;fisica aplicado a alguem em pé 
 ctrl = 0 
 velset = 0,0 
 anim = 1020 ;numero da animaçao no AIR 
 poweradd = 50 ;quanto adiciona a sua powerbar 
 [State 1020, Helper] 
 type = Helper 
 trigger1 = AnimElem = 2 ;o hadouken vai ser "disparado" na segunda sprite da animaçao 
 helpertype = Normal 
 stateno = 1025 ;State do hadouken no AIR 
 ID = 1025 ;numero de identificaçao do hadouken 
 name = "Hadouken" 
 postype = p1 
 pos = 84,-55 ;coordenadas x,y da onde vai sair seu hadouken 
 ownpal = 1 ;indica que a animaçao tem uma paleta propria 
 keyctrl = 0 
 [State 1020, ChangeState] 
 type = ChangeState 
 trigger1 = AnimTime = 0 
 value = 0 
 ctrl = 1
   legal... mas meu hadouken nao é isso ai que saiu do personagem!!! calma fi, agora vamos fazer o state do hadouken 
 
Quote
;--------------------| 
 ;Hadouken - Helper | 
 ;--------------------| 
 [Statedef 1025] 
 type = S 
 movetype = A 
 physics = N ;fisica nula, nada é aplicado 
 anim = 1025 ;animaçao que vc indicou no helper 
 ctrl = 0 
 velset = 0,0 
 sprpriority = 6 ;prioridade do sprite 
 ;aqui é onde faz o hadouken se mover 
 [State 1025, VelSet] 
 type = VelSet 
 trigger1 = Time ;ele começa a se mover logo que lançado 
 x = 4 ;velocidade de 4 pixels/tick 
 ;isso aqui faz o hadouken se chocar com outros projeteis 
 [State 1025, HitOverRide] 
 type = HitOverRide 
 trigger1 = Time 
 slot = 1 
 time = 1 
 attr = SCA, NP, SP, HP 
 stateno = 1026 ;essa é a animaçao que seu hadouken vai caso se choque com outro 
 ignorehitpause = 1 
 ;faz parte do código acima 
 [State 1025, NotHitBy] 
 type = NotHitBy 
 trigger1 = Time 
 time = 1 
 value = SCA 
 ignorehitpause = 1 
 ;aqui é quando seu hadouken acerta, todos os atributos dele 
 [State 1025, HitDef] 
 type = HitDef 
 trigger1 = Time = 0 
 attr = S,SA 
 animtype = Light 
 damage = 60 
 getpower = 12 
 givepower = 10 
 guardflag = MA 
 hitflag = MAFD 
 ID = 1025 
 sparkxy = 0,0 
 pausetime = 7,13 
 guard.sparkno = -1 
 ground.type = High 
 ground.slidetime = 20 
 ground.hittime = 20 
 ground.velocity = -3,0 
 air.velocity = -2,0 
 air.animtype = Back 
 [State 1025, ChangeState] 
 type = ChangeState 
 trigger1 = (MoveContact || BackEdgeDist < -45 || FrontEdgeDist < -45) ;seu hadouken explode caso ele acerte o inimigo ou vá pra os confins do universo 
 value = 1026 ;animaçao que vai o seu hadouken caso acerte o inimigo 
 ctrl = 0
   opa, que legal! mas meu hadouken acerta o inimigo e aparece um clone do meu personagem 
 Vamos corrigir isso entao! 
 
Quote
;-----------------| 
 ;Hadouken - Fim | 
 ;-----------------| 
 [Statedef 1026] 
 type = S 
 movetype = A 
 physics = N 
 anim = 1026 
 ctrl = 0 
 sprpriority = 6 
 ;isso faz seu hadouken "congelar" assim que acerta o inimigo 
 [State 1026, PosFreeze] 
 type = PosFreeze 
 trigger1 = Time 
 time = -1 
 ;destroi o hadouken 
 [State 1026, DestroySelf] 
 type = DestroySelf 
 trigger1 = AnimTime = 0
   aeeee agora sim, meu Ryu tem Hadouken \o/ 
 e aqui termina o tutorial de como fazer um hadouken usando helper, tá certo que tá bem básico, mas vc pode adicionar AfterImagem, Explods e muitas outras coisas pra enfeitar o seu Hadouken