25/05/2015

Aula 22 - Utilizando Timer e Game Over

   Olá, fãs de RPGs e coisas legais. Recentemente recebi uma dúvida de um seguidor do blog, Wismael Rodrigues, perguntando como era possível criar um evento com timer que resultasse em game over após o tempo se esgotar. Bom, visando ajudar não só ele, mas também quem tiver a mesma dúvida, resolvi dar esta aula onde explico de forma mais ampla como criar esse tipo de evento. Espero que gostem ^^

   Primeiro, vamos criar um evento onde um garotinho inocente avisa o herói que, em 30 segundos... o mundo vai acabar! (você pode colocar essa parte no final de qualquer evento, como por exemplo após derrotar o chefe final e ele acionar o botão de destruição do castelo, dando algum tempo para a fuga dos heróis).

   Primeiro, defina o gráfico do garoto, e nas condições do evento deixe como "Apertar Tecla" e "Mesmo Nível do Herói". Vamos deixar ele parado no mapa. Agora, na parte de Comandos de Eventos, comecemos mostrando o rosto do garoto e colocando uma mensagem do tipo "Você tem 30 segundos. Após isso, tudo acaba." (Use as opções 'Gráfico de Rosto' e 'Exibir Mensagem' para fazer essas duas partes; caso não saibam como fazer vejam os tópicos anteriores).

   Depois, escolha na aba 1 da Lista de Comandos a opção 'Operações com Timer'. Selecione a posição do mostrador (escolhi esquerda). Marque na Condição Inicial a opção 'Selecionar' (para colocar o tempo), e clique em OK. Deve ficar como na figura abaixo:


   Após isso, clique novamente na opção 'Operações com Timer', mas desta vez marque na Condição Inicial a opção 'Iniciar'.

   Depois, crie um switch novo e deixe ele como ON. Sua tela deverá ficar como mostra a figura abaixo:


   Após isso, clique no botão Nova Página (na parte de cima do Editor de Evento, e marque a opção Switch, escolhendo o switch que acabamos de criar. Também, na opção Tempo I marque com os valores 0 nos minutos e nos segundos. Nas condições do evento deixe como "Início Automático" e "Abaixo do Herói".

   Agora, para a animação após o tempo acabar, nos Comandos de Eventos, primeiro escolha a opção 'Diminuir Volume' (na aba 3 da Lista de Comandos), e marque 1 segundo (10 na opção). Depois, pra dar mais uma incrementada, escolha 'Tonalidade de Tela' (na aba 2) e aumente o valor do vermelho para 150 (os  demais deixe como estão). Marque o intervalo de cor em 1 segundo, e também a opção Esperar troca de cor. Após isso, coloque um tempo de 1 segundo (usando a opção 'Esperar', na aba 2), seguida de um som de explosão (use a opção 'Movimento de Personagem', na aba 2, escolha Tocar SFX e selecione o efeito sonoro - o Object pode ser o Herói). Depois coloque mais um tempo de 0,5 (ou 5 na opção) e finalize com a opção 'Game Over' (na aba 3). A tela deverá ficar como mostra a figura abaixo:


   Dessa forma, quando o tempo de 30 segundos acabar, a tela mudará de cor, a música será interrompida, um som de explosão ocorrerá e será mostrada a tela de game over.

   Mas como faço para deter isso, Lonely Heart? Bom, para isso devemos fazer o seguinte:

   Primeiro, vamos criar um outro evento (uma menina que diz que você deteve o fim do mundo), e colocar ela no mapa (você pode colocar essa parte do evento após, por exemplo, o grupo de heróis escapar daquele castelo que mencionei antes).

   Para isso, simplesmente defina o gráfico da menina, deixando as condições como "Apertar Tecla" e "Mesmo Nivel do Herói"). E depois, nos Comandos de Eventos, escolha 'Operações com Timer' e marque na Condição Inicial a opção 'Parar'. Depois, escolha um rosto pra menina e escreva uma frase do tipo "Você deteve o fim". A tela deverá estar como na figura abaixo:


   E pronto. Quando o herói falar com o garoto, a contagem irá começar, caso ele não fale com a menina em 30 segundos será game over, e caso ele fale com a menina a contagem sumirá.

   Vale lembrar que tanto a parte do contador para game over quanto a parte que cancela o contador podem ser colocadas em qualquer evento (o inicio do contador você coloca no fim do evento, e o cancelamento do contador no começo de outro evento). Também vale mencionar que, no caso do exemplo de início do contador que eu mostrei, a primeira parte pode ficar em um evento em um mapa, enquanto a outra página pode ficar em outro evento em um mapa diferente (mas sempre marcando a opção switch, pra ligar as duas). Um bom exemplo é quando o grupo de heróis recebe um comunicado e é teleportado para outro mapa (isso em um evento no mapa 1), aí no mapa 2 você coloca a parte onde, caso o timer zere, tudo acaba.


   Bom, espero ter ajudado com essa aula. Como estou meio atarefado com a faculdade, os posts não tem saído aqui. Mas sempre que eu puder, coloco novas aulas ou resolvo as dúvidas do pessoal. Até mais o/

06/05/2015

Aula 21 - Condições IF

   Olá, fãs de RPGs e coisas legais. Não tenho postado muito devido à faculdade e ao pouquíssimo tempo que tenho agora (mas não me esqueci do blog - sempre que der, vou postar algo aqui, não se preocupem). Estou aqui hoje com mais uma aula de como criar um jogo usando o RPG Maker 2003. Na aula de hoje aprenderemos um pouco sobre Condições IF.

   As condições IF servem para caso você queira que certos eventos ocorram apenas quando certas condições forem alcançadas - por exemplo, caso algum herói esteja presente no grupo, algum item esteja em posse do grupo, entre outras condições.

   Ao clicar em 'Condições IF (fork)' na aba 3 dos Eventos de Comando, a seguinte tela será mostrada (esta é a aba 1 da opção):


   Primeiramente, caso você marque a caixa de dialogo 'Excessão Possível', então é criada uma nova linha de comando que se ativará caso a condição designada não seja atingida (se não marcar esta opção, o evento prosseguirá normalmente caso a condição não seja atingida).

Switch - ao marcar esta opção, você determinará que a condição será a ativação ou não de um determinado switch a sua escolha.

Variável - ao marcar esta opção, você determinará que a condição será um determinado valor de uma variável. Pode ser um valor fixo, escolhido na opção 'Setar', ou então um valor de uma segunda variável. Você também precisará definir na opção abaixo se o valor a ser atingido para que a condição ocorra é Igual, Igual ou acima, Igual ou abaixo, Maior que, Menor que, ou Diferente do valor da variável escolhida.

Tempo 1 e 2 - ao marcar esta opção, você determinará que a condição será o valor de tempo ao usar um timer (você coloca o valor e escolhe se a condição ocorrerá caso o tempo seja maior ou menor do que o estipulado)

Dinheiro - ao marcar esta opção, você determinará que a condição ocorrerá caso a quantidade de dinheiro possuída seja maior ou menor do que o valor escolhido.

   Caso clique na aba 2, a seguinte tela será mostrada:


Item - ao marcar esta opção, você determinará que a condição ocorrerá apenas se o grupo tiver determinado item (Usado), ou não tiver (Equipado).

Herói - ao marcar esta opção, você determinará que a condição ocorrerá caso determinado herói obedeça certo critério. Esse critério e escolhido ao se clicar no botão '...'. A seguinte tela será mostrada:


*Está no Grupo - a condição ocorrerá caso o herói estiver no grupo.
*Nome - a condição ocorrerá caso o herói possua o nome determinado na opção.
*Nível - a condição ocorrerá caso o nível do herói seja igual ou maior.
*HP - a condição ocorrerá caso o HP do herói esteja com um valor igual ou maior.
*Técnica - a condição ocorrerá caso o herói tenha aprendido determinada técnica.
*Item - a condição ocorrerá caso o herói esteja equipado com determinado item.
*Condição - a condição ocorrerá caso o herói esteja sob algum status negativo.

Direção - ao marcar esta opção, você determinará que a condição ocorra apenas caso o evento esteja olhando para a direção determinada.

Veículo - ao marcar esta opção, a condição ocorrerá dependendo do veículo que estiver usando.

Evento Atual - caso marque esta opção, ela se baseará no fato de o evento começar ou não ao se pressionar o botão de confirmação.

Música (x1) - ao marcar esta opção, a música de fundo será levada em consideração, sendo tocada uma vez ou não.

   Bom, isso é tudo por enquanto. Como eu disse antes, a faculdade está me tomando bastante tempo, mas assim que possível vou escrever novas postagens aqui (incluindo explicações de como usar as variáveis e as condições IF para criar alguns eventos simples). Espero vocês aqui na próxima aula. Até mais o/