Como usar uma condição com "$game_map.events[id].passable?"

3 Respostas   264 Visualizações

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

Sir helix

  • *
  • Posts: 5
  • Ouros: 4
Tópico criado em: 25/02/2016 às 07:22 - Última modificação por King Gerar em 25/02/2016 às 08:33

Bem eu tava tentando fazer um sistema onde tem um evento de baú ai ele se muda para uma posição aleatória, se a posição onde ele parou não for passavel, ele vai pra outra posição aleatória, mas a condição com script call do: $game_map.events[id].passable?(x, y, d), fica dando problema toda hora quando coloco $game_map.events[4].passable?(x, y, d) dá isso:

quando coloco com @ na frente do x,y e d "$game_map.events[4].passable?(@x, @y, @d)" dá esse outro erro:

aqui estão os comandos do evento:


Geraldo de Rívia

  • Mito
  • *
  • Posts: 4452
  • Ouros: 3887
  • O vento está sibilando.
  • Medalhas Vencedor do Protótipo Premiado Participantes do Maps Together 2
Resposta 1: 25/02/2016 às 07:35 - Última modificação por King Gerar em 25/02/2016 às 08:03

VX Ace ou VX? Vou considerar como sendo o VX Ace.
Ocorre o primeiro erro pois tu não definiu qual coordenada verificar. Aí quando o script pensa
"Vou lá verificar se a coordenada X é passável. Ah não, pera, ele não definiu X. Toma esse erro!"
No caso, tu teria que colocar:

Código: [Selecionar]
$game_map.events[4].passable?($game_variables[1], $game_variables[2], 2)
Porém acho que esse método vai verificar se a coordenada de destino do movimento será passável.
Por exemplo, se tu especificar X = 1 e Y = 1 e D = 2 (direção para baixo), vai verificar se a coordenada
X1 Y2 é passável, pois esta seria a coordenada de destino do movimento. Seria mais fácil e preciso tu
marcar os tiles possíveis com regiões, e usar elas para verificar se o baú pode ou não permanecer ali.

Sir helix

  • *
  • Posts: 5
  • Ouros: 4
Resposta 2: 25/02/2016 às 08:15

VX Ace ou VX? Vou considerar como sendo o VX Ace.
Ocorre o primeiro erro pois tu não definiu qual coordenada verificar. Aí quando o script pensa
"Vou lá verificar se a coordenada X é passável. Ah não, pera, ele não definiu X. Toma esse erro!"
No caso, tu teria que colocar:

Código: [Selecionar]
$game_map.events[4].passable?($game_variables[1], $game_variables[2], 2)
Porém acho que esse método vai verificar se a coordenada de destino do movimento será passável.
Por exemplo, se tu especificar X = 1 e Y = 1 e D = 2 (direção para baixo), vai verificar se a coordenada
X1 Y2 é passável, pois esta seria a coordenada de destino do movimento. Seria mais fácil e preciso tu
marcar os tiles possíveis com regiões, e usar elas para verificar se o baú pode ou não permanecer ali.

Funcionou, o baú não apareceu nenhuma vez aonde não era passavel, acho que dá pra continuar usando esse metodo ao invez de usar regiões... agora pegue meu ouro

Geraldo de Rívia

  • Mito
  • *
  • Posts: 4452
  • Ouros: 3887
  • O vento está sibilando.
  • Medalhas Vencedor do Protótipo Premiado Participantes do Maps Together 2
Resposta 3: 25/02/2016 às 08:33

Tomei a liberdade de marcar o tópico como resolvido, então.

Mas teste bem, umas dez vezes no mínimo. Se esse método funcionar como penso que funciona
ainda há chances do baú parar em local indevido. Qualquer coisa me manda MP e destranco o tópico.


 :lock: