Autor: Kentona
Traduzido por: Carlos Fernandes
Este tutorial irá mostrar como programar um evento paralelo que detecta ou não a aproximação do herói em um raio específico, sendo o evento o centro.
Este evento de detectação pode ser usado em inúmeras situações, incluindo (mas não limitado) IA de movimentação de monstros, detecção de armadilhas, movimento de NPC ou achar itens escondidos.
O código em si é baseado num simples circulo geométrico
Você precisa:
Três Variáveis
Um evento
Passos:
Criar um novo evento
Marcar o evento com processo paralelo
Criar 3 variáveis: LocalizaçãoX , LocalizaçãoY e Raio
Inserir este código na janela de códigos de eventos
A fórmula é:
(X_evento – X_heroi) 2 + (Y_evento – Y_heroi) 2 <= Raio 2
A potência serve para retirar o negativo do calculo.
Eu aleatoriamente usei 5 como meu teste de raio, mas pode ser usado o valor que você preferir. O evento iniciará quando o herói ficar a um raio de 5 tiles do evento em qualquer direção.
Expandindo o conceito:
Para IA de monstros, você pode ter seu código em um evento de monstro, e se o herói se aproximar do raio de detecção, ele começa a correr atrás do herói. A mesma idéia pode ser aplicada para NPCs.
Para uma maquina de achar itens/armadilhas, o evento pode ser iniciado como invisível, mas com o raio o código pode mudar o gráfico do evento para indicar que um item/objeto foi achado. Para armadilhas, você pode colocar uma variável de dificuldade de armadilha.
Por exemplo, digamos que o herói tem uma maquina de habilidade 5 e a dificuldade de armadilha 3. com o código abaixo, você pode mudar a variável raio e por habilidade da maquina menos a dificuldade da armadilha:
Agora o herói detectara a armadilha com dois tiles antes. Se a dificuldade da armadilha for maior que a habilidade da maquina, ponha o variável raio como zero:
Olá, Darkjouse!
Eu estava lendo o tutorial, mas as imagens não estão mais disponíveis (parece que a VM tá fora do ar). Tem como você fazer upload das imagens em outro lugar e postar aqui? =P