Centro RPG Maker

Centro de Recursos => Sistemas por Eventos => Sistemas RPG Maker MZ/MV, VX/VX Ace e XP => Tópico iniciado por: MayLeone online 23/11/2012 às 16:59

Título: Event Sensing System - Tutorial
Enviado por: MayLeone online 23/11/2012 às 16:59
(http://i.imgur.com/mabvB.png)

[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 (http://mayleone.forumeiros.com/t34-entendendo-de-uma-vez-por-todas-variaveis-apostila-download#34) 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:

(https://lh4.googleusercontent.com/-9S1L-Vz_Tkc/UFTuGEWj1jI/AAAAAAAAAJc/jpkRqxBaWRw/s293/Untitled%25202.png)

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:

(https://lh4.googleusercontent.com/-7AXCGmj0ajM/UFTuGSv6GNI/AAAAAAAAAJk/tGuoE4DUh-Q/s391/Untitled%25203.png)

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:

(https://lh3.googleusercontent.com/-prwVxu45YOY/UFT3D9e3iEI/AAAAAAAAAKE/DwiMmmWRM4A/s391/Untitled%25204.png)

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:

(https://lh5.googleusercontent.com/-Q9Ui5Y6w474/UFT3Dy7Z1CI/AAAAAAAAAKA/bP2S6v8aqZ8/s304/Untitled%25205.png)

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:

(https://lh6.googleusercontent.com/-sZjeIsP8r18/UFT3D6Ial9I/AAAAAAAAAKI/PZ0ASHFw6ow/s369/Untitled%25206.png)

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:

(https://lh3.googleusercontent.com/-wTvzYmmGzfI/UFT3EGkeFXI/AAAAAAAAAKU/3leKC2TpdKE/s344/Untitled%25207.png)

[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.
Título: Re: Event Sensing System - Tutorial
Enviado por: Nandikki online 24/11/2012 às 09:15
[off topic = ON] EU ia fazer isso... ¬¬ [off topic = OFF]

De qualquer jeito, ficou ótimo!
Título: Re: Event Sensing System - Tutorial
Enviado por: ApocalypseOfMetal online 22/05/2015 às 19:58
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