cara, vai ter que criar um novo sff ,cns , sound ,air ,cmd, principalmente na organização de sprites como a identificação pelos números do char1 é um e char 2 é outro ou seja vai ter que fazer um novo char , um trabalhão hehehe
Aqui vai um exemplo de programação para multi-chars... a principio eu tinha uma idéia de colocar o Billy Batson pra lutar tambem e não só Capitão Marvel
![whistling :-"](http://www.infinitymugenteam.com/Forum_345/Smileys/classic/whistling.gif)
Multi char
Introdução
=======
Multi-char, bem pode não ser nomeado assim mas é um personagem que possui mais de uma forma de apresentação (sprites diferentes). Um exemplo seria um MegaMan que possui a forma normal e uma forma com a super armadura. Cada forma possui animações e golpes próprios e tudo é controlado por uma variável que decide qual forma/estado o personagem se encontra. Usei isso no meu personagem MetaGang para fazer com que fosse permitido jogar com até 4 personagens diferentes tounge.gif
Passo 1: Fazendo o Sff e Air
==================
Na hora de fazer o Sff use os sprites principais do jogador com os grupos padrões do mugen, os sprites extras devem ser postos em grupos separados.
É no Air que esta toda a manha, será adicionado uma nova animação para cada animação padrão do mugen.
QUOTE
Ex: Para exemplificar melhor vou usar aki o Air do MetaGang
;Meta-Trident actions
[Begin Action 0];stand <--- Animação padrão 0 = Posição em Pé
Clsn2default: 1
Clsn2[0] = -13,-18,8,-1
0,0, 0,0, 5
0,1, 0,0, 5
[Begin Action 1];stand <--- Nova Animação 1 = Posição em Pé da segunda forma
Clsn2default: 1
Clsn2[0] = -13,-18,8,-1
1,0, 0,0, 5
1,1, 0,0, 5
[Begin Action 2];stand <--- Nova Animação 2 = Posição em Pé da terceira forma
Clsn2default: 1
Clsn2[0] = -13,-18,8,-1
2,0, 0,0, 15
2,1, 0,0, 5
Para cada animação faz-se uma ou varias animações dependendo de quantas formas seu personagem possua.
É de total importancia que o número de sprites das diferentes formas sejam iguais.
QUOTE
Animação em Pé == Action 0 --> Action 1 --> Action 2
Animação andando para frente == Action 20 --> Action 21 --> Action 22
Animação andando para tras == Action 24 --> Action 25 --> Action 26
.
.
.
Você pode usar esse método para os ataques tambem
Passo 2: Editando o Common.cns
======================
Seu personagem deverá ter uma versão própria do common.cns, faça uma cópia do original que está na pasta data para a pasta do seu personagem. Pode renomear se quiser portanto que insira corretamente o nome no arquivo def
QUOTE
Ex:
[Files]
cmd=metag.cmd
cns=meta1.cns
st=meta1.cns
st2=metast1.cns
st3=metast2.cns
st4=metast3.cns
stcommon=metam.cns <--- adicione esta linha (stcommon= *common.cns)
sprite=metag.sff
anim=metag.air
sound=metag.snd
pal1=metag1.act
pal2=metag2.act
pal3=metag3.act
pal4=metag4.act
pal5=metag5.act
pal6=metag6.act
Muita atenção na hora de editar o common pois ele controla todas as animações padrão do seu char.
Será preciso usar uma variavel para controlar o valor da forma atual do seu personagem, quando esse valor for modificado as animações mudaram automaticamente.
Ultilizando o MetaGang como exemplo eu usei a Var(58) para guardar esse valor já que a Var(59) estava reservada para a IA. Modificar o IntPersistIndex ou não vai depender de sua preferencia, se quiser que o char volte ao normal a cada round não altere, caso pretenda que fique transfomado até uma nova ordem sua diminuia o IntPersistIndex para uma valor abaixo da sua variavel Ex:57
Já no Common.cns vai ser preciso adicionar um código para auto-selecionar o número da animação da forma atual de seu personagem.
Os Statedefs básicos possuem esse esquema onde não é relacionado diretamente a animação usada, não existe "Anim = xxx", basta modificar ou criar o state para alterar a animação usada (ChangeAnim).
QUOTE
; Stand
[Statedef 0]
type = S
physics = S
sprpriority = 0
<--- Não informa a animação ...
velset=0,0
[State 0, 1]
type = ChangeAnim <--- State para troca de animação
triggerall=Anim!=0+Var(58)
trigger1 = Anim != 0 && Anim != 5
trigger2 = Anim = 5 && AnimTime = 0 ;Turn anim over
value = 0+Var(58) <--- Lembra do que você fez no Air? é complementado aki tounge.gif
-----------------------------------------------------------------
; Walk
[Statedef 20]
type = S
physics = S
sprpriority = 0
[State 20, 3]
type = ChangeAnim
triggerall=Anim!=20+Var(58)
triggerall = vel x > 0
trigger1 = Anim != 20 && Anim != 5
trigger2 = Anim = 5 && AnimTime = 0
value = 20+Var(58)
[State 20, 4]
type = ChangeAnim
triggerall=Anim!=24+Var(58)
triggerall = vel x < 0
trigger1 = Anim != 21 && Anim != 5
trigger2 = Anim = 5 && AnimTime = 0
value = 24+Var(58)
Para os outros States que direcionam a animação basta acresentar o seguinte código
QUOTE
; SGUARDHIT2 (knocked back)
[Statedef 151]
type = S
movetype= H
physics = S
anim = 150+Var(58) <--- "+Var(58)"
Continue modificando o common com muita atenção
Passo 3: Mudando a Forma!
==================
Aki fica por sua escolha, como seu personagem será transformado, trocado, modernizado... seilá tounge.gif
pode escolher fazer um Statedef para trocar a forma em um super ou para ser ativado depois de atingir certo nivel de energia ou outra necessidade. Isso fica por sua escolha.
QUOTE
Ex:
Usando um comando
Arquivo CMD:
;<TagTeam/Helpers>-------------------------
[State -1];Meta-Trident
type=ChangeState
trigger1=command="Fy" <--- comando para a troca
value=400
Arquivo Cns:
[Statedef 400];Seleciona
statetype=C
physics=S
anim=1
ctrl=0
velset=0,0
[State 400]
type=PlaySnd
trigger1=!Time
value=50,7
[State 400]
type=VarSet
trigger1=Time=1
v=58
value=1 <--------------Var(58) passa para o valor 1 => Animação da segunda forma tounge.gif
[State 400]
type=ChangeState
trigger1=Time=2
ctrl=1
value=0
Vlw aew
ps: o nome do autor Mabs-KMK
![Smiley :)](http://www.infinitymugenteam.com/Forum_345/Smileys/classic/Megaman.gif)
é brazuca
![w00t! :w00t:](http://www.infinitymugenteam.com/Forum_345/Smileys/classic/Metalman_arms_up.gif)