RPG maker MV - Condição em variável

9 Respostas   234 Visualizações

0 Membros e 1 Visitante estão vendo este tópico.

hategum rpg

Tópico criado em: 07/12/2018 às 17:06 - Última modificação por hategum rpg em 09/12/2018 às 08:37

Eu perdi a linha de raciocínio aqui, não estou conseguindo programar a seguinte situação. Tenho uma variável "VJ" e uma variável "VL" quero que quando "VL" for maior que em 3 uma coisa aconteça.
Obs: vl tem x e y , e a VJ tem x e y
Um cara desenvolvendo um jogo de RPG...
"  Faça o melhor que puder em tudo, simples assim."                    
                              - Hategum RPG.

Corvo

Resposta 1: 07/12/2018 às 17:08

Devo ter entendido errado, mas se quer que algo ocorra quando VL for maior que 3 é só isso:

Código: [Selecionar]
Se VL > 3:
    Isso acontece.

hategum rpg

Resposta 2: 07/12/2018 às 17:11

Eu editei lá em cima, a vl e a vj tem x e y, tipo são 4 variáveis pra cruzar..
Um cara desenvolvendo um jogo de RPG...
"  Faça o melhor que puder em tudo, simples assim."                    
                              - Hategum RPG.

Corvo

Resposta 3: 07/12/2018 às 17:14

Certo, e qual seria, objetivamente, o problema? Essas quatro variáveis representam coordenadas, certo? Você quer verificar se uma posição está acima/abaixo/ao lado da outra?

hategum rpg

Resposta 4: 07/12/2018 às 17:18 - Última modificação por hategum rpg em 07/12/2018 às 17:25

Se: VJ= x 1
               Y1
For maior que
      VL = x 3
               Y3
Então minha condição acontece
Isso vai me  dar um controle, limitando o evento de se mover...pois tem um sistema que controla a direção de um evento, mas não coloquei um limite.

Um cara desenvolvendo um jogo de RPG...
"  Faça o melhor que puder em tudo, simples assim."                    
                              - Hategum RPG.

Corvo

Resposta 5: 07/12/2018 às 17:25

Os x1 e x3 me confundiram, não sei se é uma multiplicação ou outra variável. Mas tente usar mais duas. Por exemplo:

Código: [Selecionar]
Usarei multiplicação como exemplo, mas você pode fazer qualquer cálculo.

N1 = VJ * 1
N2 = VL * 3

Se N1 > N2:
    Efeito.

hategum rpg

Resposta 6: 07/12/2018 às 21:10

Sim, no caso são 4 variáveis, com 2 coordenadas de x e y, essa mecânica e para compor um sistema onde Variável do local seria VL e variável jogador seria VJ, com o número de uma sendo maior que a outra eu poderia limitar o número de quadrados que o personagem andaria, atualmente no combate o jogador anda livremente, quero a variável para marcar apenas um passo, se maior que isso o evento volta 1 passo, bom vou tentar desse jeito ai com números e Mais variáveis pra tentar chegar no resultado.
Um cara desenvolvendo um jogo de RPG...
"  Faça o melhor que puder em tudo, simples assim."                    
                              - Hategum RPG.

Conspiracy

  • *
  • Posts: 91
  • Ouros: 30
  • Eventer, Roteirista, e revendo ticket de loteria..
Resposta 7: 07/12/2018 às 22:14

Acho que entendi.
vou usar o '.' como separador (não sei se entende de programação por scripts, mas acho que fica nítido o que quero mostrar).
Eu acho que o ideal seria algo do tipo.
abs(VJ.x - VL.x) + abs(VJ.y + VL.y);
o "abs" é uma função de valor "absoluto" onde o VJ.x é a variável 'x' do VJ, e assim por diante.
No caso, dessa forma você consegue somar a diferença das coordenadas.

Se abs(VJ.x - VL.x) + abs(VJ.y + VL.y) > 3
    Então Personagem X voltar um passo.
Acredito que não precisaria de uma clausula "senão/else"
Writing codes. Writing novels. Writing... Fates.

hategum rpg

Resposta 8: 08/12/2018 às 07:08

Acho que entendi.
vou usar o '.' como separador (não sei se entende de programação por scripts, mas acho que fica nítido o que quero mostrar).
Eu acho que o ideal seria algo do tipo.
abs(VJ.x - VL.x) + abs(VJ.y + VL.y);
o "abs" é uma função de valor "absoluto" onde o VJ.x é a variável 'x' do VJ, e assim por diante.
No caso, dessa forma você consegue somar a diferença das coordenadas.

Se abs(VJ.x - VL.x) + abs(VJ.y + VL.y) > 3
    Então Personagem X volftar um passo.
Acredito que não precisaria de uma clausula "senão/else"

Sim, é isso ai magnitude, consigo reproduzir limitando o personagem, porém tem outros pontos que não levei em consideração, por exemplo o ponto inicial em outros locais, se o personagem está no ponto 0 e pode ir ate o ponto 2, então vou ter que fazer outra limitação quando o ponto inicial for 2 e o personagem puder ir ate o ponto 4, esses cálculos aí ainda não estou conseguindo programar, vou pensar em usar números fixos para determinar o valor absoluto da variável local.

Vlw
Um cara desenvolvendo um jogo de RPG...
"  Faça o melhor que puder em tudo, simples assim."                    
                              - Hategum RPG.

hategum rpg

Resposta 9: 09/12/2018 às 08:37

Entendo como funciona agora, tem um sensor por eventos que mostra como funciona os cálculos, acho que isso vai dar pra fazer o que eu quero.
Um cara desenvolvendo um jogo de RPG...
"  Faça o melhor que puder em tudo, simples assim."                    
                              - Hategum RPG.