opa, depois do hadouken que venha o shoryuken... aff... :P  dessa vez vou explicar de uma forma bem simples como se faz um shoryuken simples... logo, logo vc já terá um shotokan da vida pronto, só copiando e colando os códigos daqui uauhhuahuahahha :P 
 Começando pelo CMD: 
 Aqui está como é o comando do shoryuken da Sakura: 
 
Quote
[Command] 
 name = "shoryuken_x" 
 command = ~F,D,DF,x 
 time = 20
   Decifrando as linhas: 
 [Command]: indica que vc vai adicionar um comando ao seu personagem 
 name: é aonde vc declara o nome do seu golpe, isso é usado pelo trigger Command. 
 command: é o comando do golpe. Preste muita atenção ao til (~) antes do comando... o ~ indica quando o botão é solto, ~F diz que quando vc soltar a tecla "Frente" o comando começará a ser ativado. 
 time: é quanto tempo, em ticks, vc tem para executar o comando. 
 O código ai embaixo é para ser colocado depois do [statedef -1] do CMD: 
 
Quote
[State -1, Shoryuken Fraco] 
 type = ChangeState 
 value = 1010 
 triggerall = Command = "shoryuken_x" 
 triggerall = StateType != A 
 trigger1 = Ctrl
   Decifrando as linhas: 
  
 [State -1, Shoryuken Fraco]: indica que vc vai declarar um sctrl (state control) no seu personagem. 
 type = ChangeState: ChangeState indica que o personagem vai para outro state quando acontecer o comando. 
 value = 1010: valor do statedef que o personagem vai... esse valor ai tem que estar em um statedef no CNS 
 triggerall = Command = "shoryuken_x": lembram do comando que vc declarou lá em cima? ai está ele... quando vc usar o comando e... 
 triggerall = StateType != A: ... seu personagem não estiver no ar (StateType != A) ele vai usar o golpe, mas antes... 
 trigger1 = Ctrl: ...ele vai checar se vc está controlando o personagem (Ctrl). 
 Oh blz! fiz um comando no CMD! Mas e agora? o que eu coloco no CNS? 
 Segunda Parte - o CNS 
 
Quote
[Statedef 1010] 
 type = S 
 movetype = A 
 physics = S 
 poweradd = ifelse(Var(11) = 1,-60,60) 
 ctrl = 0 
 anim = 1010 
 sprpriority = 4
   Decifrando as linhas: 
 [Statedef 1010]: lembra lá no CMD quando falei pra indicar o statedef no CNS? ai está ele 
 type = S: o tipo da animação, no caso em pé (S)... mas o shoryuken não é no ar? sim, é... mas espera um pouco ai vai :P 
 movetype = A: o tipo do movimento, no caso ataque (A), não preciso explicar muito o pq... 
 physics = S: a física aplicada ao personagem... vamos deixa-la em S (Stand) mesmo.... 
 poweradd = 60: aqui é a quantidade de Power que vai aumentar na sua barra caso vc use o shoryuken 
 ctrl = 0: vc acaba de perder o controle de seu personagem... mas calma, é só por um tempinho :P 
 anim = 1010: a animação do golpe no AIR... sem ela, seu shoryuken vai ser uma imagem parada do seu personagem :P 
 sprpriority = 4: a prioridade das sprites do golpe... um numero alto, pode fazer as sprites do seu personagem aparecer na frente das sprites do inimigo, um numero baixo pode ter o efeito contrario. 
 Essa parte é "sucegada", como diria o lion huahuahuahahhaha mal ae lion, mas tive que fazer essa piada :P 
 Agora vem as principais partes do shoryuken... fazer o personagem subir 
 
Quote
[State 1010, StateTypeSet] 
 type = StateTypeSet 
 trigger1 = AnimElem = 4 
 statetype = A
   Decifrando as linhas: 
 type = StateTypeSet: vai indicar que seu personagem vai ter o StateType, que atualmente está em Stand (S), para outro StateType... 
 trigger1 = AnimElem = 4: aqui vai indicar em que elemento da animação do shoryuken vai ser mudado o StateType... aqui é a parte que mais vária de personagem para personagem e de programador para programador... no lugar de AnimElem, vc pode usar várias coisas como AnimElemTime(), Time, Var() e outros... vou deixar isso para outro tutorial. 
 statetype = A: de Stand, agora o StateType está indo para A (Air) indicando que seu personagem já está no ar. 
 Esses dois statedefs a seguir, vão indicar a velocidade de seu shoryuken... vc pode mudar do jeito que quiser isso, só fique atento para não fazer merda. 
 
Quote
[State 1010, VelSet] 
 type = VelSet 
 trigger1 = AnimElem = 4 
 x = 6 
 y = -6 
 [State 1010, VelAdd] 
 type = VelAdd 
 trigger1 = Time > 15 
 x = 0.23 
 y = .6
   Decifrando as linhas: 
 O primeiro statedef... 
 type = VelSet: vai setar a velocidade do personagem para os valores indicados em x (horizontal) e y (vertical) 
 trigger1 = AnimElem = 4: aqui é em que elemento da animação vai ser aplicado essa velocidade... lembrando que isso varia de personagem para personagem e de criador para criador. 
 x = 6: velocidade x (horizontal) aplicada no 4º elemento da animação, isso é aquele pequena ida para frente que os shoryukens fazem 
 y = -6: velocidade y (vertical) aplicada no 4º elemento da animação, aqui é a altura do shoryuken... quanto mais negativo o valor, mais alto ele vai... tome cuidado. 
 O outro statedef... 
 type = VelAdd: aqui vai indicar quando de velocidade está se aplicando a cada tick do golpe... alem disso, ele pode ser seu "controlador de gravidade", aplicando uma certa física ao seu golpe. 
 trigger1 = Time > 15: aqui indica depois de quanto tempo percorrido da animação vai ser ativado esse statedef... e novamente, isso varia de personagem para personagem e de criador para criador. 
 x = 0.23: aqui será quanto de velocidade x (horizontal) será aplicada a cada tick depois da ativação do trigger. 
 y = 0.6: aqui será quanto de velocidade y (vertical) será aplicada a cada tick depois da ativação do trigger... alem disso, a velocidade y aplicada dessa maneira em um VelAdd ele ser o seu "controlador de gravidade"... 
 Huhuhu meu Ryu voa... mas eu quero que ele fique no chão depois que acabe o golpe :P 
 Isso acontece por falta de um ChangeState adequado para quando ele estiver chegando ao ponto 0 de y... tambem conhecido como chão uhahuahuhahahua aff... :P 
 Para corrigir isso, colocamos o seguinte ChangeState 
 
Quote
[State 1010, ChangeState] 
 type = ChangeState 
 trigger1 = Pos Y >= 1 
 value = 1013 
 ctrl = 0
   Decifrando as linhas: 
 type = ChangeState: o seu personagem vai mudar de statedef quando ele chegar ao chão 
 trigger1 = Pos Y >= 1: indica quando seu personagem vai mudar de state... no caso, quando a posição dele em relação a y for de 1 ou maior que 1 (Pos Y >= 1) 
 value = 1013: é o valor do state que seu personagem está indo 
 ctrl = 0: vc continua sem controle sobre o personagem... fique a vontade de cacetar as suas teclas que não vai adiantar nada uahhuahahhauuha :P 
 Legal! mas agora ele fica travado quando chega ao chão... :P 
 É... agora só falta a parte final! 
 Parte Final - O Último Statedef! 
 
Quote
[Statedef 1013] 
 type = S 
 physics = A 
 ctrl = 0 
 anim = 1013 
 sprpriority = 4
   Decifrando as linhas: 
 [Statedef 1013]: ai está o state definido no ChangeState de quando vc chega ao chão. 
 type = S: ele tem o tipo S (Stand) por vc já ter voltado ao chão 
 physics = A: a física indica que vc ainda está no ar (A), mas não tem problema... 
 ctrl = 0: ainda sem controle sobre o personagem... 
 anim = 1013: ai está a animação no AIR que seria a animação do seu personagem chegando ao chão 
 Os dois states abaixos irão fazer o seguinte: 
 
Quote
[State 1013, PosSet] 
 type = PosSet 
 trigger1 = 1 
 y = 0 
 [State 1013, VelSet] 
 type = VelSet 
 trigger1 = !Time 
 y = 0
   Decifrando as linhas: 
 O primeiro state... 
 type = PosSet: se por algum problema seu personagem passe um pouco do ponto de mudar de state e fique uns pixels abaixo do normal, isso vai fixar a posição dele 
 trigger1 = !Time: indica que vai ser ativado assim que começar o statedef... !Time tambem é conhecido como Time = 0... 
 y = 0: vai ajustar a sua posição y (vertical) a 0 
 O segundo state... 
 type = VelSet: aqui o VelSet vai ser usado para zerar a velocidade que ainda está vindo do shoryuken 
 trigger1 = !Time: indica que vai ser ativado assim que começar o statedef... !Time tambem é conhecido como Time = 0... 
 y = 0: isso zerou sua velocidade y 
 Agora sim, o Grand Finalle uhahuahuahhah o ultimo ChangeState :P 
 
Quote
[State 1013, ChangeState] 
 type = ChangeState 
 trigger1 = AnimTime = 0 
 value = 0 
 ctrl = 1
   Decifrando as linhas: 
 type = ChangeState: muda de statedef... acho que vc já viu isso antes :P 
 trigger1 = AnimTime = 0: vai mudar de state só quando a animação chegar ao fim (AnimTime = 0)... aqui tambem varia de criador para criador e tal... 
 value = 0: no caso, a Sakura está voltando para a Stand depois de terminar todo o shoryuken 
 ctrl = 1: finalmente vc voltou a ter controle sobre seu personagem 
 Aeeeeeeeeee agora meu Ryu tem um soco, um hadouken e um shoryuken \o/ 
 isso ae, o tutorial termina ai... só lembrando que esse é um dos jeitos de se fazer um shoryuken 
 qualquer dúvida, sugestão, critica, correção e tal, por favor poste ai 
 valeu! 
 Obs: ai no código não coloquei o HitDef.