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