O TEMA DO FÓRUM ESTÁ EM MANUTENÇÃO. FEEDBACKS AQUI: ACESSAR

Event Sensing System - Tutorial

Iniciado por MayLeone, 23/11/2012 às 16:59


[box class=titlebg]► Introdução[/box]
Esse sistema consiste em fazer com que quando o personagem passe pelo raio de visão de determinado evento, algo ocorra.
O raio de visão poderá ser definido por você, bem como suas direções (esquerda, direita, cima e baixo)

[box class=titlebg]► Considerações:[/box]

Eu estou utilizando os gráficos do clássico: Bonanza e Bros para criar este tutorial, mas você poderá utilizar os gráficos que desejar, obviamente.
É de suma importância que você tenha um conhecimento básico sobre as variáveis para acompanhar o tutorial. Se desejar, dê uma lida nestas aulas.

[box class=titlebg]► Determinando as coordenadas:[/box]

Vamos iniciar o tutorial determinando primeiramente onde o evento que irá te visualizar, ficará no mapa.
Crie um novo evento no seu mapa, e determine as coordenadas para o mesmo, como mostrado na imagem abaixo:



Eu determinei que o meu evento ficará nas coordenadas (x,y) 13 e 14 no mapa, porém você poderá coloca-lo onde preferir, mas é necessário termos os dados dessas coordenadas, para posteriormente utilizarmos em nossas condições.
Agora deixe o evento em processo paralelo, e dentro dos comandos de eventos crie quatro variáveis: Duas dessas variáveis devem armazenar as coordenadas X do evento e do personagem no mapa, e as outras duas as coordenadas Y de ambos. Por fim teremos algo assim:



Eu farei com que quando o evento olhar para a esquerda e o personagem estiver em seu raio de visão, determinadas ações ocorram, então com essa informação farei com que quando o evento 'estiver olhando para a esquerda' as condições posteriores entrem em ação.
Você poderá fazer com que o seu evento possa visualizar o personagem à qualquer direção, como já dito, mas eu irei fazer apenas com a direção esquerda.
Continuando: Irei guardar numa variável a posição do evento. Para isto crie uma quinta variável, e nela armazene a direção do evento no mapa:
► Opções de variável ► Evento ► Este evento ► Direção.

Agora nós temos cinco variáveis: Duas delas armazenam as coordenadas X do evento e personagem no mapa, outras duas armazenam as coordenadas Y, e a quinta armazena a direção que o evento se encontra no mapa.

[box class=titlebg]► Determinando o raio de visão:[/box]

Agora que as variáveis estão a armazenar as informações necessárias, crie uma condição utilizando a variável que armazena a direção do evento, e coloque sua constante em dois (pois 2 == direção virado para baixo nas variáveis - [Onde o personagem se encontra]  ler aula 4 sobre variáveis)
Dentro dessa condição, iguale à variável da coordenada Y do evento à variável da coordenada Y do personagem, numa segunda condição.
No final, teremos algo assim:



Como estamos determinando o raio de visão do evento, apenas para a direção da esquerda, nós igualamos as coordenadas Y (na horizontal) de ambos, porém se você for fazer algo com as direções cima ou baixo, iguale as coordenadas X de ambos, ao invés das coordenadas Y.

Lembram-se de que guardamos a informação das coordenadas deste evento no mapa? Então, agora a partir dessa informação nós iremos determinar o raio de visão do evento.
Como o meu evento se encontra nas coordenadas (13,14) no mapa, eu irei definir um raio de visão para ele, de até 5 tiles de distância, ou seja, se o personagem estiver 5 tiles antes da coordenada 13 no mapa, o evento irá visualizar o personagem e ativar determinados comandos.
Esses 5 tiles antes da coordenada X= 13 seriam respectivamente as coordenadas X: (8, 9, 10, 11 e 12)
Só que para não termos de criar 5 condições diferentes contendo cada coordenada, iremos simplesmente criar uma condição com a variável da coordenada X do herói, e deixar sua constante em 13 e setar a opção ''menor'' dentro da condição:



Isso significa que se o personagem estiver numa coordenada X menor que 13 no mapa, algo ocorrerá.
Claro que precisaremos impor um limite também, pois o RPG Maker irá interpretar que o personagem estando em  qualquer direção X no mapa menor que 13 ele irá ativar seus comandos, e é o que nós não queremos. Queremos que apenas o evento nos 'visualize' se o personagem estiver cinco tiles na frente do evento.
Para criarmos este limite, basta colocar uma outra condição dentro dessa condição da coordenada X com a seguinte informação:
A condição da coordenada X com a constante igual à 8 e com a opção "maior ou igual'' setada, no final tudo ficará assim:



Isso significa que o evento só irá nos ver, 5 tiles antes de sua frente (utilizando o comando da condição variável >> coordenada X do personagem menor que 13) e nada mais que isto (utilizando o comando da condição de variável da coordenada X do personagem maior ou igual à 8 --- os 5 tiles)

Agora, dentro dessa última condição basta definir o que irá ocorrer quando o personagem estiver no raio de visão do evento.

Para o evento olhar para os lados (no meu caso) deixe sua rota como pré-definida, e defina um movimento do evento em ciclos, onde o mesmo ora olha para a esquerda, ora olha para a direita:


[box class=titlebg]► Finalização:[/box]

E é isto, agora você poderá fazer com que algo ocorra em determinados eventos, se o personagem passar pelo raio de visão deles.
Qualquer dúvida com relação a este tutorial, pode me procurar.


Muito Bom. Eu fiz de uma maneira diferente no meu abs por eventos e ate pensei em postar separadamente nos forums mas assim como a minha ideia do duck hunt vc ja postou husuhHUShuSHU