| OhYeah | Data: Segunda, 06/08/2012, 9:31 AM | Mensagem # 1 |  
 Aprendiz Destaque 
Grupo: Usuários 
Mensagens: 123 
Awards:  0 
Reputação:  2 
Status: Offline 
 
 | Kage Bushin - Jutsu dos Clones 
   Olá pessoal.   Esse tutorial serve mais para o pessoal que é fan de naruto. sei que o pessoal gostaria de saber como se faz para criar clones e tal, já que no anime naruto isso é muito comum. bom, nesse tutorial, irei explicar como criar o jutsu Kage Bushin. 
   Antes de mais nada, não irei só colocar a codificação. gostaria que você aprendesse como fazer. vamos esquecer a função [Ctrl + C depois Ctrl + V]. 
   # Antes de começar o tutorial própriamente dito, irei explicar como criar helpers. temos um state básico criado aqui. agora vamos indicar uma ação para esse state. observe onde está [???] esse será o numero do state, dado por mim como exemplo. é como se fosse um movimento comum já criado, soco ou chute. 
   [Passo 1] 
   [Statedef ???]   type = S   movetype= A   physics = S   juggle = 1   velset = 0,0   anim = ???   ctrl = 0   sprpriority = 2   poweradd = -20 
   [State ???, ?]   type = ChangeState   trigger1 = AnimTime = 0   value = 0   ctrl = 1 
   # agora, vamos determinar um valor para esse state.   vou usar o valor 200 como exemplo e também a animação   usarei o valor 200. 
   [Passo 2] 
   [Statedef 200]   type = S   movetype= A   physics = S   juggle = 1   velset = 0,0   anim = 200   ctrl = 0   sprpriority = 2   poweradd = -20 
   [State 200, 1]   type = ChangeState   trigger1 = AnimTime = 0   value = 0   ctrl = 1 
   # agora, vamos dizer que essa ação 200 tenha 4 frames de sprites.   e você quer que o helper, no caso, o clone, apareça no 3° frame da animação 200.   ficará assim. 
   [Passo 3] 
   [Statedef 200]   type = S   movetype= A   physics = S   juggle = 1   velset = 0,0   anim = 200 <-- indica a animação 200   ctrl = 0   sprpriority = 2   poweradd = -20 
   # o helper entrará nessa parte. para criar um helper é muito simples, observe no FF   no painel, do lado direito, ele já te da estados, basta você indicar valores. 
   [State 200, 1]   type = helper   trigger1 = AnimElem = 3 <-- o helper irá aparecer no 3° frame da animação 200.   name = "clone" <-- nome do helper, mostrado no debug do mugen.   id = 201 <-- Id de remoção do helper.   pos = 0,0 <-- posição do helper na tela.   postype = p1 <-- indica que vai sair do player 1   stateno = 201 <-- estado do helper.   helpertype = normal <-- normal e diferente de player, se você usar player, o helper será como um jogador.   ownpal = 0 
   [State 200, 2]   type = ChangeState   trigger1 = AnimTime = 0   value = 0   ctrl = 1 
   # ok, criamos a chamada do helper, agora iremos cria os states do helper   própriamente dito. observe, que iremos criar o state 201.   esse state será chamado pelo golpe 200 no 3° frame da animação 200.   a ação 201, será a ação do clone parado. 
   [Passo 4] 
   [Statedef 201]   type = S   movetype= A   physics = S   juggle = 1   velset = 0,0   anim = 0 <-- observe que a animação 0 usada é a mesma animação 0 do seu char parado (stand).   ctrl = 0   sprpriority = 2   poweradd = 0 
   [State 201, 1]   type = ChangeState   trigger1 = AnimTime = 0   value = 0   ctrl = 1 
   # até essa parte do tudorial, você já deve ter entendido como criar um helpers.   agora iremos passar para a parte de programação do helper, criando os states   dele andando, batendo e assim por diante. 
   Movimentação dos Clones 
   # observe que paramos no state que indicava a posição do helper   como stand, no caso o helper iria aparecer e ficar na animação 0.   só que eu não quero que o helper apareça e fique parado, he,he.   ok, então vamos fazer o helper andar. 
   [Passo 1] 
   [Statedef 201]   type = S   movetype= A   physics = S   juggle = 1   velset = 0,0   anim = 0   ctrl = 0   sprpriority = 2   poweradd = 0 
   # nessa parte, iremos determinar um state para ele mudar   assim que ele aparecer. no caso ele mudará para o state 202. 
   [State 201, 1]   type = ChangeState   trigger1 = Animtime = 0   value = 202 
   # agora criaremos o state do helper andando.   bom, nesse caso, ele irá seguir o player 2. 
   [Passo 2] 
   [Statedef 202]   type = S   movetype = A   physics = S   anim = 20 <-- observe que a animação 20 é a mesma animação do seu char (andando).   ctrl = 0   velset = 0,0   sprpriority = 3 
   # agora vamos imaginar que a animação do seu char andando seja de 3 frames de sprites.   para fazer o helper andar você fará o seguinte:   iremos usar o comando velset. 
   [State 202, 1]   type = Velset   trigger1 = animelem = 1   trigger2 = animelem = 2   trigger3 = animelem = 3   x = ?? <-- determine o valor da velocidade do eixo x. 
   # observe como o seu char se movimenta.   para poder chegar em um valor exato. 
   # o comanto turn, fará que o helper sempre siga o player 2   mesmo o helper estando com o eixo x maior ou menor que o player 1.   os trigers indicam valores de tempos alternativos. 
   [State 202, 2]   type = turn   triggerall = P2BodyDist X < 0   trigger1 = time =10   trigger2 = time =30   trigger3 = time =50 
   # ok, agora eu não quero que o meu char fique andando infinitamente, he,he.   então vamos criar um state do helper batendo. para finalizar o state 202   faça o seguinte: 
   [State 202, 3]   type = ChangeState   trigger1 = P2BodyDist X < 18 <-- segnifica que, quando o player 2 estiver numa distancia menor que 18   trigger1 = time = 60 <-- e num tempo de 60   value = 203 <-- mudará para o state 203. 
   # sempre deixe 2 states que indique a finalização dos states dos helpers.   se ele estiver em um determinado por e não executar um ação ele sempre   executará outra asão mediante os states indicados por você. 
   [State 202, 4]   type = ChangeState   trigger1 = P2BodyDist X > 18 <-- segnifica que, quando o player 2 estiver numa distancia menor que 18   trigger1 = time = 20 <-- e num tempo de 20   value = 201 <-- mudará para o state 201. 
   # ele seguirá da seguinte maneira, se o helper estiver numa distancia menor que 18 do player 2   ele irá executar o state de ataque, que no caso seria o state 203.   se ele estiver diferente desse valor, ele irá executar o state 201 que no caso é a stand e assim por diante. 
   # agora vamos criar o state 203, esse state será o state em que o helper fará um golpe   tipo um soco ou chute. vamos usar como exemplo a animação 200 do seu char   que em todos os padrões seria um soco. 
   [Passo 3] 
   [Statedef 203]   type = S   movetype = A   physics = S   anim = 200 <-- observe que é a mesma animação do seu char (dando um soco).   ctrl = 0   velset = 4,0   sprpriority = 3 
   # você colocará o mesmo hitdef do state do soco nesse state.   vamos imaginar que o movimento do soco do seu char tenha 5 frames de animação   e que o dano está na animação 3 
   [State 203, 1]   type = HitDef   trigger1 = AnimElem = 3   attr = S, NA   damage = 30, 0   getpower = 0   givepower = 14   animtype = Light   guardflag = MA   hitflag = MAF   priority = 2, Hit   pausetime = 10, 10   sparkno = 0   sparkxy = -10, -20   hitsound = 5, 0   guardsound = 6, 0   ground.type = low   ground.slidetime = 10   ground.hittime = 10   ground.velocity = -4   airguard.velocity = -1.9,-.8   air.velocity = -1.4,-3   air.hittime = 12 
   # para finalizar esse state faça o seguinte:   indique para ele voltar para animação de stand que no caso é a animação 201.   para que assim ele sempre volte a repetir ambos os states. 
   [State 203, 2]   type = ChangeState   trigger1 = Animtime = 0   value = 201 
   # agora, eu gostaria que o helper morrece com um golpe.   tipo para ficar igual no desenho, he,he.   mediante a isso vamos criar um state de morte para o helper. 
   [Passo 4] 
   [Statedef 204]   type = S   movetype = I   physics = S   anim = 204   ctrl = 0   velset = 0,0   sprpriority = 3 
   [State 204, 1]   type = destroyself   trigger1 = time = 45 <-- tempo em que o helper irá sumir. 
   # não esqueça de indicar em todos os states do helper o seguinte:   quando você for colocar o HitOverride observe quantas animações   cada state de seu char terá, se tiver 5 animações, deixe como está no exemplo.   se tiver menas animações, diminue o numero de animelem. 
   [State 0, 1]   type = HitOverride   trigger1 = animelem = 1   trigger2 = animelem = 2   trigger3 = animelem = 3   trigger4 = animelem = 4   trigger5 = animelem = 5   attr = SCA, AA, AP, AT <-- acertos de ataque.   stateno = 204   time = 35 
   [State 0, 2]   type = changestate   triggerall = time >= 35   trigger1 = win   trigger2 = RoundState = 4   value = 204   ctrl = 0 
   # O HitOverride indica que o helper irá passar para o state 204 se ele for acertado mediante as animações indicadas em cada state. já o changestate ele irá passar para o state 204 quando o round terminar no caso trigger1 = win e assim por diante. 
   # observe que eu criei apenas os movimentos do helper: parado (stand), andando (Walking) e dando um soco (Punch) e a parte de morte. mediante esse esquema e você tendo criatividade, você poderá inventar muito mais. 
   Obs : Feito por Traveller
 
 Mensagem editada por OhYeah - Segunda, 06/08/2012, 9:33 AM  |  
|   | 
 |    | 
| biel_kun | Data: Segunda, 06/08/2012, 12:25 PM | Mensagem # 2 |  
| 
 Aprendiz 
Grupo: Usuários 
Mensagens: 36 
Awards:  0 
Reputação:  3 
Status: Offline 
 
 | ótimo tutorial,vlw tava prescisando
 
      Bk-Sasuke  36% ^^(parado no momento por falta de tempo)
 |  
|   | 
 |    |