Entrar
Últimos assuntos
» Procuro Programador de game makerpor Wou Sex 15 Mar 2024, 10:27
» Retorno da GMBR!!!
por vinians Qui 14 Mar 2024, 19:07
» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30
» Mudar cor de apenas uma palavra
por lunalol Sex 01 Mar 2024, 13:42
» Aceito pedidos de sprites (Com exemplos meus)
por Sevilha Qua 28 Fev 2024, 12:17
» Inventário simples
por Isquilo_Roedor Qui 22 Fev 2024, 15:18
» Problemas na programaçnao de inimigo [jogo DOOM LIKE]
por Black Mirror Dom 11 Fev 2024, 13:34
» ANDROID MULTI TOUCH
por DiegoBr Dom 04 Fev 2024, 12:13
» Servidor de Discord do fórum?
por Lighter Sáb 27 Jan 2024, 17:18
» Save e Load Json
por Klinton Rodrigues Qui 25 Jan 2024, 11:12
» Colisão com mais de um objeto
por aminaro Seg 22 Jan 2024, 15:02
» Oi sou novo aqui
por Thiago Silveira Alexandre Sáb 20 Jan 2024, 20:55
» Como acessar conteudo comprado no marketplace
por macmilam Sex 19 Jan 2024, 07:42
» Devlogs em vídeos do Block Room
por Joton Seg 15 Jan 2024, 16:56
» Alguém aqui já ganha dinheiro com seus games?
por Joton Seg 15 Jan 2024, 16:49
» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21
» como aumentar o obj sem aumentar a colisão??
por GabrielXavier Qua 10 Jan 2024, 07:21
» Asteroid Core - Early Acesse Update [0.2.0.0]
por JOZ. Seg 08 Jan 2024, 14:39
» Versionamento de código com GitHub
por GabrielXavier Seg 08 Jan 2024, 07:32
» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por kolesovsup Sex 29 Dez 2023, 07:16
» a funçao approach ainda existe?
por PEDRINDEV Ter 26 Dez 2023, 20:05
» Inimigo ataca até por trás! >:(
por saim Sex 22 Dez 2023, 08:55
» [RESOLVIDO]Spawn após morte
por Deception_1999 Dom 17 Dez 2023, 16:39
» Remunerado $$$ - Procuro programador para ajudar a "montar" um jogo
por theguitarmester Sáb 02 Dez 2023, 16:28
» Game maker nao abre
por Cerf Dom 26 Nov 2023, 12:01
[XCREATOR] [TUTORIAL] Armazenamento e Recuperação Automática de Variáveis
+3
Mannoroth
PedroX
vinians
7 participantes
GMBR :: Ensine & Aprenda :: Tutoriais :: Game Maker
Página 1 de 1
[XCREATOR] [TUTORIAL] Armazenamento e Recuperação Automática de Variáveis
Nome | Armazenamento de Variáveis |
Plataforma | Game Maker 7, 8 |
Descrição | Aprenda como armazenar e recuperar facilmente o valor das variáveis |
Nivel | Intermediário |
- Públicas
As variáveis públicas pode ser utilizadas em qualquer
objeto no jogo e seu valor é global não importando onde
você esteja. Para cria-las utilize a instrução global ou globalvar sendo que utilizando globalvar você não precisa usar global.variavel toda vez que quizer utiliza-la, por isso vamos utilizar essa última sintaxe.
- de Instância
Esse tipo de variável é criada dentro de um Evento e seu valor prevalece enquanto a instância existir. - Temporárias
Esta é criada com a palavra resevar "var"
e seu valor so tem sentido no escopo do Evento em que foi declarada.
É muito conveniente para criar variáveis
temporárias e não ficar "gastando" variáveis de
instância a toa. Simplifica o código.
Agora que vimos quais os tipos de variáveis existem vamos ao trabalho! Primeiro vamos gravar nossas variáveis públicas. Suponha que estamos fazendo um jogo de RPG e temos que armazenar os dados do jogador:
globalvar avatar_nome; //nome do personagemglobalvar avatar_hp; //total de energiaglobalvar avatar_mp; //total de magiaglobalvar avatar_nivel; //nivelglobalvar avatar_classe; //guerreiro, mago, ladrão, etc
Agora que sabemos quais variáveis vamos gravar eu vamos criar 2 scripts, um para gravar e outro para ler os valores de volta.
Va até a aba Scripts e crie um script chamado scr_grava_globais:
var texto, linha;texto = file_text_open_write("jogo.sav"); // nome do arquivolinha = 'avatar_nome=' + quote(avatar_nome);file_text_write_string(texto, linha); file_text_writeln(texto);linha = 'avatar_hp=' + string(avatar_hp);file_text_write_string(texto, linha); file_text_writeln(texto);linha = 'avatar_mp=' + string(avatar_mp);file_text_write_string(texto, linha); file_text_writeln(texto);linha = 'avatar_nivel=' + string(avatar_nivel);file_text_write_string(texto, linha); file_text_writeln(texto);linha = 'avatar_classe=' + quote(avatar_classe);tile_text_close(texto);
Pronto, agora basta chamar este script que teremos o nosso arquivo "jogo.sav" com as nossas variáveis globais salvas.
Você pode chamar o script a qualquer movomento para gravar o progresso do jogador. Para chamar um script no GM apenas coloque o seu nome seguido dos parentesis. assim: scr_grava_globais(), como não temos parametros os parêntesis ficam vazios.
Agora vamos criar um script que fara a leitura desses dados e a atribuição dos valores às variáveis globais corretas. Esse inclusive é bem menor que o de gravação e bem simples também. Vá até a aba Scripts e crie um script chamado scr_le_globais:
var texto, linha;texto = file_text_open_read("jogo.sav");while not file_text_eof(texto){linha = file_text_read_string(texto);file_text_readln(texto);execute_string(linha); //executa a linha e atribui a variavel}file_text_close(texto);
Ok, agora basta executar esse script em qualquer parte do código para ler o valor das variáveis que está armazenado no arquivo. Para chama-lo apenas escreva scr_le_globais() em um Evento qualquer.
Antes de terminarmos, observe que usei um script chamado quote() no script scr_grava_globais(). Esse script é apenas para simplificar a escrita do código e o que ele faz é colocar aspas em uma string. Vamos a ele:
var str;str = argument0;return '"' + str + '"';
É isso, vá até a aba Scripts e crie um novo script com o nome de Quote e então coloque esse código acima.
Então pessoal, como esse esquema da pra criar facilmente scripts que armazenam qualquer variável e automaticamente lê o valor para a variável corretamente sem ter que criar nenhuma rotina ou pharser.
Até a próxima!
Re: [XCREATOR] [TUTORIAL] Armazenamento e Recuperação Automática de Variáveis
Eu ja havia visto esse topico hoje, mas não deu para comentar.
Seu tutorial ficou bem legal.
Está tudo bem explicado. Acho que faltou algumas coisinhas, mas mesmo assim ficou interessante.
FLW
Seu tutorial ficou bem legal.
Está tudo bem explicado. Acho que faltou algumas coisinhas, mas mesmo assim ficou interessante.
FLW
Leia o Manual do Iniciante e a Lista de Tutoriais, para aprender bastante sobre o GM.
Recomendo o Manual completo das colisões, bem útil.
O exemplo Criar um chat (banir, kickar, etc) é interessante.
Para seu jogo ficar rápido e legal, aprenda a Aumentar o desempenho do seu jogo.
Aprenda a calcular a velocidade de suas animações
Entre para o Clube do Inglês:
Re: [XCREATOR] [TUTORIAL] Armazenamento e Recuperação Automática de Variáveis
Pois então eu costumo usar um código parecido em meus games. A vantagem desse tipo de abordagem é que a leitura dos valores se torna extremamente simples pois usa aprópria atribuição do Gm.
Obrigado por comentar!
Obrigado por comentar!
Re: [XCREATOR] [TUTORIAL] Armazenamento e Recuperação Automática de Variáveis
Boa. Uma pergunta: é possivel usar essa armazenagem de dados(variaveis) em jogos multiplayer online?
Mannoroth- Games Ranking :
Notas recebidas : D+D
Data de inscrição : 05/10/2010
Reputação : 12
Número de Mensagens : 841
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [XCREATOR] [TUTORIAL] Armazenamento e Recuperação Automática de Variáveis
Legal seu tuto, claro como sempre.
Uma forma que eu acho que tambem pode se utilizar esse método é para aqueles jogos que o desenvolvedor não quer ficar traduzindo o jogo para vários idiomos, assim dá pra deixar a cargo dos fãs traduzirem apenas trocando as strings das váriaveis e salvando o arquivo com o nome do idioma, tem muito jogo desses livres que implementam isso, tambem é comum essa tecnica em scripts php que são utilizados no mundo toda.
Bem, eu creio que com criatividade o que não falta são formas de aplicar esse tuto.
Uma forma que eu acho que tambem pode se utilizar esse método é para aqueles jogos que o desenvolvedor não quer ficar traduzindo o jogo para vários idiomos, assim dá pra deixar a cargo dos fãs traduzirem apenas trocando as strings das váriaveis e salvando o arquivo com o nome do idioma, tem muito jogo desses livres que implementam isso, tambem é comum essa tecnica em scripts php que são utilizados no mundo toda.
Bem, eu creio que com criatividade o que não falta são formas de aplicar esse tuto.
Re: [XCREATOR] [TUTORIAL] Armazenamento e Recuperação Automática de Variáveis
Olha, daria pra armazenar sim, mas o sistema de arquivos não é rapido suficiente para responder sem lag no jogo, não ser que fosse um jogo de turnos. A melhor maneira mesmo para jogos on line é usar uma DLL commo 39dll ou semelhante.Mannoroth escreveu:Boa. Uma pergunta: é possivel usar essa armazenagem de dados(variaveis) em jogos multiplayer online?
Pior que dá mesmo! Poderia criar um arquivo chamado por exemplo linguagem.scr (script de linguagem) que teria as variaveis usadas intenamentes pelo sistema atribuidas diretamente no arquivo. Ótima sacada!tblima123 escreveu:Legal seu tuto, claro como sempre.
Uma forma que eu acho que tambem pode se utilizar esse método é para aqueles jogos que o desenvolvedor não quer ficar traduzindo o jogo para vários idiomos, assim dá pra deixar a cargo dos fãs traduzirem apenas trocando as strings das váriaveis e salvando o arquivo com o nome do idioma, tem muito jogo desses livres que implementam isso, tambem é comum essa tecnica em scripts php que são utilizados no mundo toda.
Bem, eu creio que com criatividade o que não falta são formas de aplicar esse tuto.
Flws!
Re: [XCREATOR] [TUTORIAL] Armazenamento e Recuperação Automática de Variáveis
excelente tutorial vinians, eu estava vendo quase tudo que aparece pela frente sobre variáveis, vi aquele tuto do saim e por aí vai... agora vejo esse tutorial, muito bom!
Desconectado321- Games Ranking :
Notas recebidas : E-D-A-D
Data de inscrição : 13/03/2011
Reputação : 5
Número de Mensagens : 273
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [XCREATOR] [TUTORIAL] Armazenamento e Recuperação Automática de Variáveis
Muito bom seu tuto vinians, eu passei a gostar ainda mais de GML.
Shadow10- Games Ranking :
Notas recebidas : C
Data de inscrição : 07/11/2010
Reputação : 19
Número de Mensagens : 429
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [XCREATOR] [TUTORIAL] Armazenamento e Recuperação Automática de Variáveis
como sempre ótimo tutorial, por isso se destaca como um dos mestres da GMBR hehehe...
usarei em meus futuros projetos...
usarei em meus futuros projetos...
Re: [XCREATOR] [TUTORIAL] Armazenamento e Recuperação Automática de Variáveis
Pois é, variáveis são uma das partes mais importantes da GML pois precisamos conhece-las bem pra poder fazer scripts mais sofisticados, por isso acho que conhecimento sobre elas nunca é demais...Desconectado321 escreveu:excelente tutorial vinians, eu estava vendo quase tudo que aparece pela frente sobre variáveis, vi aquele tuto do saim e por aí vai... agora vejo esse tutorial, muito bom!
É assim mesmo, enquanto mais aprendemos mais gostamos, pois podemos explorar mais a potencialidade do GM.Shadow10 escreveu:Muito bom seu tuto vinians, eu passei a gostar ainda mais de GML.
E ae Anderson3D, vindo de você é um elogio e tanto pois tú é fera meu irmão heheheh!Anderson3d escreveu:como sempre ótimo tutorial, por isso se destaca como um dos mestres da GMBR hehehe...
usarei em meus futuros projetos...
Obrigado pessoal pelo feedback, espero criar mais tutoriais em breve.
Flws
Tópicos semelhantes
» [XCREATOR] [TUTORIAL] Caixa de Texto avançada
» [XCREATOR] Tutorial sobre o Funcionamento dos Eventos
» [Tutorial] Variáveis o que são?
» [Tutorial] Variáveis
» [Tutorial] Variáveis em HTML5 + Javascript
» [XCREATOR] Tutorial sobre o Funcionamento dos Eventos
» [Tutorial] Variáveis o que são?
» [Tutorial] Variáveis
» [Tutorial] Variáveis em HTML5 + Javascript
GMBR :: Ensine & Aprenda :: Tutoriais :: Game Maker
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos