RMXP - Mudar gráfico do inimigo ao derrotá-lo

6 Respostas   139 Visualizações

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

Ciclope

  • *
  • Posts: 297
  • Ouros: 753
  • Você disse "pipoca"?
  • Medalhas Participante da 2º Mostra de Arte Steamfórdia
Tópico criado em: 29/09/2018 às 01:35

Boa noite.

É possível?

==//==

Basicamente, a ideia seria mudar o gráfico do inimigo ao invés dele desaparecer quando morre na batalha padrão do RPG Maker XP. Digamos que tem um inimigo chamado "Slime", e ao ser derrotado, ele tem seu gráfico alterado para o arquivo na pasta Battlers nomeado "Slime.KO"... seu gráfico só iria desaparecer ao final da batalha.

Alguma boa alma saberia os caminhos pra realização desta façanha? Não manjo de RGSS... Ah, não precisa ocorrer nos heróis... só nos inimigos já tá ótimo =)

Corvo

Resposta 1: 29/09/2018 às 01:56

É, mas isso você pode fazer por eventos. Crie dois inimigos no database, um com cada gráfico. Nas batalhas, deixe o inimigo morto invisível e mostre-o apenas quando o primeiro morrer. Deixando este sem ação, só precisaria verificar se todos os inimigos primários foram mortos para finalizar a batalha. Não resolve?

Ciclope

  • *
  • Posts: 297
  • Ouros: 753
  • Você disse "pipoca"?
  • Medalhas Participante da 2º Mostra de Arte Steamfórdia
Resposta 2: 29/09/2018 às 02:41

Citar
É, mas isso você pode fazer por eventos. Crie dois inimigos no database, um com cada gráfico. Nas batalhas, deixe o inimigo morto invisível e mostre-o apenas quando o primeiro morrer. Deixando este sem ação, só precisaria verificar se todos os inimigos primários foram mortos para finalizar a batalha. Não resolve?

Infelizmente não, pois a aparição - que estaria representando um inimigo morto - continuaria sendo um "Alvo selecionável", podendo receber ataques diretos ou sendo atingido por ataques de alvo múltiplo =S

Corvo

Resposta 3: 29/09/2018 às 02:46

Ah, é. Me esqueci desse detalhe.  :derp:
Mas bem, pode demorar um pouco pra aparecer alguém com esse código. Não encontrei nenhum pronto e o único sujeito que ainda programa pro XP é o Kvothe, mesmo assim só pro Vorum.  :medo:

Ciclope

  • *
  • Posts: 297
  • Ouros: 753
  • Você disse "pipoca"?
  • Medalhas Participante da 2º Mostra de Arte Steamfórdia
Resposta 4: 29/09/2018 às 02:57

Suave...

Por enquanto vou usando o plano B (gambiarra por eventos que quaaaaase resolve ^^)
Vlw pela força =)

Fpr

Resposta 5: 29/09/2018 às 13:50

Na seção "Grupo de Inimigos" dá para configurar a batalha para fazer esse efeito.

Tem uma tela de miniatura com os sprites dos inimigos adicionados ao grupo de inimigos da batalha, se clicar com o botão direito do mouse em um inimigo vai aparecer um menu com duas opções: "Esconder" e "Imortal", deixe "Imortal" selecionado no inimigo que ao ser derrotado mudará de gráficos.

Ainda em "Grupo de Inimigos" na parte inferior, tem uma página de eventos. Coloque como condição HP maior que ou igual a 0% do inimigo que antes deixou imortal, o inimigo não vai morrer e fechar a batalha pois é imortal, daí pode utilizar o momento que o HP dele zera nessa página de eventos do "Grupo de Inimigos".

Depois só colocar os comandos "Transformação Inimiga" 3ª aba dos eventos, para transformar o inimigo para um inimigo do database com o gráfico de morto. Dá para adicionar comando de mensagens ou qualquer outro, e por último o comando "Mudar Status Inimigo" e adicionar o status "Morto" manualmente quando a condição do hp zerar for atendida.

Assim faz a "animação" de morte antes de fechar a batalha.
-

Ciclope

  • *
  • Posts: 297
  • Ouros: 753
  • Você disse "pipoca"?
  • Medalhas Participante da 2º Mostra de Arte Steamfórdia
Resposta 6: 29/09/2018 às 21:28

Sim, seria perfeito para uma animação de inimigo "caindo" e então morrendo. O problema é que eu estou fazendo inimigos com partes, exemplo: um dragão onde estão presentes 3 inimigos: cabeça, patas e cauda.

Ao derrotar a cauda por exemplo, o gráfico mudaria pra mesma cauda mas com marcas de sangue, indicando que aquela parte do inimigo não iria mais atacar. Mas a luta iria continuar, e essa cauda não poderia mais ser um alvo selecionável nos próximos turnos...

==//==

Minha solução é quase o que você comentou: faço um inimigo extra com gráfico de ferimentos em todas as partes, e à sua frente coloco outros inimigos com gráfico das partes sem ferimentos. A cada inimigo derrotado, os ferimentos vão aparecendo e armazenando uma variável que terminará matando o último, que é imortal.

Foda que ele sempre fica sendo um alvo extra na batalha... a solução perfeita seria via Scripts... mas talvez eu faça Battlers com combinações do tipo:
- cabeça morta, patas ok, cauda ok
- cabeça morta, patas mortas, cauda ok
- cabeça ok, patas ok, cauda morta
- etc etc...

=SSS