[Demo + Tutorial]Sistema de Banco com Menu - Passo a passo (Com fotos)

    Compartilhe
    avatar
    jiraya
    Administrador
    Administrador

    Mensagens : 1299
    Credibilidade : 54

    [Demo + Tutorial]Sistema de Banco com Menu - Passo a passo (Com fotos)

    Mensagem por jiraya em Sex Dez 17, 2010 4:39 pm

    Autor=DDark
    [move]Se for postar em outros fórums, colocar créditos por favor.[/move]
    [Introdução]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:

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

    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.

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

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

    Aproveite e pegue este charset de setinha e importe para seu projeto:
    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):

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

    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:




    **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:



    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.

    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.

    Deve estar assim:

    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.

    **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:

    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).

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

    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.

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

    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.

    **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ª):
    [list type=decimal]
    [li]Quando menu do banco for ==== 0[/li]
    [li]Quando menu do banco for ==== 1[/li]
    [li]Quando menu do banco for ==== 2[/li]
    [/list]

    **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.

    Agora iremos fazer 2 condições dentro desta:
    [list type=decimal]
    [li]para se o cara tiver o dinheiro.[/li]
    [li]se o cara não tiver o dinheiro.[/li]
    [/list]
    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.

    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.

    Por fim, coloque para Ir para Label: 1

    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:

    **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:

    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!

    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

    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

    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)

    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!
    [Título]Download da Demo
    4shared.com
    Mediafire
    Decashare

      Data/hora atual: Qui Jul 27, 2017 8:41 am