[AJUDA]Mostrar Imagem!

5 Respostas   960 Visualizações

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

Aandel

  • *
  • Posts: 164
  • Ouros: 37
Tópico criado em: 19/08/2019 às 03:43 - Última modificação por Corvo em 20/08/2019 às 06:37

 :coffee:
Ola pessoal!
Estou no processo de criar um submenu por eventos.
Consegui criar grande parte do que eu queria, porém agora fiquei preso em uma parte onde eu preciso mostrar o Nível via Imagens de cada Personagem.
Vamos lá:
Tenho 2 Imagens:
A do Personagem
A do Nv. do Personagem

1º: Utilizando das setas  <= e => eu posso escolher qual Imagem do Personagem irá ser mostrada.
2º: Para cada Imagem preciso que mostre a Imagem atual do Nível deste Personagem e caso eu não tenha o Personagem, não deverá ser mostrado nenhuma Imagem.

Porém não estou conseguindo fazer com que a Imagem do Nível seja mostrada corretamente, um exemplo é que toda vez que o Personagem A sobe para o Nivel 2, a Imagem de Nivel 2 aparece para todos os demais Personagens que estão em Niveis diferentes, inclusive para os que eu nem tenho ainda.

Aqui segue a parte do Evento Comum que estou preso:

Em um Evento em Processo Paralelo, deixo rodando as Variáveis que verificam o Nível de cada personagem.
Neste Mesmo Evento eu Ativo a Switches: #0091 08 Nivel que se refere ao Evento Comum onde rodará o Evento abaixo
O 05 Selector, refere-se a uma variável de um outro Evento Comum que mostra cada Personagem de acordo com o uso das Setas  <= =>
Ou seja:
 05 Selector = 1 refere-se a Imagem do Personagem A que está sendo mostrada
 05 Selector = 2 refere-se a Imagem do personagem B que está sendo mostrada
 05 Selector = 3 refere-se a Imagem do personagem C que está sendo mostrada



Código: [Selecionar]
◆Se:05 Selector = 1
  ◆Se:Nivel do PersonagemA= 1
    ◆Exibir Imagem:#25, Nivel 1, Centro (540,290), (100%,100%), 0, Normal
    ◆Mover Imagem:#25, Centro (540,290), (100%,100%), 255, Normal, 15 quadros
    ◆Controlar Switches:#0091 08 Nivel = OFF
    ◆Fim da Execução do Evento
    ◆
  :Fim
  ◆Se:Nivel do PersonagemA= 2
     ◆Exibir Imagem:#25, Nivel 2, Centro (540,290), (100%,100%), 0, Normal
    ◆Mover Imagem:#25, Centro (540,290), (100%,100%), 255, Normal, 15 quadros
    ◆Controlar Switches:#0091 08 Nivel = OFF
    ◆Fim da Execução do Evento
    ◆
  :Fim
  ◆
:Fim
◆Se:05 Selector = 2
  ◆Se:Nivel do PersonagemB= 1
    ◆Exibir Imagem:#25, Nivel 1, Centro (540,290), (100%,100%), 0, Normal
    ◆Mover Imagem:#25, Centro (540,290), (100%,100%), 255, Normal, 15 quadros
    ◆Controlar Switches:#0091 08 Nivel = OFF
    ◆Fim da Execução do Evento
    ◆
  :Fim
  ◆Se:Nivel do PersonagemB= 2
    ◆Exibir Imagem:#25, Nivel 1, Centro (540,290), (100%,100%), 0, Normal
    ◆Mover Imagem:#25, Centro (540,290), (100%,100%), 255, Normal, 15 quadros
    ◆Controlar Switches:#0091 08 Nivel = OFF
    ◆Fim da Execução do Evento
    ◆
  :Fim
  ◆
:Fim
◆Se:05 Selector = 3
  ◆Se:Nivel do PersonagemC= 1
    ◆Exibir Imagem:#25, Nivel 1, Centro (540,290), (100%,100%), 0, Normal
    ◆Mover Imagem:#25, Centro (540,290), (100%,100%), 255, Normal, 15 quadros
    ◆Controlar Switches:#0091 08 Nivel = OFF
    ◆Fim da Execução do Evento
    ◆
  :Fim
  ◆Se:Nivel do PersonagemC= 2
    ◆Exibir Imagem:#25, Nivel 2, Centro (540,290), (100%,100%), 0, Normal
    ◆Mover Imagem:#25, Centro (540,290), (100%,100%), 255, Normal, 15 quadros
    ◆Controlar Switches:#0091 08 Nivel = OFF
    ◆Fim da Execução do Evento
    ◆
  :Fim
  ◆
:Fim
       
Se conseguiram entender e perceber meu ERRO, eu seria muito grato de o apontarem e me dar uma solução para a situação!
Vlw pesoal!

Corvo

Resposta 1: 19/08/2019 às 07:00

Pelo que você postou, seu evento apenas verifica o valor da variável. Ela está sendo atualizada em algum outro evento? Digo, toda vez que ele for chamado, atualize todas as variáveis usadas antes de mostrar as imagens.

Ludo

  • Veterano
  • *
  • Posts: 873
  • Ouros: 1227
  • Um homem não moldado pela dor, ainda é um menino
Resposta 2: 19/08/2019 às 12:36

Pelo que eu entendi, "Nivel do Personagem" é uma variavel que vc está usando para todos eles, mas acho que cada um deveria ter sua propria variavel de nivel separado. Senão fica a mesma coisa pra todos.
Tire um print do evento que é melhor pra visualizar
Clique e conheça o meu canal - Canal RPG Maker Zone

Aandel

  • *
  • Posts: 164
  • Ouros: 37
Resposta 3: 19/08/2019 às 20:24 - Última modificação por Corvo em 19/08/2019 às 20:31

Ola Corvo!
Ola Ludovic!

Então, existe sim um outro evento que roda paralelamente onde estão as Variáveis para cada Personagem que verifica o Nível de cada um deles.
Mas como o Corvo disse, a Condição não serve exatamente para atualizar a imagem de acordo com a Variável que verifica o Nivel do personagem?
Aqui está a imagem do Evento:

Spoiler
[close]


E aqui estão as Variáveis em processo paralelo:


Corvo

Resposta 4: 19/08/2019 às 20:31

A condição vai simplesmente verificar o valor, não atualizar. Antes de todas elas, você precisa incluir um comando declarando explicitamente qual o valor da variável. Creio que só repetir isso aqui no início do evento resolva:

Código: [Selecionar]
Variável[N] = Nível do Personagem[ID]
Se o outro evento está interferindo, pode ser que o "Mostrar Imagem" esteja sendo executado antes da atualização. O que eu recomendo: deixe um evento comum somente para a atualização das variáveis. Chame-o sempre que a tela for atualizada. Por exemplo, o jogador abriu o menu? Atualize. Mexeu em uma setinha? Atualize de novo. É coisa de milissegundos, não vai interferir praticamente nada no desempenho e previne erros como este.

Edit: Pois é, chame isto aí sempre que houver qualquer alteração na cena.

Aandel

  • *
  • Posts: 164
  • Ouros: 37
Resposta 5: 19/08/2019 às 23:07

 :<3:  :<3:  :<3:  :<3:  :<3:
Funfou!

Thanks Thanks Corvo e Ludovic! Um "misero" detalhe fez toda a diferença!
 :wow:

 :clap: Topico resolvido!  :lock: