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

SISTEMA DE EVENTO DETECTANDO PLAYER (COM AJUSTE DE RANGE)

Iniciado por Snow521478, 27/06/2022 às 12:18

27/06/2022 às 12:18 Última edição: 29/06/2022 às 10:12 por Snow521478
Evento detecta player.
criado por: Snow521478



Engine: Rpg Maker Vx Ace  :br:
Compatibilidade: Bom
Facilidade de uso: Fácil
Lag gerado: Zero

Para que serve:
É um sistema para que o evento detecte a chegada do player com determinada distância em tiles.  :cowboy:

Oque vamos precisar:
4 variáveis
1 evento em parallel process.

Mãos a obra:
1- Crie um evento no mapa em parallel process (processo paralelo).
2- Crie  1  variável e a nomeie de Px e Set ela para representar a posição X do player no Mapa(pode alterar o nome da forma que preferir).
https://imgur.com/drIX5Kv
Faça o mesmo para a posição Y do jogador:
https://imgur.com/KVdiCYK
3- Agora crie outras 2 variáveis que serão referente a posição X e Y do evento em questão.(Novamente.. o nome da variável indifere no resultado). Sugestão: Ex (Evento X), Ey( Evento Y).  :fifufi:
Ex:
https://imgur.com/zPCeeLM
Ey:
https://imgur.com/LNXHkVF
4- Agora é hora de por o sistema para funcionar  :malvado:, crie um controle de variável e substraia o Px(Posição x do player) por Ex (Posição x do evento):
https://imgur.com/u5VbwZI
Faça o mesmo para Posição Y:
https://imgur.com/7I6vNNS
Agora que temos os resultados das substrações vamos criar algumas condições.
Crie uma condição(Conditional Branch) para a variável Px para que se ela for maior ou igual a -1.
https://imgur.com/k99tCSO
Dentro da condição anterior crie uma outra condição para Px, se for menos ou igual a 1.
https://imgur.com/q1SxA0k
Com essas 2 condições a ação do evento só será realizado se Px estiver entre (-1, 0 ou 1).
Faça o mesmo para Posição Y, dentro das condições anteriores.
https://imgur.com/SfJIH69
-
https://imgur.com/GAUGyeW
E por fim, dentro de todas as condições coloque oq pretende q o evento faça quando o player atingir 1 tile de distância do evento.
Sugestão para testar a funcionalidade: Move event: Jump. Se o evento pular quando tiver 1 tile de distância, funcionou.
Eis uma imagem do evento completo:
https://imgur.com/6vRStw6

-Considerações finais:
Existem diversos plugins com esta finalidade, só fiz o tutorial para quem é amante de eventos como eu.
Para aumentar o range de deteção do evento ( distância em tiles ) basta alterar as condições de -1 para -2, de 1 para 2. etc...
Da para copiar e colar o evento no mapa sem ser necessário criar outras variáveis para cada evento, irá funcionar normalmente.
Espero que gostem, meu primeiro tutorial. Abç   :lemonjuice:



29/06/2022 às 01:04 #1 Última edição: 02/07/2022 às 13:18 por Crixus
Achei interessante, só que isso não é distancia por pixels e sim por tiles que são os espaços que cada objeto de mapa ocupa, tendo um tamanho em pixel exato:
Rm2k/2k3: 16x16 px
RmXP/VX/Ace: 32x32 px
RpgMV: 48x48 px
(Alguma informação pode estar errada)

Também, o campo de visão quadrado é um pouco estranho, posso indicar um método mais legal, onde o campo de visão forma um losango, os créditos ao meu ver devem ir todos para o D-Guy, criador do jogo The Chimera Report (Rpg Maker 2000) que foi criado em 2002.

Eu reproduzi o sistema no RMXACE de maneira menos pratica para reutilizar em vários sensores, nesse caso o resultado é para detectar apenas em um objeto de mapa:


Gameplay (A partir da parte 2 você notará o uso do sistema):
https://www.youtube.com/watch?v=_2hYa1YHLZ8&list=PLJug1QS5jgexnat2RjHjejHIwADfwRopp&index=2

Opa Crixus, fico feliz pelo feedback.
Testei e achei bem legal desta forma que você ensinou, de fato fica menos "quadrado".
Sobre pixels... irei corrigir, na verdade são tiles mesmo.  :uu: