🤔 Para Refletir :
"No alto daquela ideia, plantei um projeto de jogo. A empolgação da ideia bate, o fracasso da ideia cheira."
- DanTheLion

Restringir movimentos

Shieldmaiden

Novato
Membro
Membro
Juntou-se
03 de Março de 2019
Postagens
2
Bravecoins
0
Olá pessoal, tudo bem?
Sou nova aqui, mas estou adorando o fórum e toda comunidade. Todos são muito amigáveis, obrigada pelo espaço!

Venho pedir ajuda com uma questão que está me incomodando um pouco, porque parece simples de resolver, mas não estou conseguindo encontrar uma solução e nem pensar claramente em uma resposta. Peço ajuda:

-- Estou usando o RPG Maker MV e gostaria que alguns eventos (NPCs) andassem aleatoriamente pelo cenário, porém tivessem certos movimentos restritos, como por exemplo: não pudessem caminhar para cima ou para baixo ou nas diagonais enquanto se movimentam. Fazendo uma analogia, seria como uma regrinha de um tabuleiro de xadrez... alguns NPCs só pudessem caminhar em diagonal, outros só em duas direções, etc. --

Alguém pode me ajudar a encontrar uma solução? Será que consigo fazer isso via Script ou precisaria de um plugin?

Obrigada desde já,
Aline
 
Olha, embora eu não utilize o MV, acho que dá pra fazer usando eventos, se eu entendi qual a dúvida.

Crie um evento à parte, cuja "ativação" é "paralela". Crie uma variável com valores "aleatórios" (controlar variáveis -> operação aleatória). No mesmo evento, utilize várias condicionais (ou seja, se variável = 1..., se variável = 2... e assim por diante, quantos tipos de movimentos você quiser). Pra cada condicional (que é ativado aleatoriamente graças à variável), mande o evento em questão (que pode ser qualquer um do mapa) mover só para cima, ou só para baixo, ou qualquer outra coisa que você quiser pra falar a verdade.

Dessa forma, você cria o mesmo efeito de movimento aleatório, mas limitado aos movimentos que você programar.

EDIT:

Testei e deu mais ou menos certo. Ainda pensando na solução por eventos (talvez haja outra forma mais fácil), tem mais um detalhezinho: colocar um comando de espera de tantos segundos antes dos condicionais (senão a variável vai ficar mudando instantaneamente e o evento vai parecer um maluco à solta). Além disso, o evento em paralelo vai ficar atualizando o tempo todo, mesmo enquanto você fala com o NPC, e vai parecer um maluco que fala andando. Pra isso, o evento paralelo deve funcionar só com a condição de switch ligado (ou desligado), e na hora que você interagir com o NPC, ative (ou desative) esse mesmo switch.
 
Olá, [member=2567]Shieldmaiden[/member] ! Tudo bem?
É irônico o fato de você ser nova e ter uma medalhinha de 1 ano! Se registrou a bastante tempo então, hein?! Hahahahaha
Seja bem-vinda e obrigado pelos comentários!!

Quanto a sua dúvida: na lista de opções de movimentos, você pode escolher a opção Rota Predefinida (ou algo assim, estou no serviço e não consigo ver qual o nome correto agora). Lá, você pode colocar o tipo de movimento específico que você quer que tal NPC faça e ativar a caixinha com a opção Repetir Movimento! Assim, ele vai fazer sempre apenas o que você definir lá.

E então, você vai conseguir dizer para o seu NPC o caminho que ele vai fazer e respeitar as limitações que você mesma colocar.

Te ajudei? Caso não, responda aqui com o que aconteceu que a gente continua!!
 
Oi Pessoal! Poxa, obrigada por responderem rápido e com tanta atenção! :')

Pois é rs, eu me registrei quando pensei em começar a fazer um jogo, mas o tempo passou, o trabalho estrangulou... Agora que pude começar a me dedicar a isso, comecei a explorar o fórum e o tudo mais de verdade. Estou adorando! (Nossa, passou um ano o.o)

Então, gostei as duas soluções, mas acho que deixei de explicar uma coisa importante, logo vou precisar espremer um pouco mais as boas ideias/soluções de vocês:

Esses NPCs andam aleatoriamente no mapa ATÉ que o jogador entre na sua linha de visão. Quando isso acontece, eles o perseguem e, se o tocam, começa uma sequência de ações.

Bom, justamente nessa tal perseguição é que (eu acho) falham as soluções aqui descritas... Pq isso cancela qualquer pré-programação e eles usam qlq direção disponível para cumprir o "se aproximar do jogador". Alguma ideia? :/

Obrigada de novo :)
Feliz em poder pensar junto com vocês!

Aline

 
Hmmm... Nesse caso, seriam necessários algumas variáveis e algumas condições!! Hahaha É um pouco complicado de fazer. Também tem plugins pra isso, mas não me vem nenhum em mente por enquanto! Assim que eu chegar em casa vou dar uma procurada e te mando aqui!
 
Se entendi agora, acho que você se refere a "linha de visão". Tipo um treinador pokémon quando te vê, né?

Se for, alguns detalhes seriam importantes a saber: o "inimigo" só enxerga à frente, ou atrás (pelo som de passos, talvez)? Em diagonal, ou só em linha reta, na direção em que olha? Ele tem alcance, isto é, só enxerga um número x de passos à frente? De qualquer forma, esse tipo de coisa começa a ficar impraticável só com eventos.

Um vídeo, só pra ilustrar o conceito:
[youtube]https://www.youtube.com/watch?v=HstyRVwo95M[/youtube]

Em cinza, a área de visão do NPC. A visão é um cone, mas poderia talvez ser outra coisa, com uma linha ou quadrado.


Esse aqui parece ser um plugin desse tipo. E esse aqui parece ser outro, tem até uma demo de exemplo. Achei também esse aqui que parece considerar só a distância.

Sou obrigado a repetir que não uso MV e não estou familiarizado com o uso de scripts, mas se tiver problema em usá-los é só avisar que a gente tenta debulhar o negócio e aprender alguma coisa no processo. Acho que vou começar a estudar plugins pra valer.
 
Voltar
Topo Inferior