/--------| Criando um lançamento com Helpers |---------------------------------------------------------- Bom, neste tutorial você ira aprender a criar aqueles lançamentos iguais a um Haduken do Street Fighter, uma magia de Dragon Ball Z, uma Kunai do Naruto, e por ai vai...
OBS: Nas linhas que estiver para ler tópicos, e por este simples motivo: Quando a explicação e muito grande, atrapalha o entendimento, pois tudo fica bagunçado, e com tópicos fica tudo mais organizado
Para que Tudo corra bem neste tutorial, você já deve criar as animações que serão usadas neste Lançamento: 1. Animação para o Personagem lançando a Magia.
2. Animação a Magia.
3. Animação de explosão desta Magia. ( Caso não tenha compreendido, leia o Tópico 1 no final do tutorial a Explicação).
Para iniciarmos o tutorial, abra seu personagem e vá ate o Constantes (CNS).
Crie o statedef do seu personagem lançando a Magia:
Quote
[StateDef 1] ; Numero do StateDef.
type = S ; Leia o Tópico 2 no final do tutorial a Explicação.
Movetype = A ; “A” se for um ataque, “I” Neutro , “H” Estado de hit.
physics = S ; Leia o Tópico 3 no final do tutorial a Explicação.
juggle = 1 ; Leia o Tópico 4 no final do tutorial a Explicação.
velset = 0,0 ; Velocidade que você aplicara em todo o state.
ctrl = 1 ; Coloque 1 para que tenha controle sobre o char, e 0 para que não tenha.
anim = 0 ; Animação do state, que no caso e a animação dele lançado a magia.
poweradd = 0 ; Adicionar Power no state.
sprpriority = 2 ; Leia o Tópico 5 no final do tutorial a Explicação.
Agora adicione o Sub-State do Helper:
Quote
[State 1, Helper] ; Numero do Sub-State.
type = Helper ; Nome do Sub-State. (Não Modifique)
trigger1 = AnimElem = 1 ; Quando Aparecera este Helper.
helpertype = normal ; Tipo do Helper, Normal ou Player. (Neste caso, deixe como Normal)
name = “Magia-Tutorial” ; Nome da sua Magia.(Sempre entre aspas, nunca deixe espaço.)
ID = 2 ; Numero da identificação do seu helper.
stateno = 2 ; Numero do state do seu helper.(Ainda iremos criá-lo)
pos = 0,0 ; Posição que seu helper ira aparecer.
postype = p1 ; Leia o Tópico 6 no final do tutorial a Explicação.
facing = 1 ; Se postype é "left" ou "right", definir facing = 1 faz o "Helper" virar a face para a direita, e -1 para a esquerda.
Agora adicione mais um sub-state, o ChangeState :
Quote
[State 1, end] ; Numero do Sub-State.
type = ChangeState ; Nome do Sub-State. (Não Modifique)
trigger1 = AnimTime = 0 ; Quando o state será trocado.
value = 0 ; Numero do state que o char ira.
ctrl = 1 ; Coloque 1 para que tenha controle sobre o char, e 0 para que não tenha.
Pronto! A Primeira parte de três esta encerrada. Agora seu personagem já esta começando a lançar a sua magia. Agora vem a parte mais legal da programação de uma magia, iremos programar a própria magia.
Crie agora o state que você citou no chamamento do helper, que e o state 2.
Quote
[StateDef 2] ; Numero do StateDef.
type = S ; Leia o Tópico 2 no final do tutorial a Explicação.
Movetype = A ; “A” se for um ataque, “I” Neutro , “H” Estado de hit.
physics = S ; Leia o Tópico 3 no final do tutorial a Explicação.
juggle = 1 ; Leia o Tópico 4 no final do tutorial a Explicação.
velset = 0,0 ; Velocidade que você aplicara em todo o state.
ctrl = 1 ; Coloque 1 para que tenha controle sobre o char, e 0 para que não tenha.
anim = 0 ; Animação do state, que no caso e a animação dele lançado a magia.
poweradd = 0 ; Adicionar Power no state.
sprpriority = 2 ; Leia o Tópico 5 no final do tutorial a Explicação.
Adicione o sub-state responsável pela velocidade desta magia:
[State 2, VelSet] ; Numero do Sub-State.
Quote
type = VelSet ; Nome do Sub-State. (Não Modifique)
trigger1 = 1 ; Quando a velocidade irar ser ativada.
x = 5 ; Velocidade X. Frente ou Traz. (Valor Positivo ira pra frente, valor negativo ira pra trás).
y = 0 ; Velocidade Y. Cima ou Baixo. (Valor Positivo ira pra baixo, valor negativo ira pra cima).
Agora adicione o HitDef, o responsável pelo Hit da magia.
Quote
[State 2, 1]
type = HitDef
trigger1 = AnimElem = 1
attr = S, NA
damage = 0
animtype = Light
guardflag = MA
hitflag = MAF
priority = 3, Hit
pausetime = 10, 10
sparkno = 0
sparkxy = -10, -76
hitsound = 5, 0
guardsound = 6, 0
ground.type = High
ground.slidetime = 5
ground.hittime = 12
ground.velocity = -4
airguard.velocity = -1.9,-.8
air.type = High
air.velocity = -1.4,-3
air.hittime = 12
OBS: Caso alguém queira aprender sobre o HitDef, me envie uma PM, para que eu possa lhe mandar um ótimo tutorial. Não posso postar aqui, pois não e de minha autoria.
Agora vamos criar o efeito de Hit da magia, que a o spark, ou a explosão da magia. Vamos começar adicionando o Sub-state chamado Helper:
Quote
[State 2, Helper] ; Numero do Sub-State.
type = Helper ; Nome do Sub-State. (Não Modifique)
trigger1 = MoveHit
helpertype = normal
name = "Spark-Raduken" ; Nome da sua Magia.(Sempre entre aspas, nunca deixe espaço.)
ID = 3
stateno = 3
pos = 20,-5
postype = p2
facing = -1
Parâmetros do helper explicado no sub-state do helper logo no inicio do tutorial.
Agora vamos fazer nossa magia desaparecer quando ela der o hit no p2.
Adicione o sub-state chamado DestroySelf, Responsável para destruir states de helpers :
Quote
[State 2, DestroySelf] ; Numero do Sub-State.
type = DestroySelf ; Nome do Sub-State. (Não Modifique)
trigger1 = (MoveContact) ||( MoveHit) ; Quando o state será destruído. Quando der Hit, ou enconstar no p2 ira dar a animação de explosão.
Opa, Mas uma etapa de nosso tutorial esta concluída! Agora vem a terceira parte de nosso tutorial, A mais fácil, menor, e mais simples: Criando o state da explosão
Quote
[Statedef 3]
type = S
ctrl = 0
anim = 312
sprpriority = 2
Parametros do statedef foram explicado no inicio do tutorial.
Quote
[State 3, DestroySelf] ; Numero do Sub-State.
type = DestroySelf ; Nome do Sub-State. (Não Modifique)
trigger1 = AnimTime = 0 ; Quando o state será destruído.
/-----| Tópicos | --------------------------------------------
1º Tópico: Animação de explosão da Magia. Bom, você já deve ter percebido, que sempre quando a uma magia, tem uma explosão quando ela e chocada com algo. Neste caso, e desta explosão que estamos falando.
2º Tópico: Statedef [Type] Esse é o tipo de state do P1 naquele state. Ele define se ele está em pé, agachado, no ar, ou caindo. Os valores correspondentes são:
S em pé
C agachado
A no ar
L caindo
Para permanecer com o tipo de state do state anterior, use o valor U. Se essa linha for omitida, o MUGEN assume que o tipo é S. Você vai mais comumente usar S, C, e A.
Por exemplo, um tipo de state agachado requer a seguinte linha:
type = C
O tipo é usado para determinar vários fatores, sendo o mais importante, como o P1 reagirá ao levar um golpe. Por exemplo, estando um tipo de state em pé, o P1 reagirá como se estivesse em pé no chão. Se o tipo for no ar, então o P1 reagirá como se tivesse levado o golpe no ar.
3º Tópico: Statedef [Physics] Você precisa especificar que física usará naquele state. Os valores válidos são:
S em pé
C agachado
A no ar
N nenhum
Para manter a física do state anterior, use o valor U. Se omitido, o valor N será assumido. O tipo de física é usado para determinar como o P1 se comporta.
Para a física S, o P1 tocará o chão.
Para a física C, o P1 tocará o chão, assim como no state S acima.
Para a física A, o P1 acelerará para baixo, e se sua posição-Y for maior que 0 (isso é, ele toca
o chão) ele irá imediatamente para o seu state de aterrissagem.
Se você usar a física N o P1 não usará nenhuma dessas físicas pré-programadas.
Não confunda a física com o state "type". Elas são na maioria das vezes as mesmas, mas é dado a você a escolha se você quiser um maior controle.
Por exemplo, você pode escolher usar N (nenhuma física), e especificar sua própria
aceleração e detecção de aterrissagem em um state no ar.
4º Tópico: Statedef [Juggle] O parâmetro juggle é útil somente para ataques. Ele especifica quantos pontos de juggle o movimento requer. Se omitido para um ataque, esse ataque realizará o juggle se o state de ataque anterior usar o juggle com sucesso. Você deve incluir o parâmetro de juggle em todos os ataques. Se um ataque atravessar mais de um state, inclua o parâmetro juggle somente no primeiro state daquele ataque
.
5º Tópico: Statedef [SprPriority] Muda a prioridade com que as imagens do seu personagem serão desenhadas. Prioridades mais altas são desenhadas sobre as imagens de menor prioridade.
6º Tópico: PosType
Trabalha como o "postype" do controle "Explod". Lembrando que P1 é o seu personagem e P2 é o adversário.
- p1
Interpreta pos relativo à posição de P1. Valores positivos de x está na frente de P1.
Este é o valor padrão para postype.
- p2
Interpreta pos relativo à posição de P2. Valores positivos de x está na frente de P2.
- front
Interpreta a posição relativa à parede a qual P1 está olhando. Valores positivos de x se
aproximam do centro da câmera, e y relativo aos eixos de P1.
- back
Interpreta a posição relativa à parede a qual P1 está de costas. Valores positivos de x
se aproximam do centro da câmera, e y relativo aos eixos de P1.
- left
Interpreta xpos e ypos relativo ao córner superior esquerdo. Valores positivos de x levam
para a direita da tela.
- right
Interpreta xpos e ypos relativo ao córner superior direito.Valores positivos de x levam
para a direita da tela.
----[Finalização]------------------------------------------------ Agora sim está tudo acabado. Seu char jah esta lançando a magia, a magia já tem a explosão. A única coisa que falta e criar o comando, mas isso eu não irei explicar neste tutorial. Caso tenha alguma duvida sobre o tutorial, poste-a no tópico do tutorial.
E isso, boa sorte com suas magias e seus chars, e ate a próxima