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

Como fazer evento reconhecer a posição do jogador em qualquer lugar do mapa?RMXP

Iniciado por Rayner, 14/09/2018 às 22:20

Configurei um evento que aparece em qualquer lugar no mapa desde que seja a posição atual do jogador, ou seja, o evento vai aparcer onde o jogador estiver. A ideia é fugir desse evento quando ele surgir porém caso o jogador fique muito próximo desse evento, sofra um dano e perca HP. Como posso fazer com que o evento reconheça a posição do jogador se este muda de posição sempre?
O livro traz a vantagem de a gente poder estar só e ao mesmo tempo acompanhado.

------------


Você pode armazenar as coordenadas do jogador e do evento em variáveis e criar condições com base nelas.


Citação de: Skyloftian online 14/09/2018 às 22:45
Você pode armazenar as coordenadas do jogador e do evento em variáveis e criar condições com base nelas.

Eu fiz isso. Guardei as coordenadas do jogador e do evento (quando ele surge aleatório no mapa) mas quando cheguei na parte de configurar o evento para reconhecer a proximidade do jogador simplesmente travei. Não sei como configurar. Eu fiquei com bloqueio, não sei como prosseguir.
O livro traz a vantagem de a gente poder estar só e ao mesmo tempo acompanhado.

------------


Se você quer que o evento cause dano quando estiver próximo, terá de verificar as coordenadas do jogador e as do evento ao ser transportado. Se a distância for menor ou igual à que você quer, cause o dano. Se quiser que o evento funcione com mais precisão, basta configurar o dano "Ao tocar herói". Nesse caso dê um jeito de afastar o evento do jogador imediatamente após o dano ou irá bugar.


Quase que eu não consigo responder ;-; Sem net!!
Citação de: Corvo online 15/09/2018 às 01:10
Se você quer que o evento cause dano quando estiver próximo, terá de verificar as coordenadas do jogador e as do evento ao ser transportado. Se a distância for menor ou igual à que você quer, cause o dano. Se quiser que o evento funcione com mais precisão, basta configurar o dano "Ao tocar herói". Nesse caso dê um jeito de afastar o evento do jogador imediatamente após o dano ou irá bugar.
Sim, eu fiz isso porém não há como guardar valores fixos se o evento aparecer em qualquer lugar do mapa o que me faz pensar como eu deveria criar essas condições. Coloquei também como "Ao tocar herói" e até que deu certo porém ele entra em conflito com outro comando deste mesmo evento. Após quebrar muito a cabeça vi a mensagem da May que me deu uma luz.

Citação de: MayLeone online 15/09/2018 às 13:15
Talvez ajude: http://depositodesistemasml.blogspot.com/2012/12/sensor-de-eventos.html

Opa, valey May. Ajudou sim porém o evento em si não deu certo (achei que o segundo iria funcionar mas o personagem foi ignorado - tive uma idéia lendo o tutorial  :derp:).  Segui os passos certinhos mas não sei pq não funcionou  :math: Acredito que esteja bugando por algum outro comando ou por que esteja guardando valores fixos. Bom, após ler e reler o tutorial e rachar a cabeça de tanto pensar tive a idéia de criar variáveis para guardar as IDs dos tiles ao redor do evento, não apenas nas direções cima, baixo, esquerda e direita mas nas diagonais também. Foi como uma gambiarra mas acabou ficando sem bugs o que foi muito bom.
=> No caso criei 2 variáveis que iriam somar e subtrair de acordo com a coordenada do evento (isso para  X e Y) e para as diagonais criei 4 variáveis também subtraindo e somando de acordo com o valor de coordenada atual do evento quando ele surgir. Depois criei condições onde se o jogador fosse igual a alguma coordenada do tile (alguma das variáveis no caso) ele tomaria dano, assim não sendo necessário guardar valores fixos.

Me deu uma dor de cabeça mas foi um bom aprendizado.
Obrigado pela ajuda Sky, Corvo e May.

~Resolvido  :lock:
O livro traz a vantagem de a gente poder estar só e ao mesmo tempo acompanhado.

------------