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

Como finalizar um evento apartir de outro.

Iniciado por SoyeR, 26/08/2019 às 11:16

26/08/2019 às 11:16 Última edição: 27/08/2019 às 11:23 por Corvo
Estou com um problema no meu projeto, nele eu tenho varios eventos que eu gostaria que acontecessem em uma certa sequencia, Mas para não ficar um evento enorme eu criei varios eventos comuns até aqui tudo certo.

O problema é quando um desses eventos leva o jogador para outro mapa e dai quando ele volta para o mapa principal, eu sinto como se o evento principal estivesse duplicado, no caso o jogador 1 que anda no tabuleiro mas o que acontece é que os 2 jogadores que acabam andando quase ao mesmo tempo.

Por isso seria util pra mim se eu pudesse finalizar o evento antes de trocar de mapa pois quando volta ao mapa principal ele já é iniciado paralelamente.
Existe algum comando que possa finalizar um evento apartir de outro evento?  :o:





Não entendi muito bem, mas é essa a função dos switches. Coloque os eventos para só serem executados se o switch[ID] estiver ativado ou desativado. Assim você alterna entre os turnos e mapas mantendo o controle.

Eu fiz isso e mesmo assim quando volta para o mapa ele Continua o evento que já estava em execução.

Funciona assim:

Evento principal - Controla o turno do jogador, na vez do jogador ele pergunta ao jogador o que quer fazer, ao terminar ele passa o turno pro próximo jogador.

No caso em questão quando o jogador cai na mesma casa que o outro jogador é ativado um evento comum "combate" dai eu transfiro eles para um outro mapa onde o combate acontece, Quando termina que eu volto para o mapa do tabuleiro ele continua o evento principal só que os 2 jogadores acabam se movendo no mesmo turno.





Vc poderia disponibilizar um vídeo da gameplay do erro em questão?
Unique Destiny | um novo conceito de RPG Maker 2000!

Segue o video do inicio do funcionamento que funciona perfeitamente os turnos porem depois que o evento "combate" acaba que os jogadores voltam ao mapa de origem os turnos ficam doidos, acredito que repetindo o mesmo evento.


Bug em 1:20






Pô, estou com o projeto aqui, mas até hoje não cai em um combate pra ver se o bug acontece. Se me permitir, posso abrir no editor e ver qual o problema com mais detalhes. Agora, pelo vídeo pode ser que a batalha tenha recomeçado o evento, e não continuado. De toda forma teria de ver qual a estrutura dessa movimentação e do sistema de turnos pra ver o que está havendo.

No mapa de batalhas alguma variável está sendo modificada, certo? Verificou se não configurou errado e mudou uma usada no mapa anterior?

Amigo, acredito que isso aconteça, porque o maker muda a variável do turno muito rapidamente, mais rápido até do que o resultado do teleport para o mapa da batalha.

O que você pode fazer é mudar o turno quando voltar do mapa de batalha, talvez isso resolva.

Por exemplo, quando o dado rolar e eles não estiverem na mesma posição, vai mudar normalmente, mas, no caso das batalhas, o turno é alterado:
if (Pos1 == Pos2)
<> Ir mapa batalha
else
if (turno = 1)
<> turno = 2
endif
endif

Veja se esse raciocínio funciona =)
Unique Destiny | um novo conceito de RPG Maker 2000!

Valeu Avenger consegui resolver!

Você ate me iluminou para uma questão que ia causar muitos problemas futuros, eu tava usando Switch para fazer os turnos, mas como vou querer ter 4 jogadores então 4 switchs pode dar mais trabalho e com a variavel Turno e definir um valor para cada jogador vai ser melhor. Valeu!





Citação de: SoyeR online 27/08/2019 às 10:18
Valeu Avenger consegui resolver!

Você ate me iluminou para uma questão que ia causar muitos problemas futuros, eu tava usando Switch para fazer os turnos, mas como vou querer ter 4 jogadores então 4 switchs pode dar mais trabalho e com a variavel Turno e definir um valor para cada jogador vai ser melhor. Valeu!

Que ótimo, manito! Fico feliz em ajudar.
Foi esse raciocínio que eu utilizei para criar esse jogo aqui, que é de tabuleiro e envolve quatro jogadores:


Obs: só uma dica final: para criar o ciclo de rodadas, você pode fazer o seguinte:
• Fim de cada rodada:
<> turno + 1
if turno = 5
<> turno = 1

Esse pensamento é bom, porque você não precisa verificar se é o turno do último jogador, e colocar um comando diferente, assim vai direto.
Unique Destiny | um novo conceito de RPG Maker 2000!