Forums » RPG Maker XP

Entendendo de uma vez por todas: Variáveis - Aula 4

    • 404 posts
    29 de maio de 2015 16:20:17 ART

    Imagem Postada

     

    Sumário:

     

    Aula 1: Iniciando  -    Atribuindo valores às variáveis . . . . . . . . . . . . . . . . . . . . . . . . . . . .  Clique aqui!
    Aula 2: Cálculos -  As operações básicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Clique aqui!
    Aula 3: Programação -  Trabalhando variáveis com condições . . . . . . . . . . . . . . . . . . . . . . Clique aqui!
    Aula 4: Informação -  Atribuindo informações às variáveis . . . . . . . . . . . . . . . . . . . . . . . . . . Clique aqui!
    Aula 5: Localização - Utilizando Coordenadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Clique aqui!
    Aula 6: Complementar - Comandos adicionais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Clique aqui!
    Aula 7: Final - Criando um mini-game Shot in Action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Em breve



    :mrm=linha:
    :mrm=linha:

    Imagem Postada
    Atribuindo valores às variáveis.



    :mrm=linha:
    :mrm=linha:

    Definição de valores:

     

    Na aula passada você aprendeu a usar condições com as variáveis, e na primeira aula como atribuir números às variáveis.
    Nesta aula iremos usar de tudo um pouco que foi aprendido até aqui. Só que hoje iremos aprender como atribuir informações às variáveis.
    Que informações seriam essas?

    Imagem Postada

    Quando você marca a caixa “constante” nas variáveis, você está atribuindo a elas números inteiros. A partir do momento que marcar outras caixas que não seja a de constante, você estará atribuindo informações às variáveis, e não apenas números.
    Sim, os números também são informações, só que eles são apenas definidos como um número que poderá aumentar ou diminuir o seu valor, já as informações armazenam coordenadas, IDs de mapas, HP do herói, e diversas outras informações que iremos ver nesta aula. Elas são informações numerais também, porém elas armazenam algo além de números, que podem funcionar de maneiras diferentes no RPG Maker.
    Vamos estudar cada uma delas?

    Variável – Como já explicado na aula anterior, você poderá armazenar aqui uma segunda variável.



    Variável aleatória:

     

    Aleatório – Você irá escolher um número qualquer para iniciar os comandos desta informação, e outro número para finalizar.
    Um exemplo prático: Crie um NPC no mapa e escolha uma variável que não esteja sendo utilizada e a coloque o nome de “Diálogo”. Depois vá à opção “aleatório” e dentro dos boxes coloque de 1 até 5:

    Imagem Postada

    Agora crie uma condição e coloque para que quando a variável “Diálogo” estiver igual à 1 uma mensagem assim apareça : “Bom dia”.
    Faça o mesmo outra vez, só que dessa vez coloque para que quando a variável “diálogo” esteja igualada a dois, outra mensagem apareça.

    Faça o mesmo procedimento até que a variável “diálogo” fique igualada a cinco. Não se esqueça de ir alternando as mensagens:

    Imagem Postada

    Agora rode o teste do jogo e vá falar com o NPC no mapa para ver o que acontece.
    A cada momento o NPC diz algo diferente, certo? Isso acontece porque com a opção: Aleatório, a variável desejada vai mudando o seu valor aleatoriamente conforme as constantes que você impôs.
    Por exemplo: Eu coloquei para que a variável “diálogo” fique mudando para as constantes de 1 até 5, ou seja, ela nunca irá mudar para 6 ou outro número maior que cinco. Bem como, nunca irá mudar para zero ou outro número menor que um. (Vulgo números negativos).
    A opção ‘aleatório’ é excelente para deixar o jogo mais dinâmico, e evitar-nos ficarmos na mesmice, fazendo assim nem seu programador saber o que irá acontecer. Por exemplo, com o que fizemos aqui, esse exemplo de o NPC falar algo aleatoriamente o tempo todo, você sabe quando ele irá dizer “bom dia”, ou “Tchau”? Não sabe, correto? Essa é a intenção desta opção.
    Mais tarde, tente substituir os comandos de mostrar mensagens, por outros comandos de eventos em cada condição de constante aleatória. Teste também fazer mais de cinco opções de aleatoriedade, por exemplo, ao invés de deixar somente de 1 até 5, tente deixar o valor que preferir (podendo utilizar também o zero e valores negativos).
    O máximo que você pode chegar é de -99999999 até 99999999. Mas acho que não terá alguém no mundo que usará tudo isso.



    Item:

     

    Item – Aqui você poderá armazenar um item do banco de dados, numa variável.
    Vamos a um exemplo: Você quer fazer com que quando o jogador tiver 20 (vinte) unidades de um determinado item, uma mensagem escrita: “Parabéns, você tem vinte itens de tal” apareça.
    Para isso acontecer, crie um evento qualquer no mapa em processo paralelo, que utilize o comando “mudar item >> Poção >> Adicionar >> Constante: 1.” Dentro de um ciclo, que se atualiza à cada 5 frames.

    Imagem Postada

    Depois, acima da opção “mudar item” dentro do ciclo, utilize o comando de opções de variáveis, escolha uma variável que não esteja sendo utilizada, e coloque seu nome de “poção”.
    Em “operando” selecione a opção “Itens” e escolha o primeiro item. Pronto, a variável “poção” está armazenando o item “poção”.
    Agora, abaixo da variável “poção” nos comandos de eventos, crie uma condição de que quando a variável “poção” estiver igualada a 20, o comando “Ir para label” com o nome de “fim de ciclo” entre em ação:

    Imagem Postada

    Agora, abaixo do “Fim do ciclo” coloque a label “fim de ciclo” e depois o comando “romper ciclo” seguido do comando “mostrar mensagens”, como esta mensagem escrita: “Parabéns! Você tem 20 poções!”. Após todos esses comandos, utilize o “apagar evento temporário”, para que a mensagem só se reproduza uma vez, e dê ok.

    Imagem Postada

    Rode o teste do jogo e espere um pouco: Quando você tiver 20 poções, a mensagem de parabéns irá aparecer. E isso ocorreu porque você armazenou numa variável a poção do banco de dados, e como o ciclo te dá uma poção à cada 5 frames, quando você chegar à vinte poções, o ciclo será rompido (não lhe dará mais poções) e a mensagem aparecerá.
    A variável armazenando a poção serviu para que pudéssemos fazer a condição de 20 poções.



    Herói e inimigo:

     

    Herói – Nesta opção você poderá armazenar numa variável as opções do herói, como sua quantidade de HP, MP, Nível, e etc...
    Nesta opção, você poderá também escolher qual herói específico do banco de dados, que irá armazenar essas opções.
    Para visualizar as informações do herói que poderão ser atribuídas numa variável, basta clicar na setinha (v) do Box onde está escrito “nível”:

    Imagem Postada

    Como mostrado na figura acima, você poderá atribuir os valores de nível, exp (experiência), HP, MP, HP. Máx, MP. Máx, Força, Destreza, Agilidade, Magia, Ataque, Defesa Física, Defesa mágica e a opção de ‘’fugir’’ das batalhas, dentro de uma variável.
    Com essas opções armazenadas numa variável, você poderá definir condições com as mesmas.
    Por exemplo: Se o HP do herói chegar a zero, o jogo dará game over. 
    Para você poder criar a condição do HP zerado, você precisará armazenar o valor do HP do herói numa variável, e depois criar uma condição com a variável do HP igualada à zero, e o comando de game over:

    Imagem Postada

    Há inúmeras coisas que podemos fazer com essas condições e com esses valores dos heróis armazenados numa variável, basta utilizá-los de forma correta, conforme for a sua necessidade na hora de programar.
    Se desejar um exemplo mais específico no que podemos utilizar essas informações, dê uma rápida lida neste tutorial Clique aqui. Onde o mesmo ensina a criar uma HUD rápida em quatro passos, utilizando operações matemáticas (aula 2) e informações nas variáveis.

    Inimigo – Essa opção tem a mesma função da opção “herói”, só que dessa vez ela trabalha com os inimigos do banco de dados, na hora das batalhas.
    Assim como na opção do herói, você poderá selecionar um inimigo especifico do banco de dados, para trabalhar e suas informações, clicando na setinha do Box onde está escrito “Hp”:

    Imagem Postada

    Na maioria das vezes, trabalhos com essas opções se estivermos utilizando o sistema de batalha padrão do RPG Maker, e esses comandos são trabalhados no banco de dados, na aba “grupo de inimigos”:
    Spoiler 
    Imagem Postada


    Eu creio que não precisarei entrar em maiores detalhes, pois as funções são as mesmas da opção de herói, que já foi explicada anteriormente.



    Evento:

     

    Evento – Essa opção é interessante, pois iremos não só trabalhar com o personagem do mapa, mas também com qualquer outro evento no mesmo. E isso você poderá notar se clicar na setinha do Box escrito personagens. Lá você verá que poderá selecionar eventos do mapa, para atribuírem valores a serem armazenados numa variável.
    Esses valores poderão ser vistos ao clicar na setinha do Box, cuja primeira opção é “Coord X”:

    Imagem Postada

    Definição dos valores de informações:
    Coord X ► Armazena a coordenada X do personagem ou evento no mapa.
    Coord Y ► Armazena a coordenada Y do personagem ou evento no mapa.
    Se não entendeu ambas as opções acima, não se preocupe elas serão melhores explicadas na próxima aula.

    Direção ► Armazena numa variável a posição atual em que um evento ou um personagem se encontra no mapa, sendo o valor (2) olhando para baixo, (4) olhando para a esquerda, (6) olhando para a direita e (8) olhando para cima:

    Imagem Postada

    ► Coord X. da Imagem e Coord Y da imagem, irão armazenar os valores das coordenadas de uma determinada imagem que esteja na pasta ‘’Pictures’’ do seu projeto.
    E finalmente a última opção: ► Mapa.
    Essa opção irá armazenar o valor de um determinado terreno no mapa.
    Faremos um breve exemplo: Vamos supor que quando o personagem pisar sobre a grama “mais amarelada” no mapa, dê game over.

    A grama que me refiro seria essa:  Imagem Postada (a quadriculada em vermelho) do mapa 1(um) do tileset do RTP.
    Primeiramente, iremos mapear a área do mapa, pode ser algo bem simples mesmo:

    Spoiler 
    Imagem Postada


    A área com o gramado em verde é segura, porém a área mais amarelada não, pois se pisarmos sobre ela, dará game over.
    Iremos então colocar em prática nosso objetivo: Deixar o terreno perigoso.
    Crie agora um evento no mapa em processo paralelo, e logo em seguida vá até as opções de variáveis escolha uma que não esteja sendo usada dê um nome para ela, e logo em seguida vá a evento >> mapa:

    Imagem Postada

    Dê ok nesse evento, e agora abra o banco de dados, e vá na aba de tilesets:
    No mapa 1 do RTP, clique na opção de “terreno”:

    Spoiler 
    Imagem Postada


    Agora vá ao gramado amarelo, e dê um clique sobre ele, até que ele fique com o número um:

    Imagem Postada

    Certo! Agora a grama amarelada tem como terreno o número um.
    Dê ok, e volte para aquele comando que está armazenando um terreno:
    Agora crie uma condição, utilizando a mesma variável que você utilizou para armazenar um terreno ao personagem, e deixe sua constante igual a 1:

    Imagem Postada

    Dentro dessa condição, coloque o comando de esperar 20 frames, e logo após chame o comando de game over, e rode o teste do jogo.
    Quando você pisar sobre a grama amarela, o game over é chamado, certo?
    Isso ocorre porque você armazenou um terreno no personagem, e no banco de dados você configurou que a grama amarelada tivesse o terreno de número 1.
    Aquela condição do evento faz com que quando o personagem estiver no terreno armazenado, que no caso é o um, o game over apareça.
    Você poderá também colocar mais de um terreno, basta armazená-los em variáveis diferentes, com números de terrenos (IDs) diferentes.



    Outro:

     

    Outro – Clicando sobre o seu Box, você poderá visualizar as seguintes opções:
    Imagem Postada

    Essas opções valem apenas para os heróis do banco de dados, e irei explicar cada uma:

    ID ► Armazena numa variável o ID de um determinado mapa.
    Número de personagens ► Armazena o valor da quantidade de personagens que estejam no grupo.
    Dinheiro ► Armazena o valor de dinheiro (G) que os personagens possuem.
    Nº de passos ► Armazena a quantidade de passos dados pelo herói.
    Tempo de jogo ► Se você for perceber que ao entrar no menu, há um contador que mostra o tempo em jogo. Essa opção armazena esse tempo.
    Timer ► Essa opção armazena as informações de um contador do jogo, configurado por você.
    Nº de saves ► Armazena a quantidade de “saves” que o jogador deu, no decorrer do jogo.

    Essas opções podem ser usadas de diversas formas, e eu acho que eu não preciso entrar em detalhes quanto a elas, basta armazenar seus valores numa variável, e utilizar uma condição para criar determinadas ações com essas opções.



    :mrm=linha:
    :mrm=linha:

    Fim da quarta aula:

     

    Por enquanto o que temos é isso, em breve as outras partes dessa aula serão postadas, aguardem!
    Qualquer dúvida em relação à esta aula, podem postar no tópico.