Visitante!
Faça seu Login ou Registre-se!

Galeria de Jogos

Armazenando um Texto nas Variáveis 11 Respostas | 1646 Visualizações

0 Membros e 1 Visitante estão vendo este tópico.

Fpr

  • *
  • Mensagens: 118 Ouro: 233
    • RPG Maker VX/Ace
    • Ver perfil
  • Spiked MailEscudo CRMBlader
Armazenando um Texto nas Variáveis
Online: 16 Jun 2013, 20:55
:linha2:
Armazenando um Texto nas Variáveis
:linha2:

:linha3:
Começando:

Neste Tutorial mostrarei como trabalhar com as Variáveis de forma diferente, o primeiro conceito que se tem sobre elas, é que sua função é apenas armazenar informações numéricas. A princípio sim, mas também é possível armazenar uma palavra em uma variável, da mesma maneira que atribuímos valores numéricos nela.

Para aproveitar tal funcionalidade, será necessário "Declarar" as variáveis através do comando "Chamar Script". Comando encontrado na 3° Aba de Eventos, última opção.

Comando: Chamar Script
[close]

Ao selecionar esse Comando, será aberta uma janela, nela deverá ser inserido os códigos que usaremos a seguir. Por hora, o código primário da variável "$game_variables[n]", onde n é o numero da variável. No chamar Script deverá ficar desse modo:
Código: [Selecionar]
$game_variables[1] = # Informação a ser armazenada
No código acima, estaremos chamando a variável de ID 1 e posteriormente armazenaremos nela uma informação, que geralmente pode ser qualquer coisa(Inclusive uma Palavra).
 

:linha3:
Exemplos de Uso:


Exemplo 1: Uma única Informação em várias mensagens

Antes de começar, esse é o comando para armazenar um texto digitado em uma variável(Necessita ficar entre aspas):
Código: [Selecionar]
$game_variables[n] = '# Digite o texto aqui'
A partir dele podemos mostrar uma mesma informação contida em diversas mensagens, suponhamos que você precisará usar um texto frequente em suas mensagens, ao invés de ficar digitando a mesma coisa várias vezes, você pode armazená-la em uma variável e mostrar através do \V[n] na mensagem, criando uma espécie de atalho.

Ficando algo assim:
Exemplo 1
[close]
Resultado
[close]

No exemplo dado acima, armazenei o texto "Vale Encantado" na variável de número 1, e mostrei na mensagem através do comando \V[1].

Na janela do Chamar Script:
Código: [Selecionar]
$game_variables[1] = 'Vale Encantado'
Na janela de Mensagens:
Código: [Selecionar]
Se um dia encontrar o \V[1], por favor me
avise gostaria muito de visitar o \V[1].


Exemplo 2: Uma única Mensagem com informações diferentes

É possível também armazenar o nome de uma arma, item, herói, mapa, dentre outros, o que pode se tornar muito útil. No próximo exemplo, usaremos uma mesma mensagem que pode conter informações diferentes. Imagine o seguinte caso, o jogador ganhará um item aleatório do NPC, que depois falará o item que ele deu para o Herói.

Ao invés de fazer algo como isso:
Exemplo 2A
[close]

Faça isso:
Exemplo 2B
[close]

Explicando os comandos acima, primeiro sorteamos um valor aleatório entre 1 e 4, esse valor servirá de ID para o comando que aumentará um item:
Código: [Selecionar]
a = $game_variables[2]
$game_party.gain_item($data_items[a], 1)

Ou seja "a" equivale a variável aleatória de 1 à 4, e a ID do item adicionado equivale a "a".
Mas isso não vem ao caso, o mais importante é o seguinte comando:
Código: [Selecionar]
$game_variables[1] = $data_items[a].name
Seguindo a mesma lógica do que foi dito acima, o "a" servirá como id para o item que terá o nome armazenado na variável, o mais importante foi o trabalho economizado que o segundo modo trouxe, ele evitou de ter que escrever uma mensagem contendo o nome do item ganho, já que o mesmo já estava armazenado na variável e mudava automaticamente. O comando final ficou assim:
Código: [Selecionar]
a = $game_variables[2]
$game_party.gain_item($data_items[a], 1)
$game_variables[1] = $data_items[a].name

Agora ao invés do nome, armazenaremos a descrição do item. O exemplo de agora será esse, um NPC falará a descrição de um item para o herói. Nesse caso usaremos o comando "Seleção de Item" para o jogador escolher um item que terá sua descrição dita.

O evento Ficará assim:
Exemplo 2C
[close]
Resultado

[close]


Nesse caso não pude colocar direto no "Chamar Script" o código:
Código: [Selecionar]
$game_variables[1] = $data_items[a].description
Porque o ACE pula linhas automaticamente e daria errado, então tive que por assim:
Código: [Selecionar]
a = $game_variables[2]
b = $data_items[a].description
$game_variables[1] = b

O código está armazenando a descrição do item, cuja ID está sendo atribuída a Variável 2 pelo comando "Seleção de Item", note que tive que colocar uma condição do item ser diferente de zero, senão chamaria a descrição do item de ID 0, que não existe. O principal motivo desse exemplo, foi mostrar mais uma forma de mostrar uma mesma mensagem com informações diferentes, dessa vez ao invés de mostrar apenas o nome, mostrou uma informação mais complexa como uma descrição, o mais importante é a praticidade que usar tal recurso proporciona, me poupou de ter que criar várias condições para verificar qual item foi selecionado, e digitar uma mensagem para cada item com sua descrição, sem contar que se acaso eu desejar mudar a descrição, basta apenas mudar no Database, pois ela é chamada diretamente dele.


Exemplo 3: Trabalhando com outros Scripts

Um exemplo agora que não envolva mensagens, dessa vez mostrarei como pode ser funcional para outras coisas, como Scripts. Par quem não conhece o Pop-up de variável, tem a função de criar um pop-up de uma variável. Por ser uma variável ele é útil para armazenar informações numéricas como o Dano, mas também pode ser útil pois uma variável armazena textos da mesma maneira que números.

Para usar o Script chame:
Código: [Selecionar]
popup_var(event_id, time)
Onde "event_id" ID do evento que será mostrado o pop-up e "time" tempo em frames.

Vimos que podemos usar para mostrar informações como o "Dano", agora veremos um informação escrita. Imagine que um Evento de ID 10 será afetado com o "Status Veneno", chame da seguinte forma:
Código: [Selecionar]
$game_variables[1] = 'Envenenado'
popup_var(10, 100)

Pronto, dessa forma, assim como é o display do Dano, será o display do "Envenenado"
Resultado
[close]



:linha3:
Finalizando:
Ao tocar no assunto variáveis, a única coisa que vem em mente são os valores numéricos, mas informações escritas também podem ser bem exploradas com o trabalho das Variáveis, sendo bem prático tal função devido ao trabalho que ela pode nos poupar.

« Última modificação: 30 Jun 2013, 00:52 por Fpr »
-

Raizen

  • *
  • Mensagens: 2481 Ouro: 1869

    Vencedor CRM Awards - Melhor Scripter Vencedores das edições do Concurso Projeto Rickas!

    • Ver perfil
    • E-mail
Re: Armazenando um Texto nas Variáveis
Resposta 1 Online: 16 Jun 2013, 22:12
Uia, isso é bem interessante, isso é misturar códigos de ruby com eventos, se um eventer souber dosar isso, dá para sair vários sistemas interessantes xD.

Agora tenho uma coisa a dizer, que você pode até futuramente adicionar, e eu acho bem interessante.

Você pode usar condições também, por exemplo, usar Condição, ai vai na 4ª aba, scripts e colocar.

$game_variables[1] =='Vale Encantado'

Ai acontece algo.


Isso é expandir o uso de textos em variáveis :), de qualquer modo muito bom mesmo.

Fpr

  • *
  • Mensagens: 118 Ouro: 233
    • RPG Maker VX/Ace
    • Ver perfil
  • Spiked MailEscudo CRMBlader
Re: Re: Armazenando um Texto nas Variáveis
Resposta 2 Online: 16 Jun 2013, 22:18
Uia, isso é bem interessante, isso é misturar códigos de ruby com eventos, se um eventer souber dosar isso, dá para sair vários sistemas interessantes xD.

Agora tenho uma coisa a dizer, que você pode até futuramente adicionar, e eu acho bem interessante.

Você pode usar condições também, por exemplo, usar Condição, ai vai na 4ª aba, scripts e colocar.

$game_variables[1] =='Vale Encantado'

Ai acontece algo.


Isso é expandir o uso de textos em variáveis :), de qualquer modo muito bom mesmo.

Talvez, mas não consigo imaginar um exemplo de uso para condições com textos, talvez por não ter pensado nisso antes, quem sabe de para fazer coisas legais com esse tipo de condição, a primeira coisa que me veio em mente foi nome de mapas(deve ser por causa do 'Vale Encantado' EX mais non-sense).

Se me vier a mente algo interessante para trabalhar com condição textual, por que não.  :será:
-

Avenger_B7

  • *
  • Mensagens: 758 Ouro: 294
  • God Save the Bananen.
    • RPG Maker 2k/2k3
    • Ver perfil
  • NightWisherEspada CRM
Re: Re: Re: Armazenando um Texto nas Variáveis
Resposta 3 Online: 16 Jun 2013, 22:42
Talvez, mas não consigo imaginar um exemplo de uso para condições com textos, talvez por não ter pensado nisso antes, quem sabe de para fazer coisas legais com esse tipo de condição, a primeira coisa que me veio em mente foi nome de mapas(deve ser por causa do 'Vale Encantado' EX mais non-sense).

Se me vier a mente algo interessante para trabalhar com condição textual, por que não.  :será:

Veja se é possível fazer o nome de um herói criado receber essa variável. Aí você compara nas condições. O problema é o limite de caracteres mas isso, talvez, possa ser mudado com scripts.

Parabéns!

Shephiroth

  • *
  • Mensagens: 794 Ouro: 291

    Prêmio concebido aos membros que colaboraram para campanha de Prêmios da CRM

  • Chaotic good
    • Unity
    • Ver perfil
  • Escudo CRMEspada CRM
Re: Armazenando um Texto nas Variáveis
Resposta 4 Online: 17 Jun 2013, 09:02
Um exemplo claro de uso de condições para textos, é se for alguma senha ou alguma coisa na qual o personagem deve responder, e se acertar passa de uma parte... Enfim, o tutorial está magnifico! Realmente muito interessante e com muitas informações ;D

Mesclar Scripts com Eventos libera uma infinidade de sistemas *-*
Muito obrigado por dispor ;D

cristianoforce

  • *
  • Mensagens: 127 Ouro: 56
  • =)
    • RPG Maker XP
    • Ver perfil
  • NightWisher
Re: Armazenando um Texto nas Variáveis
Resposta 5 Online: 20 Jun 2013, 18:17
Não creio que nunca pensei em testar isto  :'0':, não sabia que funcionava  :*-*:

Isso pode ser útil em diversas situações, belíssimo tutorial \o\
Resta eu testar aqui agora se funciona da mesma maneira com o RMXP.

+gold+++++

EDIT: funfa *-*
« Última modificação: 20 Jun 2013, 18:20 por cristianoforce »

Sly

  • *
  • Mensagens: 31 Ouro: 19
  • Para uma mente ampla, nada é pequeno.
    • RPG Maker MV
    • Ver perfil
Re: Armazenando um Texto nas Variáveis
Resposta 6 Online: 05 Abr 2014, 14:20
Essa informação é de uma utilidade tremenda, obrigado Fpr.  :clap:

Olhando as possibilidades de uso encontrei uma solução pra a questão da quebra de linha caso alguém queira armazenar um texto muito longo direto do código (como atualizando um objetivo ou a descrição de algo que muda durante o jogo.)

Basta sempre antes da quebra de linha do "Chamar Script" adicionar um + e continuar na linha de baixo e pulando linhas (Enter) quando achar que o texto atingiu o limite da caixa de mensagens.

Exemplo.

Código: [Selecionar]
$game_variables[1] =
'Parte 1 ' +
'Parte 2 terminando com a quebra de linha
' +
'Parte 3'

Não sei se é a melhor forma de fazer nem se é novidade pra alguém, mas foi como consegui quando precisei. ^^
"Os pequenos detalhes são sempre os mais importantes."
Sherlock Holmes
_______________________________________
Gosta de RPG? Visite-nos:

Username

  • *
  • Mensagens: 28 Ouro: 4
    • RPG Maker XP
    • Ver perfil
    • E-mail
Armazenando um Texto nas Variáveis
Resposta 7 Online: 24 Dez 2017, 21:00
Muito obrigado pelo tutorial.

Testei e consegui fazer muita coisa aqui.

E aprendi um pouco mais sobre o Editor de Scripts e como adicionar e remover itens via código no RMXP.

Muito obrigado.

SoyeR

  • *
  • Mensagens: 251 Ouro: 53
  • Avatar - Dirt Devil - Heavy Metal Machines
    • RPG Maker MV
    • Steam
    • Ver perfil
  • ColossusDragon Scale
Armazenando um Texto nas Variáveis
Resposta 8 Online: 12 Jan 2018, 08:39
Código: [Selecionar]
$game_variables[1] = 'Vale Encantado'
To colocando esse codigo e recebo esse erro

Spoiler
tuts tuts tuts
[close]

Alisson
  • *
  • Mensagens: 3007 Ouro: 2106

    Vencedor CRM Awards - Melhor Mapper Vencedor do Evento Invasão na Fábrica de Brinquedos Vencedor CRM Awards - Melhor Maker Participantes do Maps Together 2

  • See, I'm not slacking, I'm patrolling... really~
    • Unity
    • Facebook
    • Steam
    • Youtube
    • Ver perfil
    • E-mail
  • Dragon ScalesPhoenixEspada CRMBreaklance
Armazenando um Texto nas Variáveis
Resposta 9 Online: 12 Jan 2018, 08:42
SoyeR, lembre-se que no MV usamos Javascript. O código para isso seria:
Código: [Selecionar]
$gameVariables[1] = 'Vale Encantado';




Corvo

  • *
  • Mensagens: 1627 Ouro: 950

    Entregue ao(s) vencedor(es) do evento Contos de um Hallowen Esquecido.

  • Beep.
    • RPG Maker 2k/2k3
    • Steam
    • Pinterest
    • Ver perfil
  • Capacete de FerroPhoenixNightwalkerEbony ArmorAnel de Rubi
Armazenando um Texto nas Variáveis
Resposta 10 Online: 12 Jan 2018, 08:45
Nem há necessidade de se usar um comando por script. Se preferir também pode usar o menu padrão das variáveis:
[close]
« Última modificação: 12 Jan 2018, 08:47 por Corvo »

SoyeR

  • *
  • Mensagens: 251 Ouro: 53
  • Avatar - Dirt Devil - Heavy Metal Machines
    • RPG Maker MV
    • Steam
    • Ver perfil
  • ColossusDragon Scale
Armazenando um Texto nas Variáveis
Resposta 11 Online: 12 Jan 2018, 09:00
Alisson mesmo assim não funcionou atravês desse metodo será que fiz algo errado?



Corvo tentei do seu jeito e deu certo muito obrigado.
Spoiler
[close]
Spoiler
tuts tuts tuts
[close]

 

Versão Mobile