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

[AJUDA]Mostrar Imagem!

Iniciado por Aandel, 19/08/2019 às 03:43

19/08/2019 às 03:43 Última edição: 20/08/2019 às 06:37 por Corvo
 :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



◆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!

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.

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

19/08/2019 às 20:24 #3 Última edição: 19/08/2019 às 20:31 por Corvo
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:


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:

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.

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

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

:clap: Topico resolvido!  :lock: