Forums » RPG Maker XP

[Demo + Tutorial]Sistema de Banco com Menu -- MRM Recomenda #17

    • 404 posts
    2 de junho de 2015 19h10min01s ART

    [move]Se for postar em outros fórums, colocar créditos por favor.[/move]

    Olá amigos, 
    Venho trazer a vocês um sistema bem útil feito por mim: Banco com menu. É um sistema que usa variáveis para praticamente tudo juntamente com switches. Além disso, irei dar a idéia de como projetar através de um tutorial.
    Se algo estiver mal explicado ou você tiver dúvidas me fale imediatamente que eu farei melhorias.



    Nome do Sistema: Banco com menu.
    Criador:  DDark (Dimas Dark, eu)
    Nível (dificuldade): Médio
    Método:  Variáveis / Switches / Condicionais
    O tutorial em sí possui um total de 30 imagens

    O tutorial está dividido nas seguintes partes:

    • Criando o necessário
    • Criando os eventos principais da seta
    • Fazendo o movimento da setinha
    • Criando Limitadores
    • Criando as operações do banco
    • Botão confirmar e Teleport
    • Retoques Finais


    1. Criando o necessário

    Spoiler 
    Crie 6 variáveis com qualquer nome; no meu caso foram essas (para facilitar):  dinheiro, menu, dinheiro no banco, banco (local), menu do banco, dinheiro temporário.

    Imagem Postada

    Também crie 1 switch; no meu caso: tp1

    Imagem Postada

    Crie um mapa com nome qualquer. Vamos enfeitá-lo com alguma coisa, eu fiz um tileset aqui para facilitar, ta feio mas vai:

    Imagem Postada

    Aproveite e pegue este charset de setinha e importe para seu projeto:

    Imagem Postada



    2. Criando os eventos principais da seta

    Spoiler 
    Já com o mapa parecido com esse, ou igual, monte 3 eventos (vai ser a nossa setinha):

    Imagem Postada

    Primeiro evento (o de cima)
    coloque o character da setinha e as seguintes configurações:

    Imagem Postada

    Na segunda página desse evento (cópia da primeira) porém com algumas diferenças:  nenhuma animação e a variável menu do banco >= 1 (maior ou igual que).

    Segundo evento (o do meio)

    Faça 3 páginas, nelas coloque as seguinte configurações:

    Imagem Postada
    Imagem Postada
    Imagem Postada


    **Detalhe: Para os experientes que já perceberam, estamos fazendo esta variável com o objetivo de a setinha aparecer quando a variável mudar de valor, entre 0 e 2, ou seja, as 3 posições: o evento 1 na 0, o evento 2 na 1, o evento 3 na 2. Mais a frente iremos fazer eventos para mudar o valor dessa variável e fazer a setinha andar. 


    Terceiro evento (o de baixo)

    Igual aos outros porém diferente nas variáveis. Coloque as seguintes configurações:

    Imagem Postada
    Imagem Postada
    Imagem Postada

    Feito isso está pronto o menu, agora vamos as funções dele!




    3. Fazendo o movimento da setinha

    Spoiler 
    Crie mais 2 eventos, agora em qualquer parte do mapa, em processo paralelo.

    Abra qualquer um deles: esse vai ser o movimento para baixo.

    Ev. Movimento para baixo

    Crie uma condição (1ª página): Ao pressionar a tecla para baixo.

    Imagem Postada

    Dentro da condição, coloque para esperar 5 frames (1/4 de segundo) para evitar repetição rápida.
    Agora crie uma opção de variável, para adicionar o valor 1 na variável menu do banco.

    Imagem Postada

    Deve estar assim:

    Imagem Postada

    O movimento para baixo está pronto!

    Ev2. Movimento para cima

    Vai ser praticamente a mesma coisa do outro evento, a não ser pelo fato de que a tecla pressionada é para cima e a variável vai diminuir de 1.

    Imagem Postada

    **Mas Dimas Dark, assim a variável irá subir e descer infinitamente
    Dimas Dark: É por isso que iremos criar limitadores no próximo passo.



    4. Criando Limitadores

    Spoiler 
    Para que servem os limitadores?

    Limitadores servem, como o próprio nome sugere, para limitar algo como uma switch ou variável. No caso, iremos criar para limitar o movimento da setinha.
    Crie um evento em qualquer parte do mapa, em processo paralelo
    Crie uma condição para que quando o valor do menu do banco for > 2 (maior que ¬¬’) , a variável menu banco dimiuir de 1.

    Ao fim dessa condição, coloque outra condição para que se o valor de menu do banco for < 0 (menor que ¬¬’), a variável aumentar de 1. 

    Deve ficar assim:

    Imagem Postada

    O que eu fiz?

    Limitei o valor de menu do banco para entre 0 e 2, assim a setinha ficará aparecendo toda hora, pois os valores dos eventos estão entre 0 e 2. Apesar de ser 1 evento, temos aqui 2 limitadores.




    5. Criando as operações do Banco

    Spoiler 
    Crie um evento qualquer no mapa, em processo paralelo.

    Primeira parte do evento de operações

    Para evitar que o herói apareça ou se mova, abra o menu, faremos algumas coisinhas:

    No evento, crie um comando mover evento. Nesse comando coloque para o personagem ter invisibilidade on (isso vai permitir que eu mexa nas setas), Opacidade 0 (o personagem não será visível), Esperar: 20 frames (irá ficar parado por 1s). Repetir movimento (irá ficar parado, invisível, mas teremos os controles das setas, infinitamente).

    Imagem Postada

    Agora faça outro comando, está na página 1, menu: proibir /bloquear.

    Imagem Postada

    Agora para o evento não correr tão rapidamente, coloque esperar 5 frames.

    Segunda parte do evento de operação

    Vamos transformar o gold do jogo em uma variável, mas como? Simples. Opções de variável >  Variável dinheiro  > Substituir > Outro: Dinheiro.

    Imagem Postada

    Agora o dinheiro é uma variável, poderemos trabalhar com ele facilmente.

    Crie uma Label, Label 1.

    Imagem Postada

    Para que serve a label?

    Label, em português etiqueta / rótulo é um comando para se quisermos que um evento não acabe, ou volte para uma parte do mesmo evento sem precisar de switch ou criar outros eventos apenas adicionando o comando ir para label.

    Comandos da label 01

    Logo abaixo da Label 01 crie uma condição: Se a variável menu for igual a 5 , sem exceção.

    Imagem Postada

    **Preste atenção que a partir de agora começamos a usar outras variáveis.

    Dentro dessa condição menu ==== 5, teremos mais 3 condições (com exceção, menos a 3ª):

    • Quando menu do banco for ==== 0
    • Quando menu do banco for ==== 1
    • Quando menu do banco for ==== 2


    **DDark, para que todas essas condições?
    DDark: São para as operações do banco. Se você percebeu, menu do banco == 0, 1 e 2 são as 3 posições da setinha, ou seja, depositar, retirar e sair.



    É, agora se torna um pouquinho mais complicado. Iremos fazer com que a operação depósito funcione.

    Operação depósito (menu do banco == 0)

    Coloque o seguinte texto:

    Você tem \C[6]\V[X]\C[0] Reais na conta. Quanto quer adicionar? 

    Onde X é o número da variável dinheiro no banco, ex: se a variável dinheiro no banco for a número 3, você deve colocar 0003. O comando \C[X], onde X é um número de 0 a 7, colore o texto. O comando \V[X], onde X é um valor entre 0000 e 9999, mostra o valor de uma variável. Assim, iremos mostra o valor de quanto dinheiro a pessoa tem no banco.

    Agora vamos ver o valor que a pessoa quer adicionar na conta. Para isso crie um comando armazenar número com a variável dinheiro temporário como mutável.

    Imagem Postada

    Agora iremos fazer 2 condições dentro desta: 

    • para se o cara tiver o dinheiro.
    • se o cara não tiver o dinheiro.

    O cara tem a grana

    Crie uma condição: Se a variável dinheiro for maior/igual a variável dinheiro temporário, com exceção.
    Crie o comando mudar dinheiro, diminuindo da variável dinheiro.

    Imagem Postada

    Crie outro comando, opções de variável, dinheiro no banco > somar > dinheiro temporário.

    Crie um texto: 

    \C[6]Depósito feito com sucesso!

    Crie um comando para esperar 5 frames e por fim crie outro comando para substituir a variável menu por 0.

    Imagem Postada

    Por fim, coloque para Ir para Label: 1

    Imagem Postada

    O cara não tem a grana

    Crie um texto:  \C[2] Você não tem este dinheiro.
    Comando esperar: 5 frames
    Variável menu == 0
    Ir para Label: 1

    Tudo isso deve ter ficado assim:

    Imagem Postada

    **DDark, pra quê tudo isso? me explique melhor!
    DDark: Observe...isso é igual a matemática (se você for bom). No começo falamos que a variável dinheiro seria o dinheiro do personagem, ou seja, o gold virou uma variável para podermos usá-lo. A primeira condição (menu ==== 5) é uma condição especial para funcionar as operações. Você verá mais a frente que apertando o botão C, enter (confirmar) a variável menu vai se tornar 5. Assim a condição será cumprida e ele fará o resto da operação. Se a setinha estiver na posição menu do banco == 1, fará a operação depósito, na 2, retirada, na 3, sair do banco.


    Operação Retirar

    Vai ser quase igual a primeira operação toda, então você pode copiar toda a parte de condição do menu do banco == 0. Essa condição também ficará dentro da condição menu  == 5

    Agora vamos mudar umas coisas:

    Condição 1: Variável menu do banco == 1
    O texto:  Você tem \C[6]\V[X]\C[0] Reais na conta. Quanto quer retirar? X == dinheiro no banco
    Condição 2: Em vez de dinheiro vai ser dinheiro no banco

    Dentro da condição 2 que está dentro da condição menu do banco == 1 vamos mudar quase tudo:

    Opções de variável: dinheiro no banco - dinheiro temporário (diminuir de)
    Mudar dinheiro: Aumentar > variável dinheiro temporário
    Texto: \C[6]Retirada feita com sucesso!
    Esperar: 5 frames
    Opções de variável: menu == 0
    Ir para Label: 1

    Na exceção vai ser a mesma coisa, apenas mudando o texto:

    \C[2]Você não tem este dinheiro no banco.

    Ao final, deve ficar assim:

    Imagem Postada

    Operação Sair

    Dentro da condição menu == 5, coloque uma condição menu do banco == 2 

    Aqui é só moleza: 
    Coloque um texto > \C[3]Obrigado pela preferência!

    Depois do fim da condição menu do banco == 2 e antes do fim da condição menu == 5, ligue a switch que criamos no começo:

    Tp1 = ON (meu caso o nome foi esse)

    Fim das operações!

    Imagem Postada

    Em fim acabamos os processos. Falta apenas 2 passos pequenos =0



    6. Botão confirmar e Teleport

    Spoiler 
    Agora que finalmente temos todos os processos prontos falta o botão para fazer funcionar.

    Botão confirmar

    Crie um evento em qualquer parte do mapa, processo paralelo.

    Condição:  Pressionar tecla C, sem exceção.
    Dentro dessa condição, crie outra (você já deve estar expert nisso eim? ^^)
    Condição: variável menu do banco >= 0 (maior ou igual)
    Opções de variável: menu > substituir > 5

    Imagem Postada

    Teleport

    Crie um evento em qualquer parte do mapa, ligado quando o switch Tp1 for ativado, processo paralelo com 2 condições (se você tiver 2 bancos no jogo, se tiver mais, crie mais):

    A variável banco local == 1
    Teleportar para local do banco 1
    Variável menu > substituir > 0

    A variável banco local == 2

    Imagem Postada

    Teleportar para banco 2
    Variável menu > substituir > 0


    7. Retoques finais

    Spoiler 
    Agora vamos configurar algumas coisas para o completo funcionamento.

    Nos 2 eventos de movimento da seta (para cima e para baixo) e no botão confirmar crie mais 2 páginas, agora são 3:

    Na primeira página coloque para ligar quando a variável menu for igual/maior a 0
    Na 2ª página coloque menu for igual/maior a 5
    Na 3ª switch Tp1 On

    OBS: Ambas as páginas criadas são vazias.

    No evento do limitador:

    Página 2 liga quando a switch Tp01 = ON

    No evento Operações:

    Página 2, liga quando switch Tp01 = ON

    Crie um novo mapa com qualquer nome, vai ser o seu banco. Crie um bancário e coloque nele:

    Texto: \C[2]Bancário:\C[0] Olá, o que posso fazer por você?
    Opções de variável: banco local == X, onde X é o número que você escolhe lá pro teleport.
    Preparar Transcrição 
    Teleportar para: o mapa que você criou o sistema de banco
    Executar transcrição (você escolhe)

    Imagem Postada

    Crie um evento em qualquer parte desse mapa, processo paralelo, ativado quando o switch Tp01 = ON

    Opções de variável > substituir > menu por 0
    Opções de variável > substituir > banco local por 0
    Opções de variável > substituir > menu do banco por 0
    Mover evento: Personagem, Invisibilidade OFF, Opacidade 255.
    Menu: Permitir
    Switch Tp01 = OFF


    Fim do Tutorial (Amém!)

    Quaisquer dúvidas ou bugs poste aqui!



    Download da Demo

    4shared.com
    Mediafire
    Decashare