Brasil G4mes
Registre-se para ter acesso total à todas as seções do fórum!
Jogue, brinque e o mais importante, divirta-se!

Participe do fórum, é rápido e fácil

Brasil G4mes
Registre-se para ter acesso total à todas as seções do fórum!
Jogue, brinque e o mais importante, divirta-se!
Brasil G4mes
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

{RMVX/RMVXA} Condição: Impossível Mover

2 participantes

Ir para baixo

{RMVX/RMVXA} Condição: Impossível Mover Empty {RMVX/RMVXA} Condição: Impossível Mover

Mensagem por pkmnfan7 Seg Dez 26, 2011 8:51 am

Condição: Impossível Mover
by pkmnfan7 - Here For Nothing

Introdução
Algum tempo atrás, eu estava com a terrível dúvida: como fazer a condição "Impossível Mover"? Apesar de ter postado esse tópico Após alguns dias sem soluções, decidi descobrir de uma vez por todas! Claro, é demorado e um tiquinho complicadinho, mas dá pra fazer fácil, fácil. Como?? Descubra agora!

Utilidade
Após o movimento de um evento qualquer, você quer que, se o movimento foi conclúido com sucesso (ou seja, foi possível), uma coisa aconteça e, caso contrário, outra coisa aconteça... Simples, não?!

Requer:
  • RPG Maker VX instalado e funcionando (ah, vá?!)
  • 4 slots de variáveis livres
  • Um evento que faça o outro se movimentar (processo paralelo, ou próprio evento, o que você quiser!)
Instruções
É simples, porém complicado (??) e demoradinho. É melhor para movimentos pequenos ou repetitivos (mas, no segundo caso [que eu usarei como exemplo], para causar a repetição, é necessário labels), pois cada linha de movimento, você vai precisar de uma nova condição... OK?
Bem, vamos começar.
Abra seu editor de eventos e faça uma fala. No meu caso, o carinha vai dizer "Ah, você me pegou!!!" e vai pro lado pra explodir depois (!).
Vamos para a parte mágica, baybe!! Como eu disse, cada linha custa uma condição. Mas, antes, devemos nomear duas variáveis de modo a reconhecer qual é "Coordenada X" (CoorX) e qual é "Coordenada Y" (CoorY). Faça com que a CoorX seja substituida pela Coordenada X do evento que vai mover (personagem ou seja lá que por~* for) e a CoorY pela Coordenada Y desse mesmo evento. Vai ficar assim:
{RMVX/RMVXA} Condição: Impossível Mover I6cuxf
All right. Isso não faz nada; cadê as condições??... Elas vêm depois do movimento. Coloque um movimento; mas é de EXTREMA IMPORTÂNCIA que você faça um movimento de uma única linha. Mas atenção! "Voltar um Passo", "Mover um Acima" e "Mover um Abaixo" são movimentos, mas "Olhar para o Herói" e "Mudar Velocidade" não! Esses últimos devem ser postos junto do movimento; acima dele. Bem, faça o seu movimento como quiser, mas ele deve ser marcado - SEM EXCEÇÕES - com "Ignorar se Impossível" e nunca marcado com "Repetir Movimento".
Agora, as desejadas condições! Após o movimento feito, crie mais duas variáveis como as anteriores, mas com algo que diferencie-as (como, no exemplo, um "NEW" antes do nome). Substitua "NEW CoorX" pela coordenada X do evento e "NEW CoorY" pela coordenada Y do mesmo. Crie uma condição: "Variável: CoorX = Variável: NEW CoorX". Dentro dela, coloque outra:"Variável: CoorY = Variável: NEW CoorY". Fica melhor pela screen:
{RMVX/RMVXA} Condição: Impossível Mover 3htv9
Hum. Ótimo! Dentro da segunda condição, coloque o que vai acontecer quando o movimento for impossível. Nas exceções, coloque igual: o que acontecer em uma acontecerá na outra de forma igual (aqui é quando o movimento é possível). Pronto!
Labels: a melhor forma de aprimorar o sistema. Para evitar repetições ou para causar loops, nada melhor que elas! Veja a screen e tente entender o que está acontecendo aqui:
{RMVX/RMVXA} Condição: Impossível Mover 21tnjb
Note a "Label 1" que eu adicionei no topo e as exceções, que voltam à ela para causar loop. E, dentro das condições (ou seja, foi impossível) há o comando de explosão! Pronto!!

Lógica
A lógica que eu procurava era executar a condição durante o movimento, o que não dava certo. Então, usei essa outra lógica aqui: verificar a impossíbilidade após o movimento. Se as coordenadas continuavam iguais mesmo após o movimento, significa que ele não ocorreu, ou seja foi impossível! Simples, não?!

Alterações e Outros Detalhes
As melhores alterações são com labels, com certeza! Mas há outras modificações a serem feitas; é só ter imaginação e criatividade!
Bem, pra acabar de vez com esse tutorial, vou pôr uma DEMO no 4Shared pra download aqui. Espero que façam bom uso dessa condição especial, então, valeu e até a próxima!


Última edição por pkmnfan7 em Ter Jan 10, 2012 7:33 am, editado 1 vez(es)
pkmnfan7
pkmnfan7
Membro
Membro

Mensagens Mensagens : 285
Fama Fama : 35

Ir para o topo Ir para baixo

{RMVX/RMVXA} Condição: Impossível Mover Empty Re: {RMVX/RMVXA} Condição: Impossível Mover

Mensagem por MEjoao Seg Dez 26, 2011 9:16 am

Haha, baixei a Demo.
Bem legal esse sistema.
+Refamuputação.
MEjoao
MEjoao
Membro
Membro

Mensagens Mensagens : 569
Fama Fama : 41

Ir para o topo Ir para baixo

{RMVX/RMVXA} Condição: Impossível Mover Empty Re: {RMVX/RMVXA} Condição: Impossível Mover

Mensagem por pkmnfan7 Ter Dez 27, 2011 5:02 pm

MEjoao escreveu:Haha, baixei a Demo.
Bem legal esse sistema.
+Refamuputação.
Valeu.

Estou pensando em usar esse sistema num jogo em que as árvores e pedras são colocadas aleatoriamente no mapa. Elas vão para um lugar aleatório do mapa quando a tela está escura e andam um passo para um lado aleatório. Caso o movimento seja possível, elas ficam lá. Caso seja impossível, elas vão para um novo lugar aleatório, sacou?

E, talvez, eu faça um sistema de... Deixa pra lá, outra hora eu posto aqui. Então, novamente, valeu! ^^
pkmnfan7
pkmnfan7
Membro
Membro

Mensagens Mensagens : 285
Fama Fama : 35

Ir para o topo Ir para baixo

{RMVX/RMVXA} Condição: Impossível Mover Empty Re: {RMVX/RMVXA} Condição: Impossível Mover

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos