O TEMA DO FÓRUM ESTÁ EM MANUTENÇÃO. FEEDBACKS AQUI: ACESSAR

Como Disparar Projétil ?

Iniciado por HammerStrike, 26/03/2019 às 14:49

Aqui estou eu mais um dia, para tirar mais uma duvida.


Gostaria de fazer meu personagem disparar um projétil que mate inimigo quando acertar, se alguém puder me dar uma dica, agradeço.
Vou deixar alguns charset aqui do meu jogo (São 3 set's):

Hammer Strike

26/03/2019 às 18:31 #1 Última edição: 26/03/2019 às 20:53 por Crixus
Existem inumeras tutoriais sobre isto, mas no caso posso te explicar como fazer, pois você não disse a Engine que está usando.

Você precisará definir as coordenadas do evento projetil e dos eventos inimigos que podem receber dano ou mortos pelo projetil.
Evento Projetil: Pagina 1 (Ativado por Switch "Pode lançar poder")
-Sem gráfico
-Deve estar em processo paralelo:
Citar<>Condição: Tecla - X
    <>Variavel [X-Jogador] = Personagem Coord X
    <>Variavel [Y-Jogador] = Personagem Coord Y
    <>Condição: Personagem - Olhando para Baixo
       <>Variavel [Y-Jogador] + 1
        <>Variavel [Direção do tiro]  = 1
        <>
    :Fim
    <>Condição: Personagem - Olhando para Cima
       <>Variavel [Y-Jogador] - 1
        <>Variavel [Direção do tiro]  = 2
        <>
    :Fim
    <>Condição: Personagem - Olhando para Direita
       <>Variavel [X-Jogador] + 1
        <>Variavel [Direção do tiro]  = 3
        <>
    :Fim
    <>Condição: Personagem - Olhando para Esquerda
       <>Variavel [X-Jogador] - 1
        <>Variavel [Direção do tiro]  = 4
        <>
    :Fim
   <>Teleportar Evento: Este Evento [Var[X-Jogador],Var[Y-Jogador]]
    <>Switch: [lançar energia] - ON
    <>
:FIM da Condição
<>

Evento Projetil: Pagina 2 (Ativado por Switch "Pode lançar poder")
- Com gráfico do projetil em constante animação
- Deve estar em processo paralelo:
Citar<>Comentário: ########## Coordenadas Projetil ##########
<>Variavel [X-Projetil] - Este Evento - Coord X
<>Variavel [Y-Projetil] - Este Evento - Coord Y
<>Condição: Variavel [Direção do tiro] = 1
    <>Mover Evento - Este evento: Andar Passo para baixo (Modo Repetir)
    <>Variavel [Y-Projetil] + 1
    <>
:Fim
<>Condição: Variavel [Direção do tiro] = 2
    <>Mover Evento - Este evento: Andar Passo para Cima (Modo Repetir)
    <>Variavel [Y-Projetil] - 1
    <>
:Fim
<>Condição: Variavel [Direção do tiro] = 3
    <>Mover Evento - Este evento: Andar Passo para Direita (Modo Repetir)
    <>Variavel [X-Projetil] + 1
    <>
:Fim
<>Condição: Variavel [Direção do tiro] = 4
    <>Mover Evento - Este evento: Andar Passo para esquerda (Modo Repetir)
    <>Variavel [X-Projetil] - 1
    <>
:Fim
<>Comentário: ########## Coordenadas Inimigo A ##########
<>Variavel [X-Inimigo_A] - EV Inimigo A - Coord X
<>Variavel [Y-Inimigo_A] - EV Inimigo A - Coord Y
<>Condição: Variavel[X-Projetil] = Variavel[X-Inimigo A]
    <>Condição: Variavel[Y-Projetil] = Variavel[Y-Inimigo A]
        <>---->Evento de dano no inimigo A
        <>Variavel [Direção do tiro]  = 0
        <>Switch: [lançar energia] - OFF
        <>
    :Fim
    <>
:Fim
<>Comentário: ########## Coordenadas Inimigo B ##########
<>Variavel [X-Inimigo_B] - EV Inimigo B - Coord X
<>Variavel [Y-Inimigo_B] - EV Inimigo B - Coord Y
<>Condição: Variavel[X-Projetil] = Variavel[X-Inimigo B]
    <>Condição: Variavel[Y-Projetil] = Variavel[Y-Inimigo B]
        <>---->Evento de dano no inimigo B
        <>Variavel [Direção do tiro]  = 0
        <>Switch: [lançar energia] - OFF
        <>
    :Fim
    <>
:Fim
<>Comentário: ########## Pausa para evitar LAG ##########
<>              : Modifique dependendo da sua versão do Rpg Maker
<>Intervalo:15 fps
<>

Só não lembro como criar uma condição para quando o projetil colidir a paredes venha à desaparecer.

Em todo caso está uma das várias tutoriais deste tipo de sistema:
Rpg Maker 2000:
https://centrorpg.com/index.php?topic=9236.0
https://centrorpg.com/index.php?topic=19704.0

Rpg Maker VXACE:
https://centrorpg.com/index.php?topic=4605.0
https://centrorpg.com/index.php?topic=3567.0

Rpg Maker MV:
https://centrorpg.com/index.php?topic=16124.0

Não achei pra nenhuma outra engine.

Se você estiver usando o VX vai ter que adapatar um destes ou seguir minhas instruções.

Achei esses dois videos no youtube, com sistema de tiro:

Spoiler

Spoiler


26/03/2019 às 21:14 #3 Última edição: 26/03/2019 às 21:31 por HammerStrike
O RPG é o Maker VX Ace, eu já tinha dado uma olhada nesses outros sistema mas sempre achei eles bugados.
Tentei fazer aqui da maneira que você descreveu Crixus, mas quando aperto o botão nada acontece. Onde posso ter errado?



EDIT:

Achei o problema, era que a Condição de apertar o botão estava com Exceção e por isso nada pegava.
Em breve volto pra mostrar como está ficando.
Hammer Strike

Hammer, eu tenho algumas perguntas: :batrick: Como tu quer exatamente que o projétil se comporte? Por exemplo, no RPG Maker, você vê muito a galera fazer com que o projétil se dissipe a medida que ele avança, sendo essa, a forma mais simples, eu diria. Entretendo, também é possível fazer com que o projétil colida apenas se houver algum obstáculo, ou caso este saia do campo de visão do jogador.
Oxe

Só pra constar, nenhuma das condições tem exceção.

Tá andando aos poucos, entretanto, ainda não consegui fazer os inimigos tomar dano, vou dar mais uma olhada.
Aqui meu progresso até agora:


Eu tenho uma outra duvida, é possível criar uma forma mais fácil de configurar os inimigos? Porque pretendo colocar mapas grandes com vários inimigos.

Jorge, se quiser me ajudar eu posso te mandar uma demo do que estou fazendo até agora pra tu dar uma olhada.
Hammer Strike

27/03/2019 às 03:00 #7 Última edição: 27/03/2019 às 03:04 por Crixus
A parte de andar aos poucos é questão de mudar os temporizador que evita LAG e aumentar a velocidade do evento nos parametros da página 2.

Sobre o dano, pela imagem que você postou parecia certo, mas você precisará verificar se não fez algo errado nas condições que usam a variavel "Direção".

Não acredito que possa ser alguma coisa especifica do Rpg Maker VX Ace, se não der amanhã vejo de instalar o VXAce no meu computador e criar o sistema do zero baseado no outro de Rm2k que eu fiz.


https://drive.google.com/open?id=1sD9dL9rKPFdP3wSfzRpH0wyngCwX57sN
Prontinho, ta ai o sistema de disparar projétil. o/
Ele colide com o mapa, com os eventos e também caso saia da tela.
E como tu me pediu, também fiz o sistema de charge e aquele super ataque ali que acerta todos os eventos a frente do jogador.
Se houver algum bug ou qualquer outra alteração que você ache necessária, só falar.
Oxe

SHOW!
Ficou muito bom, obrigado por toda ajuda galera.
Hammer Strike

Eita Jorge_Maker, muito bom.