Como ativar um Evento ao se aproximar?

1 Respostas   817 Visualizações

0 Membros e 1 Visitante estão vendo este tópico.

Jerint

  • *
  • Posts: 3
  • Ouros: 0
Tópico criado em: 20/09/2017 às 10:27

Olá, gostaria de saber como fazer um NPC se mover até mim mas só a partir de uma certa distancia.

Kyo Panda

  • Mito
  • *
  • Posts: 259
  • Ouros: 195
Resposta 1: 20/09/2017 às 10:29 - Última modificação por Kyo Panda em 20/09/2017 às 10:36

Quote do Condado apenas para referência futura:

Citar
Com 4 variáveis, o senhor poderia fazer o seguinte:

  • Na variável 1, armazenar a coordenada X do personagem.
  • Na variável 2, armazenar a coordenada Y do personagem.
  • Na variável 3, armazenar a coordenada X do evento.
  • Na variável 4, armazenar a coordenada Y do evento.

Com esses valores, o senhor já pode criar uma condicional que leva em consideração a distância do evento para o personagem.

A fórmula para distância entre dois pontos é:


Ou:

Código: [Selecionar]
RAIZ_QUADRADA( ( P1.X - P1.Y )² + ( P2.X - P2.Y )² )
Mas fazer essas operações diretamente com variáveis é um pouco complicado. Por isso é melhor usar a função Chamar Script para calcular a distância entre os dois:

Código: [Selecionar]
$game_variables[5] = Math.hypot($game_variables[1] - $game_variables[2], $game_variables[3] - $game_variables[4])
O resultado será a distância do evento e do personagem na variável 5. Com isso é só criar uma condicional com o valor dessa variável e, caso ela for menor a distância desejada para ativar o evento, chamar o comando Mover > Perseguir personagem.

Sugiro que a inicialização do evento esteja em Processo paralelo para que isso seja calculado sempre que o jogador mover o personagem.

:)