Créditos do Tutorial: Lehanius.
Aula 3
Olá, eu adorei o tópico, tem como fazer uma evolução de magias por
variaveis, estilo chrono trigger, por exemplo; precisa de pontos techs para
ganhar uma nova magia. Tem como eu guardar isto numa variavel?
Quando atingir a quantidade de pontos , pimba o personagem ganha a
nova magia!
Me ajuda, vai, por favor! 
Gostei da idéia. Por que não fazemos uma aula sobre isso?
Exemplo 3:
Vamos aproveitar a aula 2 e nos aventurar um pouco mais nos eventos de batalha. Dessa vez, temos uma motivação bastante interessante: o sistema de aprendizado de habilidades por vezes que elas são usadas.
Este exemplo visa transmitir noções de incremento (soma) a variáveis, com o objetivo de contagem. Essa noção é importantíssima para vários tipos de sistemas. Além disso, esta aula ampliará seus conceitos sobre eventos de batalha. Aqui cabe um agradecimento ao ethos 183, que me ajudou a ampliar meus limites com esse tipo de eventos.
Certo. No exemplo, faremos com que o nosso monge Clark evolua sua magia de cura de acordo com o número de vezes que ele a usa.
Abra o database. Crie um evento comum chamado Magias Cura.
Agora, vá em Habilidades. Procure as magias cura, cura+ e cura divina. Faça com que essas 3 magias chamem o evento comum Magias Cura. Veja:
(http://img523.imageshack.us/img523/2384/varaula22eq4.th.jpg)Agora sabemos que, toda vez que o Clark usar uma dessas 3 magias de cura, ele chamará o evento comum Magias Cura. "Tá, e daí?"
E aí que podemos colocar esse evento pra contar quantas vezes ele foi chamado, ou seja: quantas vezes esse tipo de magia foi usada.
Então, criemos nosso contador, que chamaremos de Contador Cura: nesse evento comum, coloque opções de variável: Contador Cura += 1 . Assim, cada vez que esse evento for ativado pelas magias, se somará 1 ao nosso contador.
Agora que já conseguimos contar a quantidade de usos das magias, basta criar as condições para que o contador determine a evolução das magias. Veja:
(http://img229.imageshack.us/img229/7758/varaula23if6.th.jpg)Perceba que, quando o Clark usar a magia Cura 2 vezes, ele a esquecerá e aprenderá Cura +, evoluindo a sua primeira magia. Quando usar o mesmo tipo de magia mais 3 vezes (5 = 2 +3), ela evoluirá denovo. Obviamente, esses números estão pequenos, mas esta aula não é sobre balanceamento de jogo.
"Mas, se o Clark ficar usando a magia no menu, vai evoluir mais rápido."
Bom, existe uma limitação pra isso: ele não pode usar uma magia de cura se estiver com a vida cheia. Mas é possível que o jogador explore outros tipos de habilidades, então vamos mostrar como evitar isso:
No database, mesmo, vá na aba Status. Crie um status chamado Treinar Magias, que deverá ser adicionado quando uma batalha começar e retirado apenas quando ela acabar. Veja:
(http://img98.imageshack.us/img98/4618/varaula24ls3.th.jpg)Obviamente, você não colocará um ícone para esse status. No exemplo, colocarei apenas para que você perceba quando o status é adicionado.
"Bom, mas e agora? Como fazemos pra adicionar esse status somente nas batalhas?" Ora, vá à aba Grupos Inimigos, que vocês já conhecem, e mande adicionar o status Treinar Magias, que nós criamos. É importante que esse status seja adicionado logo no início da batalha.
Agora, basta voltar ao nosso evento comum Magias Cura e colocar o status como condição para que se aumente a contagem. Veja as imagens:
(http://img246.imageshack.us/img246/7841/varaula25xe9.th.jpg) (http://img222.imageshack.us/img222/1461/varaula26wd5.th.jpg)Note que nosso contador foi para dentro da condição. Pronto! Agora, sempre que o Clark estiver em batalhas, o status Treinar Magias será adicionado e, quando ele usar magias de cura, ele vai acumulando pontos para que evolua para uma magia melhor.
Exercício:
Faça com que as habilidades de fogo da Sara também evoluam com o uso.