🤔 Para Refletir :
"Poucos sabem do que somos feitos. Sonhos não passam da realidade na qual a mente humana gostaria de vivenciar."
- Yonori Akari

evento se mover para codernada

matheusdx10

Novato
Membro
Membro
Juntou-se
05 de Abril de 2017
Postagens
16
Bravecoins
0
olá pessoal, queria saber se tem como definir a rota de movimento de um evento, botando as coordenadas e ele ir andando para o local marcado, eu sei que tem como definir a rota manualmente ou saltar o personagem para lá, mas eu queria saber se tem como botar caminhando, tem como? obrigado
 
Nem imagino o RpgMaker que você quer suporte, se for rpg makers atuais tem script, se for por eventos basta fazer o processo do sistema de CARTEPILLAR.

Legenda de cores e sinais:
  • >: "Maior que"
  • <: "Menor que"
  • =: "Igual à"
  • Vermelho: Variaveis a declarar
  • Laranja: número determinado pelo programador
  • Azul: Abre Condição/Fecha Condição
  • Verde: Abre Condição/Fecha Condição após outra condição
  • Azul Marinho: Abre Condição/Fecha Condição dentro de outra condição

Deixe o evento que deseja que ande em processo paralelo numa página e crie duas variáveis, uma que verifique constantemente a coordenada X deste evento e outra a Y, daí siga certo as instruções abaixo:
(Lembra, as condições que verificam distancia são todas foras, as que verificam se o evento atingiu as coordenadas são um dentro da outra, X dentro Y ou vice-versa).
Comentário:====Checar coordenadas===
<>Var [X-NPC] = Este Evento - Posição X
<>Var [Y-NPC] = Este Evento - Posição Y
Comentário:====Forçar seguir coordenadas
<>Condição: Var[X-NPC] < Valor da coordenada X desejada
  <>Mover: Este evento: Dar passo para baixo
  <>
<>
:Fim

<>Condição: Var[Y-NPC] < Valor da coordenada Y desejada
  <>Mover: Este evento: Dar passo para cima
  <>
<>
:Fim

<>Condição: Var[X-NPC] > Valor da coordenada X desejada
  <>Mover: Este evento: Dar passo para Cima
  <>
<>
:Fim

<>Condição: Var[Y-NPC] > Valor da coordenada Y desejada
  <>Mover: Este evento: Dar passo para Baixo
  <>
<>
:Fim

Comentário:====Caso encontre as coordenadas certas
<>Condição: Var[X-NPC] = Valor da coordenada X desejada
  <>Condição: Var[Y-NPC] = Valor da coordenada Y desejada
      <>Comentário: Acontecer EVENTo OU Switch que para o trajeto.
      <>
  :Fim
  <>
:Fim
<>

Se você precisar que o evento seja parado pelo jogador quando este o tocar então faça outro evento que controle o objeto ou NPC:
Comentário:====Checar coordenadas===
<>Var [X-NPC] = EV**** - Posição X
<>Var [Y-NPC] = EV**** - Posição Y
Comentário:====Forçar seguir coordenadas
<>Condição: Var[X-NPC] < Valor da coordenada X desejada
  <>Mover: Este evento: Dar passo para baixo
  <>
<>
:Fim

<>Condição: Var[Y-NPC] < Valor da coordenada Y desejada
  <>Mover: Este evento: Dar passo para cima
  <>
<>
:Fim
<>Condição: Var[X-NPC] > Valor da coordenada X desejada
  <>Mover: Este evento: Dar passo para Cima
  <>
<>
:Fim

<>Condição: Var[Y-NPC] > Valor da coordenada Y desejada
  <>Mover: Este evento: Dar passo para Baixo
  <>
<>
:Fim

Comentário:====Caso encontre as coordenadas certas
<>Condição: Var[X-NPC] = Valor da coordenada X desejada
  <>Condição: Var[Y-NPC] = Valor da coordenada Y desejada
      <>Comentário: Acontecer EVENTo OU Switch que para o trajeto.
      <>
  :Fim
  <>
:Fim
<>
 
Mas conseguiu? Afinal é até facil, eu escrevi isso sem ter o rpgmaker em mão usando apenas a lógica.
Você também não especificou sua engine então não pude nem indicar uma Script RGSS ou JScript.
 
Acredito que seria mais saudável abrir um novo tópico com essa questão.

---

Mas como sou um simples membro e não um tira, sugiro utilizar um Pathfinder (role a tela até a parte de scripts antigos). Nesse script, tudo a ser feito seria utilizar o Chamar script com o comando:

Código:
find_path(id, fx, fy)

Onde:

  • id é o ID do evento. -1 se desejar mover o personagem.
  • fx é a coordenada X para onde o evento deve mover.
  • fy é a coordenada Y para onde o evento deve mover.

Se quiser que o jogo espere a conclusão do movimento, é preciso apenas adicionar um true ao fim da função.

Código:
find_path(id, fx, fy, true)

Exemplo para mover o personagem para as coordenadas 9x15 do mapa:

Código:
find_path(-1, 9, 15)

Exemplo para mover o evento com ID 3 para as coordenadas armazenadas nas variáveis de ID 3 e 4, aguardando o término do movimento:

Código:
find_path(3, $game_variables[3], $game_variables[4], true)

:meow:
 
Voltar
Topo Inferior