Colisão de ABS Por Evento

5 Respostas   223 Visualizações

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

HammerStrike

  • Veterano
  • *
  • Posts: 333
  • Ouros: 280
  • "Quando vou terminar?quando estiver pronto!"
  • Equipamentos "Manejar espadas está lhe dando calos nas mãos? Uma bela luva pode ser uma boa saída, além de prover um manejo melhor das lâminas." "Um dos melhores trabalhos dos povos das terras da noite é esse metal, que na escuridão mais gelada aquece o corpo que protege." "O norte sempre me surpreende, e este escudo não foi uma exceção. Em uma de minhas viagens lá vi ele, muito bonito e resistente, claro que não poderia deixar de trazer um."
Tópico criado em: 12/10/2017 às 16:34 - Última modificação por Corvo em 14/10/2017 às 11:19

Olá, estou tentando criar um sistema de batalha simples por evento, mas existe um problema. Eu criei as condições tanto para o inimigo quanto para o jogador tomarem o dano, só que as duas ações acontecem ao mesmo tempo (Ataque do jogador e ataque do monstro). Como eu posso fazer um sistema em que se o jogador atacar mais rápido ele não sofrera o dano?

Quem puder me dar uma dica ficaria agradecido.

EDIT: 18:22

Vou aproveitar o post e vou deixar aqui outra duvida. Eu consegui um código para fazer um sistema de game estilo 'beat em up' mas ele está entrando em conflito com o sistema de multi frames (Estou usando 8 frames de animação de char) queria resolver esse problema pra poder criar um game de ação.

Script de Direção Fixa
Spoiler
[close]

Script de Multi Frames do Galv's
Spoiler
[close]
1 Bit Estúdio

Corvo

Resposta 1: 12/10/2017 às 16:39

Se eu entendi bem, o que você quer é o seguinte: quando o jogador ataca mais rapidamente que o inimigo, o ataque que o inimigo estaria preparando/usando é cancelado, certo? Se for este o caso, ligue um switch toda vez que o herói for atacar, lembrando-se de desligá-lo ao final do ataque. Use o mesmo em uma condição no ataque do inimigo para verificar se o jogador atacou primeiro. É possível que cause alguns bugs dependendo das mecânicas de ataque que você criou, principalmente se executadas à distância. Qualquer coisa, poste imagens da programação dos eventos que veremos o que podemos fazer.

HammerStrike

  • Veterano
  • *
  • Posts: 333
  • Ouros: 280
  • "Quando vou terminar?quando estiver pronto!"
  • Equipamentos "Manejar espadas está lhe dando calos nas mãos? Uma bela luva pode ser uma boa saída, além de prover um manejo melhor das lâminas." "Um dos melhores trabalhos dos povos das terras da noite é esse metal, que na escuridão mais gelada aquece o corpo que protege." "O norte sempre me surpreende, e este escudo não foi uma exceção. Em uma de minhas viagens lá vi ele, muito bonito e resistente, claro que não poderia deixar de trazer um."
Resposta 2: 12/10/2017 às 18:21

Se eu entendi bem, o que você quer é o seguinte: quando o jogador ataca mais rapidamente que o inimigo, o ataque que o inimigo estaria preparando/usando é cancelado, certo? Se for este o caso, ligue um switch toda vez que o herói for atacar, lembrando-se de desligá-lo ao final do ataque. Use o mesmo em uma condição no ataque do inimigo para verificar se o jogador atacou primeiro. É possível que cause alguns bugs dependendo das mecânicas de ataque que você criou, principalmente se executadas à distância. Qualquer coisa, poste imagens da programação dos eventos que veremos o que podemos fazer.

Funcionou Corvo, a dica que tu deu foi boa, não está 100% ainda mas da pra jogar.
Vou aproveitar o post e vou deixar aqui outra duvida. Eu consegui um código para fazer um sistema de game estilo 'beat em up' mas ele está entrando em conflito com o sistema de multi frames (Estou usando 8 frames de animação de char) queria resolver esse problema pra poder criar um game de ação.

Script de Direção Fixa
Spoiler
[close]

Script de Multi Frames do Galv's
Spoiler
[close]
1 Bit Estúdio

Corvo

Resposta 3: 12/10/2017 às 18:31 - Última modificação por Corvo em 12/10/2017 às 18:40

Se funciona já é um avanço. Agora, a segunda dúvida se encaixaria em outra área, mas já que estamos aqui vamos lá. Qual erro aparece? (Estou sem o Ace no momento para testar, mas caso queira espere até mais tarde eu baixo ele aqui.) Se é incompatibilidade entre os scripts, eu escolheria o mais essencial de ambos para manter e removeria o outro. Por exemplo: desculpe a sinceridade, mas eu acho esse script de Direção Fixa relativamente inútil. Se você quer que os personagens se movam apenas horizontalmente bastaria bloquear a passabilidade dos tiles e/ou configurar os gráficos para terem apenas duas direções.

HammerStrike

  • Veterano
  • *
  • Posts: 333
  • Ouros: 280
  • "Quando vou terminar?quando estiver pronto!"
  • Equipamentos "Manejar espadas está lhe dando calos nas mãos? Uma bela luva pode ser uma boa saída, além de prover um manejo melhor das lâminas." "Um dos melhores trabalhos dos povos das terras da noite é esse metal, que na escuridão mais gelada aquece o corpo que protege." "O norte sempre me surpreende, e este escudo não foi uma exceção. Em uma de minhas viagens lá vi ele, muito bonito e resistente, claro que não poderia deixar de trazer um."
Resposta 4: 12/10/2017 às 18:42 - Última modificação por Corvo em 12/10/2017 às 18:46

Se funciona já é um avanço. Agora, a segunda dúvida se encaixaria em outra área, mas já que estamos aqui vamos lá. Qual erro aparece? (Estou sem o Ace no momento para testar, mas caso queira espere até mais tarde eu baixo ele aqui.) Se é incompatibilidade entre os scripts, eu escolheria o mais essencial de ambos para manter e removeria o outro. Por exemplo: desculpe a sinceridade, mas eu acho esse script de Direção Fixa relativamente inútil. Se você quer que os personagens se movam apenas horizontalmente bastaria bloquear a passabilidade dos tiles e/ou configurar os gráficos para terem apenas duas direções.

O que acontece é que o script de direção fixa buga o multiframes, ele ao invés de rodar os 8 frames ele fica nos 3 que é o padrão do VX Ace. Eu já deixar os charsets com as imagens como você falou, apenas para os lados mas no game ele n fica certinho, as vezes quando você está virado pra direita e coloca pra cima automaticamente ele se volta pra esquerda por conta de ter mudado o gráfico de virado pra cima pra um gráfico de char de lado. Apenas por isso tava atrás desse sistema de direção fixa. Fico no aguardo Corvo.
1 Bit Estúdio

Corvo

Resposta 5: 12/10/2017 às 19:10

Então, pelo que vi você não vai conseguir fazer os dois scripts funcionarem visto que eles trabalham da mesma forma. Enquanto o de direção fixa trava o gráfico nos primeiros - teoricamente únicos - frames de determinada direção, o outro cria mais e força o gráfico a mudar.

Eu sugiro que esqueça esse script de direção fixa, é uma coisa que tu faz em cinco minutos por eventos ou apenas pela passabilidade mesmo. Ou migre pra outra engine que seja melhor para reproduzir um jogo nesse estilo.