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

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

Iniciado por hategum rpg, 07/12/2018 às 17:06

07/12/2018 às 17:06 Última edição: 09/12/2018 às 08:37 por hategum rpg
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

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

Se VL > 3:
    Isso acontece.

Eu editei lá em cima, a vl e a vj tem x e y, tipo são 4 variáveis pra cruzar..

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?

07/12/2018 às 17:18 #4 Última edição: 07/12/2018 às 17:25 por hategum rpg
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.


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

Usarei multiplicação como exemplo, mas você pode fazer qualquer cálculo.

N1 = VJ * 1
N2 = VL * 3

Se N1 > N2:
    Efeito.

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.

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.

Citação de: Conspiracy online 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 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

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.