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

Verificar obstacúlos (Prever ID-de-Terreno)

Iniciado por Crixus, 05/08/2014 às 22:52

05/08/2014 às 22:52 Última edição: 21/01/2020 às 15:49 por Crixus
Dando continuidade aquele sistema de Pathfinding que eu criei, resolvi seguir uma tutorial que o GabrielM. me passou:
Pathfinding para iniciantes


O RMXP diferente do Rm2k/2k3 não analisa a id de terreno por coordenadas e sim por eventos eu tive que simular, devido a isto não funcionará no RMVX e ACE sem parâmetros de RGSS pelo comando Script.
Para que funcionasse igual ao Rm2k eu criei 4 eventos que retornam as suas IDs de terreno e como esses estão sempre colados ao personagem ou evento NPC desejado por você (o sistema é configurável) ele simula como se as IDs fossem do jogador.

A teoria é a mesma usada neste sistema:
--- LINK REMOVIDO ---

Para definir de qual evento alvo vai pegar as IDs de terreno basta alterar as duas variaveis X-Alvo e Y-Alvo.

Como o sistema é simulado, todo o bloqueio deve ser configurado como ID de terreno 1, como na imagem abaixo:

Este mesmo sistema pode ser usado para criar sistemas de plataforma inteligente, como no jogo MegaMan-X em que o personagem ao cair e mover para uma parede ele consegue ir escorregando devagar, se tu é algum leigo provavelmente duvidará da minha palavra, pois bem, então veja isso:
--- LINK REMOVIDO ---

Mas o foco deste método é criar um sistema de Pathfinding mais "inteligente" ou finder (sei lá como vocês sabichões chamam isso).

Download:
4Shared - Use sua conta no Facebook ou Gmail para baixar.
Precisa colocar a DLL RGSS103J ou semelhante dentro da pasta da DEMO.

05/08/2014 às 23:24 #1 Última edição: 05/08/2014 às 23:32 por Shiroyasha
Realmente, solução bem inteligente para este problema no XP. Só devo observar que é possível verificar a ID de terreno e região no ACE sem uso de Call Script. Estas opções estão presentes nas opções de "Informação de Posição".

O que ocorre é que isto precisa ser guardado em uma variável,  que é bem inferior ao uso convencional já conhecido daquele tutorial da MayLeone. Mas é reproduzível no ACE também.
Só o VX que tem essa limitação sem uso de call script (muito embora a verificação de passabilidade seja mais simples que a do ACE em virtude  da ausência das direções).

De qualquer forma isso é uma boa solução para o XP e, por consequência, para o ACE também.
Obrigado Tânatos.

o/


Eu nunca usei o ACE, na realidade deduzi que funcionasse da mesma maneira.
Obrigado pelo toque.

Engraçado que duas pessoas semana passada vieram me perguntar como verificava se o redor do player era passável. Coincidência boa hein xD
Enfim, parabéns pelo seu trabalho, e continue com seus sistemas ;)

Valeu Alucard, esse sistema já tem meses, porém sei lá por que só postei na MRM.