Usando variáveis para sorteio
O tutorial foi feito a fim de simplificar um problema que muitos makers têm ao sortear alguma coisa ou uma chance para algo acontecer, pois muitos usam quantidades excessivas de condições e variáveis. Ele também pode ser usado para fazer diversos sistemas, como o popular sistema de pescaria, ou uma caixa de surpresas que quando aberta pode ter lá qualquer item do jogo.
(É recomendável saber o básico de condições e variáveis. Ou, no caso dos RPG Makers 2000/2003, if forks e conditions.)
Para explicar, será usado como exemplo um sistema simples de pesca. No exemplo, queremos que o herói tenha chance de pescar os seguintes itens:
- Nada: 20% das chances
- Peixe pequeno: 30% das chances
- Peixe médio: 20% das chances
- Peixe grande: 15% das chances
- Peixe dourado: 10% das chances
- Peixe raro: 4% das chances
- Peixe lendário: 1% das chances
Como percebem, há 7 tipos de coisas que podem acontecer quado o herói for pescar. Então, para representar os 100%, criamos uma variável que irá sortear um valor de 1 até 100.
Quando a variável for de 1 até 20, ele não irá pegar peixes, mas de 21 até 50, o peixe pequeno, de 51 até 65, o médio, e assim por diante.
Só tem um problema: será que é preciso fazer 100 condições, uma para cada valor diferente? Grande parte dos iniciantes fazem, mas não é necessário.

Notem no código acima que uma condição diz que a variável tem que ser maior ou igual a 1, e outra dentro dela diz que tem que ser menor ou igual a 20, ou seja, se ela estiver entre 1 e 20, a ação será executada. Percebam que foram usadas só 2 condições ao invés de 20 (uma para cada valor da variável).
Qualquer sistema simples que use um sorteio, por mais minucioso que seja, fica fácil através desse método. Veja também outro jeito de fazer:

Funciona colocando tudo dentro das exceções (elses), do maior (o peixe lendário) para o menor, um dentro do outro. Quando o evento for executado, ele verificará primeiro se a variável está entre 99 e 100. Caso não esteja, a exceção será ativada e ele verificará acima de 96. Como já foi verificado que não está entre 99 e 100 não haverá problema algum.
A primeira forma é mais organizada, porém a segunda gera um código menor.
Data: 3 de setembro de 2011





