TUTORIAL: espinhos inteligentes para puzzles, labirintos, cavernas e mini-games sem script


Basta se aproximar e os espinhos ativam. Se afaste e eles irão parar de se mexer. Se mesmo assim você quiser arriscar, tente passar antes que eles subam totalmente para não levar dano no HP. Estes são os espinhos inteligentes que acionam somente quando o jogador está próximo deles.

A vantagem? O bug é menor no mapa e também pode enganar o jogador (até apavorá-lo).

Programá-los não é difícil, mas exige atenção, portanto siga as instruções corretamente:

Crie um novo evento. Na aba 1, clique em "Controle de Variável".

Clique para ampliar.


Precisamos criar 3 variáveis para começar:

JOGADOR X
JOGADOR Y
REGIÃO JOGADOR


Pode ser onde você quiser. Aqui criei nos números 1, 2 e 3.

Feito isso, vamos começar a configurar o processo paralelo, ou seja, é um evento que ficará sempre ativo durante o jogo, mas que não irá interferir em outros eventos que esteja ocorrendo ao redor. Neste evento precisamos indicar ao jogo que quando o jogador estiver próximo, ele deverá ativar os espetos. Escolha a primeira variável, ou seja, JOGADOR X.


Selecione a opção "Informação" e configure para "Personagem" como "Jogador" e "Valor" como "Mapa X". 


Clique em Ok em tudo e teremos a primeira variável pronta.

A segunda é parecida, mas desta vez você deve mudar para JOGADOR Y e Mapa Y.

A última variável a ser configurada é a REGIÃO JOGADOR. Vá até a aba 3 e clique sobre "Informação de posição".


Selecione a variável de REGIÃO JOGADOR. Em "Tipo de Informação" mude para "Região ID". Por fim selecione "especificar por variável" e bote ali as variáveis JOGADOR X e JOGADOR Y. Clique em Ok.


Voltamos à tela de configuração do evento. Sugiro que você renomeie para algo como "Controle-espinho", pois assim saberá do que se trata esse evento. Por último não esqueça de mudar a Condição de Início para "Processo Paralelo". Clique em aplicar e em ok depois.

Seu evento deverá ficar exatamente como este. Clique para ampliar.

Este evento de controle poderá ficar em qualquer canto do mapa. Eu costumo colocar em algum lugar onde o jogador não tenha acesso como o alto de uma parede por exemplo.

Agora podemos configurar um espeto. Escolha o lugar onde quer um espeto e crie um novo evento clicando 2x. Aqui você deverá primeiro escolher o gráfico do espeto. Ele está em "Other!1". Selecione o gráfico em que os espetos estão abaixados e deixam apenas os buraquinhos aparecendo. Mude para "Direção fixa" e "Abaixo do Herói". A condição de início deve ser "Processo Paralelo" também, afinal os espetos são automáticos.

Agora vamos dar os comandos para que os espetos ativem quando o jogador estiver próximo. Na primeira aba, selecione "Condição".


Selecione "Variável" e escolha a variável REGIÃO JOGADOR. Mude a "Constante" para 1. Desmarque a opção para exceção. 


Dentro dessa variável, clique duas vezes para adicionar um novo comando. Selecione "Esperar" na aba 2 e configure para 30 frames.


O espeto tem que subir para poder atingir o jogador, portanto teremos que adicionar um novo comando. Vá na aba 2 e selecione "Mover evento". Selecione "Este evento" e dê as seguintes coordenadas:
Direção Fixa OFF
Olhar à esquerda
Esperar: 3 frames
Olhar à direita
Esperar: 3 frames
Olhar acima

Mantenha selecionado "Aguardar até o fim".

Clique para ampliar.

Ainda dentro da condição, adicione um terceiro comando que será uma nova condição que irá averiguar se o jogador está sobre o espeto na hora errada. Se estiver, ele levará dano. Na verdade este é o grande segredo por trás desse evento. Selecione "Condição" na aba 1 e vá até a aba 4. Selecione "Script". A fórmula a seguir deve ser digitada ou copiada sem erros ou nada dará certo. Cole a fórmula abaixo:

$game_player.x == $game_map.events[@event_id].x && $game_player.y == $game_map.events[@event_id].y

Tire a exceção.


Dentro desta segunda condição onde tem a fórmula, você deve adicionar apenas 2 comandos. O primeiro é um efeito em flash (fica na aba 2 como "Efeito flash") com coordenadas que você quiser. Eu sugiro os seguintes valores:
Vermelho: 255
Verde: 0
Azul: 0
Força: 128

Mude o tempo para 20 frames e desmarque a opção "Esperar até o fim".


Esse flash na verdade aparecerá bem rapidamente quando o jogador sofrer dano, ou seja, quando ele pisar sobre o espeto e se machucar.

Ai!

O segundo comando é o que irá tirar HP do jogador. Aqui programei para tirar 5 de HP, mas você pode botar o valor que quiser. Vá na aba 1 e clique sobre "Mudar HP". Eu deixei pra afetar o grupo inteiro, mas você também pode modificar para alterar o HP só de um personagem. Em "Operação" marque o "Diminuir" e "Constante" de 5, que é o valor que o grupo inteiro vai perder de HP, como eu disse anteriormente.


Agora falta apenas um comando. Preste atenção para não adicioná-lo na segunda condição. Ele na verdade deve ficar depois da segunda condição. Já que o espeto subiu, agora terá que descer. Crie um novo movimento de evento com as seguintes coordenadas:
Direção fixa OFF
Olhar à direita
Esperar: 3 frames
Olhar à esquerda
Esperar: 3 frames
Olhar abaixo

Não esqueça de configurar para "Este evento" e de manter selecionada a opção "Aguardar até o fim".

Seu evento deverá ficar exatamente como este. Clique para ampliar.

Eu costumo identificar como "Espeto 1", "Espeto 2", "Espeto 3" e assim sucessivamente. Essa parte é opcional e serve mais pra deixar tudo organizado. Assim você sabe o que é cada evento no mapa. 

Dê Ok.

Para criar um novo espeto, copie e cole o primeiro espeto onde deseja. A programação é a mesma, então sugiro que não perca tempo programando tudo várias vezes. Apenas copie e cole mesmo.

Note o evento na parede. Sim, é o controle. Os outros são os espetos.
A última parte envolve uma configuração no mapa. Pressione F7 do seu teclado ou simplesmente escolha a opção "Regiões". A região de número 1 deverá ser selecionada. Agora você deve aplicá-la ao redor dos espetos. É assim que o seu jogo saberá quando o personagem está próximo o suficiente para ativar os espetos. É exatamente quando ele passa por cima dessas regiões demarcadas com o número 1 que ativam-se os espetos automaticamente. Se você sair dessa região, eles irão parar.


Teste e se fez tudo certo, verá que os espetos acionam apenas quando o personagem está próximo. Se você não passar rápido o suficiente, o espeto te tirará 5 de HP.

Tutorial original por RM2KDEV. Vídeo original | TwitterSite
Traduzido e adaptado por Liuka.

0 comentários:

Os comentários são moderados para evitar SPAM.

Baú da Liuka