{RMVX/RMVXA} Arma de Fogo
2 participantes
Página 1 de 1
{RMVX/RMVXA} Arma de Fogo
Arma de Fogo
by pkmnfan7 - Here For Nothing
Introdução
Eu queria fazer um jogo de tiroteio. Então pensei: "Qual é o primeiro passo?". A resposta que eu me dei foi: "Acho que o sistema de tiros...". Então, aqui está ele! Arma de fogo operável pelo personagem!
OBS: Fiz uma pequena confusão no tutorial. Na condição "impossível mover" você deve inverter a condição, pôr na exceção o que está dentro dela e pôr dentro dela o que está na exceção. Desculpa aí, foi a pressa!
Utilidade
Não precisa ser necessariamente um jogo de tiroteio. Se você simplesmente quiser fazer um jogo em que hajam armas de fogo para o personagem, você pode usar esse sistema... É simples (eu acho) e fácil de alterar. Além disso, você pode fazer armas diferentes para o mesmo ou outro personagem ou... Você decide! Mas, no exemplo, vou fazer apenas duas armas: Revolver e Bazuca!
Requer:
Instruções
Simples para alguns, complicado para outros e impossível para vários (noobs, só se for). O primeiro passo eu acho que é criar um projeto de teste, e se der certo, importar para o seu jogo. Vamos lá, então! Crie um novo mapa do jeito que quiser e coloque um evento que lhe entregue a arma e a munição. Mas, antes de programá-lo, vá até o Banco de Dados e crie uma nova arma, usando as especificações que quiser. Depois, crie um novo item que seja a munição. Por fim, programe o tal evento. Faça com que ele lhe dê uma daquela arma e um tanto de munição. Então ele vai dizer "Lhe dou permissão para o uso inadequado dessa arma!". Ao receber a permissão, ative um Switch chamado "Permissão de Tiroteio". Fica mais ou menos assim:
Beleza até aí. Mas agora é que vem a mágica (pelo menos o começo dela)! Crie um novo evento comum. Nele, antes de tudo, coloque "Processo Paralelo" ativado pelo switch "Permissão de Tiroteio". Vou nomear esse evento comum como "Tiroteio".
Vamos começar a programar! EêEêEêE! Crie uma nova variável com o nome de "ID do Mapa" e, como primeiro comando, coloque nessa variável - substituir por ID do mapa. Você deve entender um pouco disso e saber o que é e como checar a ID do mapa. Caso contrário, jamais terminará esse sistema!
Crie uma condição vendo se o valor da variável "ID do Mapa" é igual a 1, por exemplo (essa é a ID do mapa que estou usando agora). Se for, faça mais variáveis dizendo a Coordenada X e a Coordenada Y de cada evento do mapa que se movimente ao ser atingido por um tiro (isso requer alguns conhecimentos que não estou disposto a explicar agora). Antes de continuar, vamos ver uma imagem de como está ficando:
Vamos ao tiro agora. Crie uma condição (ainda dentro da outra) verificando se o jogador apertou a tecla Y (que no teclado é o famoso S). Não será necessário uma exceção aqui. Dentro coloque uma condição se * arma está equipada. Na exceção coloque o segundo tipo de arma e na próxima exceção a outra arma e assim por diante, até chegar um momento em que não hajam mais armas possíveis, ali coloca-se uma mensagem dizendo "Você não tem nenhuma arma de fogo equipada!". O próximo passo é, fora das exceções e dentro da condição da primeira arma, fazer outra condição checando a munição, e depois colocar posição de evento "Bala" (que ainda não foi criado) no mesmo lugar que o personagem usando mais duas variáveis de Coordenada X do Personagem e Coordenada Y do Personagem. Mas, antes, devemos colocar o evento "Bala" no mapa, certo?! Então crie um evento assim (o micrográfico eu que fiz, é o gráfico da bala):
[IMAGEM BUGOU]
Ótimo. Vamos seguir em frente! Abra outra vez o Evento Comum "Tiroteio", que deverá estar mais ou menos assim:
Com a bala já sobre o personagem, vamos usar mais quatro condições (!). Crie as três primeiras com exceções e a última sem, sendo uma dentro da exceção da outra. Cada uma deve ver a direção do personagem (se for esquerda, se for abaixo, se for...). Dentro de uma delas, crie um movimento para a direção que o personagem está virado, movendo a bala. Depois coloque uma condição: Impossível Mover. Se for possível, crie uma label que volte ao movimento inicial. Isso ficou um pouco confuso; o que eu quero dizer é isso:
O próximo passo é fazer o que acontece se o movimento for impossível (a bala bater em algo) e depois copiar para todas as outras 3 direções, alterando os movimentos e os nomes das labels (puts, é bem demorado!).
Mas, antes de copiar tudo três vezes, vamos fazer o que acontece quando é impossível mover (bateu em algo), certo?! Coloque o Switch "Atirou Bala 1" ativar logo após o reposicionamento dela sobre o personagem. Isso fará com que ela fique visível. Agora, na condição, quando for impossível mover, coloque na variável de coor. X ou Y dela + ou - 1 (depende da direção: Abaixo=Y+1, Esquerda=X-1, Direita=X+1 e Acima=Y-1). Após isso, coloque para reproduzir uma animação no lugar da bala (lembre que a animação deve ser pequena, com magnitude entre 30 e 50) e depois de um tempo (depende do comprimento da animação), desativar o switch "Atirou Bala 1". Agora devemos checar se as variáveis de Coor. X e Y da bala são exatamente iguais a de algum dos objetos que listamos anteriormente. Se for, você deve ativar o switch ou o que for que fará aquele objeto se alterar. Normalmente, uso switchs para isso. Veja como ficou o meu mirado para baixo:
OBS: Apesar de eu ter listado uma pedra também, ela só terá efeito com a bazuca, então eu não adicionei ela aqui no revolver.
Bem, continuando... Copie TUDO isso para as outras direções, apenas alterando as direções. Quando estiver pronto, você terá que refazer todo o processo para as outras armas, apenas mudando os efeitos e as animações conforme você quiser. Por fim, você terá que refazer todo o processo desde o começo quando a ID do Mapa for diferente - o que fará com que tudo seja diferente. Good Luck!
Para completar e terminar de vez, já tendo tudo feito, você pode adicionar gráficos novos e blablabla... Depende da sua criatividade.!
Conclusão
É, chegamos ao fim, amigos! Agora já podemos testar e ver o sistema funcionando! ^^ Além do mais, deixei sem sons, mas a liberdade é sua! ^^
OBS: A bala para na água como se fosse um obstáculo; não consegui arrumar.
OBS²: Nas duas últimas imagens na condição "NEW Coor.Y = NEW Coor.Y" Troque o primeiro "NEW Coor.Y" por "Coor.Y Bala". Sorry!
OBS³: Tenho quase certeza que você vai querer baixar a DEMO: Link Aqui!
by pkmnfan7 - Here For Nothing
Introdução
Eu queria fazer um jogo de tiroteio. Então pensei: "Qual é o primeiro passo?". A resposta que eu me dei foi: "Acho que o sistema de tiros...". Então, aqui está ele! Arma de fogo operável pelo personagem!
OBS: Fiz uma pequena confusão no tutorial. Na condição "impossível mover" você deve inverter a condição, pôr na exceção o que está dentro dela e pôr dentro dela o que está na exceção. Desculpa aí, foi a pressa!
Utilidade
Não precisa ser necessariamente um jogo de tiroteio. Se você simplesmente quiser fazer um jogo em que hajam armas de fogo para o personagem, você pode usar esse sistema... É simples (eu acho) e fácil de alterar. Além disso, você pode fazer armas diferentes para o mesmo ou outro personagem ou... Você decide! Mas, no exemplo, vou fazer apenas duas armas: Revolver e Bazuca!
Requer:
- RPG Maker VX instalado e funcionando (não brinca!)
- 8 variáveis + 2 para cada evento que se alterará ao ser atingido por um tiro
- 1 Evento Comum livre
- 2 ou mais Switchs livres + 1 por tipo de arma
- Um evento por mapa por tipo de arma
- Chars das balas (gráficos)
- Animações das balas em choque
- Saber fazer uma Condição: Impossível Mover
Instruções
Simples para alguns, complicado para outros e impossível para vários (noobs, só se for). O primeiro passo eu acho que é criar um projeto de teste, e se der certo, importar para o seu jogo. Vamos lá, então! Crie um novo mapa do jeito que quiser e coloque um evento que lhe entregue a arma e a munição. Mas, antes de programá-lo, vá até o Banco de Dados e crie uma nova arma, usando as especificações que quiser. Depois, crie um novo item que seja a munição. Por fim, programe o tal evento. Faça com que ele lhe dê uma daquela arma e um tanto de munição. Então ele vai dizer "Lhe dou permissão para o uso inadequado dessa arma!". Ao receber a permissão, ative um Switch chamado "Permissão de Tiroteio". Fica mais ou menos assim:
Beleza até aí. Mas agora é que vem a mágica (pelo menos o começo dela)! Crie um novo evento comum. Nele, antes de tudo, coloque "Processo Paralelo" ativado pelo switch "Permissão de Tiroteio". Vou nomear esse evento comum como "Tiroteio".
Vamos começar a programar! EêEêEêE! Crie uma nova variável com o nome de "ID do Mapa" e, como primeiro comando, coloque nessa variável - substituir por ID do mapa. Você deve entender um pouco disso e saber o que é e como checar a ID do mapa. Caso contrário, jamais terminará esse sistema!
Crie uma condição vendo se o valor da variável "ID do Mapa" é igual a 1, por exemplo (essa é a ID do mapa que estou usando agora). Se for, faça mais variáveis dizendo a Coordenada X e a Coordenada Y de cada evento do mapa que se movimente ao ser atingido por um tiro (isso requer alguns conhecimentos que não estou disposto a explicar agora). Antes de continuar, vamos ver uma imagem de como está ficando:
Vamos ao tiro agora. Crie uma condição (ainda dentro da outra) verificando se o jogador apertou a tecla Y (que no teclado é o famoso S). Não será necessário uma exceção aqui. Dentro coloque uma condição se * arma está equipada. Na exceção coloque o segundo tipo de arma e na próxima exceção a outra arma e assim por diante, até chegar um momento em que não hajam mais armas possíveis, ali coloca-se uma mensagem dizendo "Você não tem nenhuma arma de fogo equipada!". O próximo passo é, fora das exceções e dentro da condição da primeira arma, fazer outra condição checando a munição, e depois colocar posição de evento "Bala" (que ainda não foi criado) no mesmo lugar que o personagem usando mais duas variáveis de Coordenada X do Personagem e Coordenada Y do Personagem. Mas, antes, devemos colocar o evento "Bala" no mapa, certo?! Então crie um evento assim (o micrográfico eu que fiz, é o gráfico da bala):
[IMAGEM BUGOU]
Ótimo. Vamos seguir em frente! Abra outra vez o Evento Comum "Tiroteio", que deverá estar mais ou menos assim:
Com a bala já sobre o personagem, vamos usar mais quatro condições (!). Crie as três primeiras com exceções e a última sem, sendo uma dentro da exceção da outra. Cada uma deve ver a direção do personagem (se for esquerda, se for abaixo, se for...). Dentro de uma delas, crie um movimento para a direção que o personagem está virado, movendo a bala. Depois coloque uma condição: Impossível Mover. Se for possível, crie uma label que volte ao movimento inicial. Isso ficou um pouco confuso; o que eu quero dizer é isso:
O próximo passo é fazer o que acontece se o movimento for impossível (a bala bater em algo) e depois copiar para todas as outras 3 direções, alterando os movimentos e os nomes das labels (puts, é bem demorado!).
Mas, antes de copiar tudo três vezes, vamos fazer o que acontece quando é impossível mover (bateu em algo), certo?! Coloque o Switch "Atirou Bala 1" ativar logo após o reposicionamento dela sobre o personagem. Isso fará com que ela fique visível. Agora, na condição, quando for impossível mover, coloque na variável de coor. X ou Y dela + ou - 1 (depende da direção: Abaixo=Y+1, Esquerda=X-1, Direita=X+1 e Acima=Y-1). Após isso, coloque para reproduzir uma animação no lugar da bala (lembre que a animação deve ser pequena, com magnitude entre 30 e 50) e depois de um tempo (depende do comprimento da animação), desativar o switch "Atirou Bala 1". Agora devemos checar se as variáveis de Coor. X e Y da bala são exatamente iguais a de algum dos objetos que listamos anteriormente. Se for, você deve ativar o switch ou o que for que fará aquele objeto se alterar. Normalmente, uso switchs para isso. Veja como ficou o meu mirado para baixo:
OBS: Apesar de eu ter listado uma pedra também, ela só terá efeito com a bazuca, então eu não adicionei ela aqui no revolver.
Bem, continuando... Copie TUDO isso para as outras direções, apenas alterando as direções. Quando estiver pronto, você terá que refazer todo o processo para as outras armas, apenas mudando os efeitos e as animações conforme você quiser. Por fim, você terá que refazer todo o processo desde o começo quando a ID do Mapa for diferente - o que fará com que tudo seja diferente. Good Luck!
Para completar e terminar de vez, já tendo tudo feito, você pode adicionar gráficos novos e blablabla... Depende da sua criatividade.!
Conclusão
É, chegamos ao fim, amigos! Agora já podemos testar e ver o sistema funcionando! ^^ Além do mais, deixei sem sons, mas a liberdade é sua! ^^
OBS: A bala para na água como se fosse um obstáculo; não consegui arrumar.
OBS²: Nas duas últimas imagens na condição "NEW Coor.Y = NEW Coor.Y" Troque o primeiro "NEW Coor.Y" por "Coor.Y Bala". Sorry!
OBS³: Tenho quase certeza que você vai querer baixar a DEMO: Link Aqui!
Última edição por pkmnfan7 em Dom Jan 05, 2014 1:43 pm, editado 4 vez(es)
pkmnfan7- Membro
- Mensagens : 285
Fama : 35
Re: {RMVX/RMVXA} Arma de Fogo
Poxa cara, não precisava de preguiça!
Fazia num Bloco de Notas e depois postava ao terminar.
EDIT---
Editei o titulo do tópico para "[RMVX/VXA]"...
Fazia num Bloco de Notas e depois postava ao terminar.
EDIT---
Editei o titulo do tópico para "[RMVX/VXA]"...
MEjoao- Membro
- Mensagens : 569
Fama : 41
Re: {RMVX/RMVXA} Arma de Fogo
MEjoao escreveu:Poxa cara, não precisava de preguiça!
Fazia num Bloco de Notas e depois postava ao terminar.
EDIT---
Editei o titulo do tópico para "[RMVX/VXA]"...
Uff, não é preguiça... Eu tenho todos os meus tópicos em bloco de notas no meu PC. É que eu queria vez quantas visitas eu teria com esse tópico, só pra ver se vai mesmo valer a pena terminar o tuto bem detalhado... (já viu o pkmnfan7 HFN 01, que só você comentou?! A falta de comentários desestimula, cara...).
Ah, e obrigado, eu nem tinha me tocado que dava pra usar no VXA também...! >.o
Bem, de qualquer forma, está feito, e amanhã eu termino e posto aqui.
{EDIT}
O tutorial ficou muito "torto" e eu me equivoquei em algumas partes, então, recomendo que tente entender pela DEMO. (Ah, para pegar a bazuca, dê um tiro no cara que te deu o revolver!)
pkmnfan7- Membro
- Mensagens : 285
Fama : 35
Tópicos semelhantes
» {RMVX/RMVXA} Condição: Impossível Mover
» Windowskins:fogo,gelo, etc
» [RMVX] Pokébikers
» RMVX - No Battleback
» [RMVX] Pessoas Diferentes
» Windowskins:fogo,gelo, etc
» [RMVX] Pokébikers
» RMVX - No Battleback
» [RMVX] Pessoas Diferentes
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos