Duvida de evento

8 Respostas   409 Visualizações

0 Membros e 1 Visitante estão vendo este tópico.

hategum rpg

Tópico criado em: 22/05/2017 às 19:17 - Última modificação por hategum rpg em 26/05/2017 às 12:49

Eu quero fazer uma mudança de gráfico no npc, tenho o gráfico dele parado e o gráfico quando ele se movimenta.
Mas ai como faz para que ocorra a mudança de gráfico para parado e para se movimentando...
Tipo, o npc se movimenta aleatoriamente (grafico de movimento) ai ele para e entra o grafico dele parado...

semelhante ao que acontece no no script Galv's Character Animations com o personagem jogador, mas quero fazer no evento e não to conseguindo....
Um cara desenvolvendo um jogo de RPG...
"  Faça o melhor que puder em tudo, simples assim."                    
                              - Hategum RPG.

Speed

  • Veterano
  • *
  • Posts: 744
  • Ouros: 407
  • você consegue!
  • Medalhas Participante da 2º Mostra de Arte Steamfórdia
Resposta 1: 22/05/2017 às 19:39

 Oi Hategum rpg
 Pelo que eu entendi, o que você quer é tudo feito com um único charset.
 Por exemplo, temos esse charset padrão do RM VxACE:

 

 Como você pode observar o do meio é sempre a animação parada enquanto os outros são o movimento.
 Você também tem que se certificar que o evento do npc está com a opção "animação de andar" ativada:
 

 Se você não souber juntar os dois gráficos (parado e movimento) manda ai que eu faço.
 Abraços

hategum rpg

Resposta 2: 22/05/2017 às 20:00

Estou usando esse char aqui, quero mudar da primeira pra segunda, quando o evento ficar parado e ao se movimentar



a primeira é parado, a segunda é andando e a terceira é correndo.
Um cara desenvolvendo um jogo de RPG...
"  Faça o melhor que puder em tudo, simples assim."                    
                              - Hategum RPG.

Speed

  • Veterano
  • *
  • Posts: 744
  • Ouros: 407
  • você consegue!
  • Medalhas Participante da 2º Mostra de Arte Steamfórdia
Resposta 3: 22/05/2017 às 20:06

 Use no seu projeto:
 
 

 Espero ter ajudado.  :ok:

hategum rpg

Resposta 4: 22/05/2017 às 20:36


Queria fazer com que o evento ficasse igual ao jogador, acho que tenho esse sistema por aqui, vou dar uma pesquisada porque eu acho que não é a primeira vez que faço esse tipo de coisa...
Um cara desenvolvendo um jogo de RPG...
"  Faça o melhor que puder em tudo, simples assim."                    
                              - Hategum RPG.

Gabriel

Resposta 5: 22/05/2017 às 21:25

Realmente não há nenhum script que faça isso com eventos atualmente. O máximo que tu pode conseguir nesse caso, é usar um script de multi-frames e usar apenas o charset com os 9 frames e deixá-lo sem nenhuma animação quando parado.


Crixus

Resposta 6: 22/05/2017 às 21:31 - Última modificação por Crixus em 22/05/2017 às 21:58

Você tem que aumentar a frequencia do movimento se for pra ficar na mesma velocidade.

AGORA se você quer que o Charset fique dando a sensação de respirando e tenha mais FRAMES na animação quando andar:
Na realidade eu e um cara na Rpg Menace fizemos isso por eventos, claro que foi necessário mais de um gráfico de Charset.

É algo calculado com variavel:
Citar
@//Comentário: COORDENADAS ATUAIS
<>Variavavel:[X-Pos Evento A] = Coordenada X
<>Variavavel:[Y-Pos Evento A] = Coordenada Y
<>condição: Variavel [X-Pos Evento A] == Var[X-Prev Evento A]
    <>Switch:[Evento A - Movendo] = Off
    <>
:Exeção
    <>Switch:[Evento A - Movendo] = On
    <>
:Fim
<>condição: Variavel [Y-Pos Evento A] == Var[Y-Prev Evento A]
    <>Switch:[Evento A - Movendo] Tornar Off
    <>
:Exeção
    <>Switch:[Evento A - Movendo] Tornar On
    <>
:Fim
@//Comentário: ============ ZERAR MOVIMENTO ============
<>condição: Variavel [movimento] > 40
    <>Variavel: [movimento] = 1
    <>
:Fim
@//Comentário: ============ TROCAR DE GRAFICO MOVENDO ============
<>condição: Switch[Evento A - Movendo] = On
    <>condição: Variavel [movimento] => 1
        <>condição: Variavel [movimento] =< 10
                <>TROCAR GRAFICO 1º POSE MOVENDO
                <>
        :Fim
    :Fim
    <>condição: Variavel [movimento] => 11
        <>condição: Variavel [movimento] =< 20
                <>TROCAR GRAFICO 2º POSE MOVENDO
                <>
        :Fim
    :Fim
    <>condição: Variavel [movimento] => 21
        <>condição: Variavel [movimento] =< 30
                <>TROCAR GRAFICO 3º POSE MOVENDO
                <>
        :Fim
    :Fim
    <>condição: Variavel [movimento] => 31
        <>condição: Variavel [movimento] =< 40
                <>TROCAR GRAFICO 4º POSE MOVENDO
                <>
        :Fim
    :Fim
    <>
:Exeção
    <>condição: Variavel [movimento] => 1
        <>condição: Variavel [movimento] =< 10
                <>TROCAR GRAFICO 1º POSE PARADO
                <>
        :Fim
    :Fim
    <>condição: Variavel [movimento] => 11
        <>condição: Variavel [movimento] =< 20
                <>TROCAR GRAFICO 2º POSE PARADO
                <>
        :Fim
    :Fim
    <>condição: Variavel [movimento] => 21
        <>condição: Variavel [movimento] =< 30
                <>TROCAR GRAFICO 3º POSE PARADO
                <>
        :Fim
    :Fim
    <>condição: Variavel [movimento] => 31
        <>condição: Variavel [movimento] =< 40
                <>TROCAR GRAFICO 4º POSE PARADO
                <>
        :Fim
    :Fim
    <>
:Fim
@//Comentário: ============ COORDENADAS ANTIGAS ============
<>Variavavel:[X-Prev Evento A] = Coordenada X
<>Variavavel:[Y-Prev Evento A] = Coordenada Y
<>Variavel:[Movimento] + 1
<>

Isso vai dentro da condição

Driko

Resposta 7: 22/05/2017 às 22:30 - Última modificação por Driko em 22/05/2017 às 22:32

Então, você pode fazer algo simples, tipo:



Está bem cru, da para ser muito bem trabalhado ao seu gosto...
Porém para o última animação que está correndo, terá que usar mesmo um multiframes, mas segue a mesma lógica. Usar o aumento de velocidade, ou uma tecla para o sprite correr.

Crixus

Resposta 8: 22/05/2017 às 22:38

Aee sim [user]Driko[/user], nem imaginava que tinha isso, eu fiz na época do Rm2k/2k3.