Dinamizando o Comando Esperar/Wait

O tutorial a seguir não te ensinará a fazer um sistema, mas é um método para dinamizar o comando Esperar (Wait) que pode servir em diversos sistemas, ou mesmo melhorar os que você já tem.

(É recomendável que saiba o básico sobre labels, variáveis, switches e condições.)
Mas o que é essa dinamização?
Imagine o seguinte sistema: queremos que um certo personagem não-jogável (NPC) ande apenas de tempos em tempos, porém que esse tempo seja bem variado. Ou então queremos que algum espinho saia do chão com intervalos de tempos variados.
O comum, por costume, seria rodar uma variável aleatória e fazer várias condições, uma para cada valor da variável com um esperar/wait diferente. Funciona? Sim, funciona, mas imagine fazer isso de uma forma muito mais rápida, com apenas uma condição e deixando o esperar/wait variando da forma que você quiser.
É muito simples. Ainda seguindo o exemplo do NPC, podemos fazê-lo esperar qualquer valor entre 5 e 100 frames da seguinte forma:
Separe uma variável e faça ela sortear um valor aleatório entre 5 e 50. Depois, use uma switch para ativar um evento que fará uma condição ser ativada em outro evento. Nesse caso, seria até mais fácil colocar tudo em uma mesma página e usar umalabel:
Primeiro foi feito o comando para sortear a variável de 5 até 50. Logo depois temos uma label, um comando para esperar 1 frame (para que a label funcione corretamente) e uma condição. A condição diz que se a variável sorteada for maior que 0, uma espera de 1 frame é ativada e a variável perde 1 em seu valor, e logo após o evento volta para a label e a condição é ativada novamente.
Se o valor sorteado for 21, por exemplo, a condição rodará 21 vezes e 21 esperas serão ativadas, totalizando 21 frames. Quando a variável chega a 0, a exceção da condição é ativada e o comando desejado também: nesse caso, faz o NPC andar aleatoriamente.
Note que se quiser que esse NPC fale com o herói, por exemplo, você deverá fazer esse código em outro evento, e, na exceção, colocar o comando de movimento do NPC (para que possa ativar os comandos de mensagem na página do NPC).
Explore esse método, ele serve para muitas outras coisas.

Perguntas frequentes

1- Eu queria que a diferença de tempo fosse de 5 em 5 frames e não de 1 em 1. Tenho que fazer a variável sortear de 5 em 5?
Não, você pode alterar o valor da espera de 1 para 5, e então fazer a variável sortear quantas esperas você quiser variar.
2- Posso usar esse método para dinamizar outros comandos?
Ao invés do “Esperar” você também pode usar esse esquema com qualquer comando que queira fazer repetidas vezes, embora, dependendo do comando, possam haver métodos melhores.

Categories:

Leave a Reply