Sistema de Barra de HP na batalha padrão do Rpg Maker 2003
Antes de mais nada, eu quero me desculpar por essa formatação, que deve estar péssima. Eu havia criado o texto no word com tudo certinho, mas quando passei pro site deve ter quebrado tudo (além das fontes, tamanhos e cores das letras). Amanhã eu arrumo tudo =]
1- Dados Gerais:
Desenvolvedor: Shinnaider
Versão: rm2k3, rm2k(?)... Não sei se funciona para outras versões
Nível de dificuldade: Médio
Restrições: O trabalho para fazer o sistema funcionar para batalhas com mais de um oponente é maior... bem maior!
Créditos: se quiserem podem colocar meu nome nos créditos. Eu ficaria agradecido...
2- Introdução:
Você sempre quis colocar uma barra de HP na batalha do seu jogo, de modo que o jogador soubesse a quantia do HP do oponente? Nesse caso, provavelmente você deve saber que o sistema de batalha padrão do rm2k3 (e rm2k) não possibilitam ao desenvolvedor inserir pictures. Sendo assim, como colocar essa barra de HP sem pictures?
Uma das alternativas – bem mais extensa e complexa – seria modificar o sistema de batalha para um CBS, ou Custom Battle System. Obviamente se você consegue programar um CBS ou ainda se seu jogo já possui um CBS, então esse tutorial será, creio eu, praticamente inútil.
Ignoremos então essa primeira alternativa e passemos para a segunda: é possível utilizar uma técnica para mostrar o HP na tela de batalha sem utilizar nenhuma Picture. E mais, acredite se quiser, você não gastará nenhuma variável ou switch! (exceto se for utilizar o meio ‘alternativo’ que será descrito posteriormente)
Entretanto, para aplicar esse sistema, é preciso dedicação e paciência. Inicialmente ele funcionará apenas para batalhas com um oponente. Mas ele pode ser estendido para batalhas com mais oponentes, embora o trabalho seja muito maior.
3- Desenvolvendo
Você terá que ter em mente o seguinte: “Os monstros que mostrarão o HP usam sempre o mesmo terreno/backdrop?”
Essa resposta irá determinar se será preciso ou não a utilização de variáveis. Ignore, por enquanto, esse detalhe.
3.1- Primeiro passo: editando as imagens
Agora será revelado o segredo do sistema... Antes seria bom já ter as imagens do HP. Nesse caso, usaremos imagens que representarão o HP com 100, 95, 90, 85... 20, 15, 10, 5 e 0 %, ou seja, com uma diferença de 5%.
Abra o backdrop (imagem de fundo da batalha) que será utilizado. Pode ser através do paint ou de algum outro programa editor de imagens (como o iDraw). Insira a imagem da barra de HP com 100% e mova-a até o local desejado, tendo em vista que essa será a imagem apresentada na batalha. Após isso, salve a imagem como “backdropX_100.png” ou algo do tipo. Depois disso, abra cole a imagem do HP com 95% em cima do HP anterior e assim por diante. No final (se estiver seguindo o exemplo), você terá 21 imagens do backdrop. Exemplo:
3.2- Segundo passo: Colocando no maker
Você deve ter percebido que para contornar a falha dos makers de ser impossível colocar pictures nas batalhas (não deixa de ser falha, né?), usaremos backdrops que já contém o HP.
OK. Agora abra o maker e aperte F8.
Vá à aba “Equipe de Monstros”. Sugiro que vocês criem um novo grupo de inimigo, nomeando-o como “Template”, ou algo do tipo. Adiciona um monstro qualquer. Você deverá ter algo do tipo:
Agora focalize a região onde está escrito “Comandos de Evento”. Clique nos três pontos localizado no lado direito do “Disparar ”. Aparecerá outra tela. Selecione “Turnos Totais” e deixe tudo como 0.
Agora nós temos duas alternativas:
a) Os inimigos aparecerão em apenas um backdrop. Por exemplo: um slime aparecerá apenas em florestas, um peixe só no mar, morcegos só em cavernas;
b) Os inimigos aparecerão em diversos backdrops diferentes. Por exemplo: um morcego aparecerá em cavernas, mas, também, em florestas negras.
Iremos iniciar com a primeira opção e depois eu ensinarei a segunda. Vale ressaltar que esse exemplo-tutorial irá limitar-se a grupos de inimigos com apenas 1. Ou seja, aqueles grupos com mais de um 1 oponente não apresentarão a barra de HP na tela.
Bem, agora iremos começar a “programar”. Dê um ok na tela anterior (“Condição Inicial”).
Dê dois cliques no retângulo branco abaixo de “Disparar Número de turnos[0]”. Aparecerá uma lista de comandos. Iremos selecionar o comando destacado: (Mudar Backdrop)
Após isso, selecione o backdrop correspondente ao HP com 100%.Nesse exemplo usaremos o backdrop de um campo, ou seja, estarei montando um template para qualquer inimigo que aparece no campo. É interessante criar, mais tarde, uma template para cada terreno ou então utilizar o método apresentado mais tarde.
Continuemos...
Em “Comandos de Evento” em “Equipe de Monstros”, clique em “Nova página” e, na nova página que irá se abrir, nas reticências (“...”) ao lado de disparar. Como na imagem:
Uma nova tela (“Condições Iniciais”) irá se abrir. Selecione a opção “HP do inimigo”. Deixe selecionado o único monstro possível (Dã) e depois insira os valores 94 e 99 nas caixas abaixo.
Feito isso, clique em OK.
Dê dois cliques no retângulo em branco (abaixo de “Disparar Inimigo[1:???]HP[94-99]”). Aparecerá a lista de comandos. Clique no “Mudar Backdrop” e, em seguida, selecione o backdrop referente ao HP com 95%. Dê OK.
Agora os passos serão repetitivos. Você clicará em “Copiar Página” e depois em “Colar Páginas”. Clique nas reticências ao lado de disparar e modifique os valores 94 para 89 e 99 para 95. Ao final, você deverá ter o seguinte:
Dê OK e selecione (dê um clique) onde está “Mudar Backdrop: ” no retângulo abaixo de “Disparar Inimigo[1:???]HP[89-95]”. Feito isso, pressione a barra de espaço do seu teclado. E escolha a imagem de backdrop correspondente ao HP com 90%.
Repita o procedimento de Copiar e Colar as páginas, mudando os valores (diminuindo de 5 em 5 em relação ao anterior) e a imagem de backdrop para àquela possuindo o HP com 85, 80, 75% e assim por diante. A última página deverá ser essa:
Obs.: Como será explicado posteriormente, não haverá uma página para HP vazio (0%).
Se você tiver feito tudo certo e testar o jogo, a barra de HP estará funcionando!
4- Bugs
O sistema apresentará alguns bugs:
a) A barra de HP não é mudada quando o inimigo morre (0% de HP);
b) Não lembro ao certo, mas, se não me engano, caso o inimigo use uma magia de recuperação de vida, o HP mostrado na tela não é alterado;
c) O sistema só funciona para determinado terreno (no meu caso, o campo).
Soluções:
a) Faz tempo que não mexo nesse sistema. Portanto não encontrei uma solução. Mesmo que você crie uma página adicional no grupo de inimigo com HP vazio, o erro persistirá =(
b) Por enquanto eu também ficarei devendo uma solução... Se alguém descobrir, é só me informar que eu edito o tuto =)
c) Seu sistema usa apenas um backdrop? Se sim, o tutorial termina aqui. Caso contrário, nós temos duas opções:
- Criar um template para cada terreno. Nesse caso, basta mudar as imagens de backdrop presente em cada página.
- Usando variáveis! Usaremos essa opção =)
5- Mais de um terreno
É preciso que você tenha em mãos os backdrops já prontos.
No Rpg Maker, aperte F8 e vá na aba “Eventos Comuns”.
Em condição de início, deixe marcado “Processo Paralelo”. Não será necessário nenhum switch como condição de disparo. Dê dois cliques na região retangular e selecione a opção “Mudar Variável”, localizada na primeira aba. Selecione uma variável qualquer com o nome “Hx”. Deixe marcada a opção “Setar” e “Eventos”. Em eventos, escolha as opções “Herói” e “Coordenada X” respectivamente. Exemplo:
Dê OK. Depois disso, dê dois cliques abaixo desse comando que criamos. Na lista que aparecerá, escolha “Mudar Variável” novamente. Mude a variável para uma nova, nomeada “Hy” e mude a opção “Coordenada X” para “Coordenada Y”. Dê OK.
Abra a lista de comandos (clicando 2 vezes abaixo do último comando) e selecione a opção “ID de terreno”, localizada na segunda aba. Selecione a segunda opção (“Por Variável”). Em “coord X” selecione a variável Hx e em “coord Y” selecione Hy. Ao final, selecione uma nova variável chamada “H terreno”. Ficará assim:
Dê um OK.
O evento ficará assim:
Antes de irmos para o próximo passo, é necessário que os chipsets e os terrenos estejam corretamente definidos.
Agora volte para a aba Equipe de Monstros e escolha o nosso Template. Vá na primeira página e modifique o código para algo como o seguinte (considere o que está após o ‘//’ como apenas comentários):
<>IF – THEN: Var[???: H terreno] – 0 //condição – (variável H terreno = 0)
<> Mudar Backdrop: Planicie_HP_100 //escolha o backdrop igual ao terreno de id 0
:FIM Caso
<>IF – THEN: Var[???: H terreno] – 1 //condição – (variável H terreno = 1)
<> Mudar Backdrop: Caverna_HP_100 //escolha o backdrop igual ao terreno de id 1
:FIM Caso
E assim por diante.
Depois disso, copie essas mesmas condições nas outras páginas de evento, mudando apenas a imagem de backdrop para a porcentagem adequada.
Exemplos:
6- Usar em mais de um grupo de inimigos
Após tudo isso, você deve estar se perguntando: “Mas eu terei que fazer todos esses passos sempre que quiser criar um novo monstro?”. A resposta é simples: Não! Para criar novos grupos de inimigos, você terá apenas que copiar o grupo nomeado Template e colar no local desejado (final da lista de grupos?). Após isso não será necessário alterar mais nada! Apenas o nome do grupo e, obviamente, o monstro do grupo =P
7- Mais de um inimigo por grupo. Tem como?
Sim, é possível. Mas não acrescentarei aqui no tuto, por ser algo mais complexo e muito mais extenso.
8- Demo
Irei, assim que possível, lançar uma demo com o código acima, para que aqueles que têm dificuldades possam entender o código.
9- Efeito final
Eu estava utilizando esse sistema num jogo anterior – que está ‘parado’. Entretanto, eu cheguei a fazer um vídeo demonstrativo de alguns sistemas do jogo. Dentre eles, esse que aqui apresentei. Se quiserem ver como fica, vejam o vídeo =]
10- Considerações Finais
Esse sistema não está exatamente completo devido aos dois bugs que apresentei: o HP não zera e não aumenta caso o inimigo use magias de cura.
Sendo assim, deixo-o aqui para aqueles interessados em modificá-lo.
Abraços e até a próxima \o/