Sistema de Roubar Habilidades

Fórum para a postagem de tutoriais e dúvidas de Rpg Maker 2000 e 2003.
Responder
Avatar do usuário
cascao
Membro (Marechal)
Mensagens: 1175
Registrado em: Qua Fev 07, 2007 2:15 pm
Maker Preferido: Rpg Maker 2003
Localização: São José do Rio Preto / SP
Contato:

Sistema de Roubar Habilidades

Mensagem por cascao » Seg Abr 09, 2007 1:26 pm

Este é sobre como fazer para roubar magias e habilidades especiais inimigas. Se vocês querem alguns bons exemplos do que estou falando, os Final Fantasy's 5, 6, 7 e Tactics têm alguns sistemas parecidos... Os três primeiros têm um tipo especial de magia chamado "Blue Magic" (traduzido erroneamente como "Lore" em FF6 e "Enemy Skill" em FF7) que consiste justamente em ganhar as habilidades inimigas após estes usarem ela contra
você (FF8 e FF9 também possuem Blue Magic, mas nestes dois jogos ela é aprendida de forma diferenete, portanto não nos interessa aqui). Já em Final Fantasy Tactics, acontece que algumas magias mais poderosas (como, por exemplo, a summon secreta Zodiac, que só pode ser aprendida assim) podem ser aprendidas desta forma, quando os inimigos utilizam ela contra você. E outro bom exemplo de jogo que também tem um sistema semelhante é Breath of Fire 4, onde praticamente TODO o sistema de habilidades é baseado em aprender as habilidades que os inimigos usam contra você. Bem, mas vamos logo ao tutorial propriamente dito.

Primeiro Passo - As Habilidades que o Inimigo Usa

Bem, antes de mais nada é necessário (como parece óbvio) criar as magias que você pode aprender. Crie elas normalmente, não se preocupe em grandes coisas nessa parte. Após ter criado as magias, vá até a parte "Monster" da Database, que é onde estão os montros do jogo, sejam os normais do RTP ou alguns que você tenha criado. Na parte "Atack Pattern", onde se coloca as ações que o monstro pode usar em batalha, quando você for colocar as magias que você escolheu anteriormente para poderem ser aprendidas nesta forma, marque a opção "Adition to ON Switch" e escolha uma switch diferente para cada habilidade diferente (por exemplo, uma switch para Fire, outra para Ice...). Você deve fazer isso em TODOS os monstros que podem usar essas habilidades.

Segundo Passo - Aprendendo as Habilidades (Após a Batalha)

Certo, agora vá até a parte "Common Events" da Database, que é onde será programada a parte onde o personagem aprende realmente as magias. Separe um Common Event para cada habilidade, ponha-os em "Auto-Start", e marque a opção "Appearance Conditions Switch", escolhendo a switch respectiva para cada habilidade (por exemplo, para aprender a magia Fire, é necesspario marcar aqui a switch que você escolheu anteriormente para Fire, na parte das action patterns dos monstros). A seguir, coloque no evento uma Fork Condition, para ver se o personagem já não conhece aquela habilidade (seguna página, a opção "Hero", mude onde diz "Party Need" e escolha "Special Skill" e a habilidade em questão). Caso já conheça a habilidade, simplesmente desligue a switch, pondo-a em OFF. No Excepting Case, que é pro caso de ele não ter a habilidade, você deve programar para ele aprender a magia. Coloque um Change Skill - Memorize para ele aprender a magia, e uma mensagem "Você aprendeu a magia X", onde "X", obviamente, é a magia que ele acabou de aprender. Em seguida, desligue a switch da magia e
pronto. Agora faça isso para as outras magias que ele pode aprender, e pronto! Você acabou de programar um sistema de roubar as habilidades dos inimigos quando estes a usam contra você! Esse é um método parecido com alguns jogos mais antigos, como os Final Fantasy's 5 e 6.

Para deixar esse método um pouco mais complexo e interessante, também é possível dar um aspecto mais aleatório ou dependendo dos atributos do personagem. Para isso, você irá precisar de uma variável. Faça o seguinte: primeiro, estipule uma chance do personagem aprender. Por exemplo, 3 em 5, uma chance até que boa. Coloque um Change Variable para definir a variável em Random, entre 1 e 5. Então, coloque uma Fork para que, se ela for igual a 3 ou menos, e coloque os eventos que foram descritos acima. Você também pode fazer isso depender dos atributos do personagem, colocando uma outra variável com o valor de um deles (por exemplo, o atributo que afeta as magias, normalmente "Magic" ou "Intelligence"), e comparando a variável gerada aleatoriamente com ela. Por exemplo, você coloca pra definir um número de 1 a 500 e tem esseatributo igual a 190. Coloque a outra variável com o valor desse atributo, e use uma Fork para ver se a variável aleatória é MENOR que a do atributo. Se for, aí vão os eventos de aprender a nova habilidade. E também é possível favorecer a chance de aprender certas habilidades se outras habilidades específicas já tiverem sido aprendidas, por exemplo, facilitando o aprendizado de Fire 2 se o personagem já sabe a magia Fire 1. É só colocar outra Fork para se ele já conhece a outra magia, e, se já conhecer, diminuir o valor da variável aleatória. Bem simples.

Segundo Passo - Aprendendo as Habilidades (Durante a Batalha)

Basicamente, é a mesma coisa que o método anterior: uma Fork para ver se o personagem já não tem a habilidade em questão, e, caso não tenha, um Change Skill para aprender. A diferença é que isso deve ser feito não nos Common Events, mas nos Battle Events da parte M. Party da Database. Essa forma é mais atual, é parecida com o Breth of Fire 4 e os Final Fantasy's 7 e Tatics, também fica muito bom, só que é um pouco mais chato de programar, não por ser mais difícil (afinal, o evento é exatamente o mesmo), mas porque você tem que copiar esse evento em TODOS os Monster Parties com mosntros que tenham essas habilidades... Assim como no anterior, também é possível usar variáveis para deixar a possibilidade de aprender a magia aleatória. Espero que tenha gostado deste tutorial.
Imagem

Decon
Moderador Global
Mensagens: 5470
Registrado em: Qua Ago 30, 2006 6:55 pm
Contato:

Mensagem por Decon » Seg Abr 09, 2007 6:04 pm

Essa habilidade eu lembro dos final fantasy´s como voce falou :happy: Belo tuto tambem

Responder