GMBR
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar

Esqueci-me da senha

Últimos assuntos
» player não consegue andar
por lovn7 Qui 21 Nov 2024, 13:33

» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56

» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22

» (Resolvido) Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31

» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23

» (RESOLVIDO) Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49

» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58

» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36

» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36

» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33

» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51

» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28

» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18

» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08

» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10

» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16

» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40

» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01

» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45

» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34

» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28

» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48

» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54

» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14

» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50


Aula 03 - Manipulando o arquivo.ini

+7
Arkd
PODEROS ARAN
paladini
Dancity
Denbs
Carlos Mahnke
Willy
11 participantes

Ir para baixo

Aula 03 - Manipulando o arquivo.ini Empty Aula 03 - Manipulando o arquivo.ini

Mensagem por Willy Dom 06 Nov 2011, 14:12

Manipulando o arquivo.ini
Aula 03/03

Finalmente chegamos na parte interessante das aulas sobre arquivos.ini,  agora você vai aprender como usar as funções aprendidas anteriormente. Antes de começar, crie um novo projeto e salve em algum lugar. Se você não sabe o que são INIs, significa que você pulou algumas aulas, seu danadinho... Se achar necessário, consulte a primeira aula e também a segunda aula.

Primeiro passo - Abrir/Criar um INI:
Sempre que formos trabalhar com um INI, a primeira coisa que devemos fazer é carregar/criar um. Para isso, usamos a função ini_open(“nome.ini”).
Usar esta função é muito simples, basta definirmos um nome e uma extensão desejada. Você pode colocar qualquer nome e qualquer extensão, pois o resultado vai ser o mesmo, como por exemplo, “NomeDoJogo.sav”. Note que, você sempre deve escrever entre aspas(""). Se você executar o jogo, você não encontrará o arquivo.ini que você criou. Mas por quê? Saberemos disso posteriormente...

Segundo Passo – Criando variáveis carregáveis.
Se você quisesse criar uma variável normal em um objeto, você procederia da seguinte forma:
Create:
Variável=Valor
Mas, se quisermos criar uma variável “carregável”, ou seja, que será carregado do ini, deveremos proceder de uma forma um pouco diferente.
Create:
Variável=ini_read_real("Seção","Chave",Default)
Como vimos na aula anterior, existem dois tipos de valor, a do tipo real e a do tipo string, então, sempre preste atenção quando for criar uma variável com INI. No caso acima, estamos definindo o valor da “Variável” através do arquivo.ini. Default é o valor inicial dele, ou seja:
Pontos=0
É o mesmo que:
Pontos=ini_read_real(“Progresso”,”Pontos”,0)
Note que, quando nos referimos a uma seção ou a uma chave, sempre escrevemos entre aspas.

Terceiro Passo – Salvando o novo valor:
Agora que já sabemos como criar as variáveis, devemos saber como gravar os valores delas, para que depois, possamos iniciar o jogo com as variáveis do jeito que deixamos!
O procedimento é semelhante ao de carregar, fazemos da seguinte forma:
ini_write_real(“Progresso”,”Pontos”,Pontos)
O que fizemos acima é bem simples. Chamamos a função ini_write_real() e salvamos o valor de “Pontos” na chave “Pontos” pertencente a seção “Progresso”. Cuidado para não confundir a chave “Pontos” com a variável “Pontos”. Embora a escrita seja a mesma, uma não possui aspas, logo, é uma variável.

Agora que você salvou algo no INI, adivinha o que aconteceu? O arquivo que abrimos que, antes não existia agora existe, e está no mesmo lugar que a sua gmk! Seu arquivo.ini só será criado depois que você gravar algo nele. Agora você já sabe responder a pergunta do primeiro passo!

Pronto, isto é tudo o que você precisa saber para manipular dados de um arquivo.ini! As outras funções você raramente irá usar. A lógica é a mesma, basta informar qual chave/seção você gostaria de manipular. Por exemplo, para checar a existência de uma chave e exclui-la.
Código:
if ini_key_exists(“Perfil”,”Nome”){ //Checa se a chave existe...
ini_key_delete(“Perfil”,”Nome”)//...e a deleta!
}
Isto encerra as aulas sobre arquivos.ini. Agora, você já sabe como usar arquivos.ini! Seja criativo, bole soluções para seus problemas com save/load, tudo depende apenas de seu raciocínio. Duvidas, criticas e elogios são bem vindos!

Espero que tenha gostado!
blz


Última edição por Willy em Qua 13 Nov 2013, 16:49, editado 1 vez(es)
Willy
Willy

Games Ranking : Nota A

Notas recebidas : C + B + A + A
Data de inscrição : 08/06/2009
Reputação : 264
Número de Mensagens : 1890
Prêmios : Aula 03 - Manipulando o arquivo.ini Empty

Medalhas x 0 Tutoriais x 2 Moedas x 0

Ouro x 2 Prata x 1 Bronze x 1

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://willy-gmbr.blogspot.com/

Ir para o topo Ir para baixo

Aula 03 - Manipulando o arquivo.ini Empty Re: Aula 03 - Manipulando o arquivo.ini

Mensagem por Carlos Mahnke Dom 06 Nov 2011, 14:17

Muito legal a série Willy. Como sugestão, vc poderia ensinar a utilizar um sistema bem simplificado de criptografia pra usar com um save em ini, já que "puro" ele pode ser editado livremente pelo jogador.

(Sei que há uma gama de DLLs pra criptografia mas em casos onde não se faz necessário um simples sistema de "chaves" substituindo caracteres é perfeitamente funcional)
avatar
Carlos Mahnke

Games Ranking : Sem avaliações

Notas recebidas : A+B (não colocar conceito)
Data de inscrição : 27/07/2011
Reputação : 0
Número de Mensagens : 202
Prêmios : Aula 03 - Manipulando o arquivo.ini Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Aula 03 - Manipulando o arquivo.ini Empty Re: Aula 03 - Manipulando o arquivo.ini

Mensagem por Denbs Dom 06 Nov 2011, 14:22

Cara, bom tutorial(ou aula), ta tudo bem explicado e agora sei como usar ini, tava esperando logo esse tuto ainda bem q vc postou logo^^

flw
Denbs
Denbs

Data de inscrição : 19/01/2011
Reputação : 0
Número de Mensagens : 204
Prêmios : Aula 03 - Manipulando o arquivo.ini Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Aula 03 - Manipulando o arquivo.ini Empty Re: Aula 03 - Manipulando o arquivo.ini

Mensagem por Willy Dom 06 Nov 2011, 14:24

Eu havia pensado em fazer isso também, mas acabei esquecendo...
Porém, já existe um tópico falando sobre isso (resposta do Kabeção).
Codificar e Descodificar INI

Se der tempo, talvez eu faça algo do tipo, mas ultimamente o tempo está meio corrido...

Obrigado pelos comentários!
blz
Willy
Willy

Games Ranking : Nota A

Notas recebidas : C + B + A + A
Data de inscrição : 08/06/2009
Reputação : 264
Número de Mensagens : 1890
Prêmios : Aula 03 - Manipulando o arquivo.ini Empty

Medalhas x 0 Tutoriais x 2 Moedas x 0

Ouro x 2 Prata x 1 Bronze x 1

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://willy-gmbr.blogspot.com/

Ir para o topo Ir para baixo

Aula 03 - Manipulando o arquivo.ini Empty Re: Aula 03 - Manipulando o arquivo.ini

Mensagem por Dancity Dom 06 Nov 2011, 14:25

Muito bom, Willy. Explicou direitinho, passo-a-passo como se abre, carrega e se fecha um .ini, parabéns.

Gostaria de mais tutoriais como estes, são de ótima qualidade, e de grande ajuda ;D
Dancity
Dancity

Games Ranking : Nota A

Notas recebidas : A
Data de inscrição : 11/01/2009
Reputação : 8
Número de Mensagens : 1340
Prêmios : Aula 03 - Manipulando o arquivo.ini Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Aula 03 - Manipulando o arquivo.ini Empty Re: Aula 03 - Manipulando o arquivo.ini

Mensagem por paladini Dom 01 Jan 2012, 20:52

Ei Willy, muito bom o tutorial, porém estou com um problema. Não sou nada bom em GML, mas tô tentando aprender, para isso criei uma engine bem simples pra aprender a usar os ini. Criei uma room, e um objeto.

Esse objeto tem um evento Create e tem o seguinte código (acho que está errado):

Código:

ini_open("config.ini");
global.Option = ini_read_string("Config","Tela-cheia",0);
ini_write_string("Config","Tela-cheia",0)

Quando executo o programa, ele cria o ini, e ele fica assim:

Código:


[Config]
Tela-cheia=

Porque ele não fica assim:
Código:

[Config]
Tela-cheia=0

??

O que eu fiz de errado?

Valeu Willy, mto bom o seu tutorial!
paladini
paladini

Data de inscrição : 01/12/2010
Reputação : 0
Número de Mensagens : 175
Prêmios : Aula 03 - Manipulando o arquivo.ini Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://www.techsempre.com

Ir para o topo Ir para baixo

Aula 03 - Manipulando o arquivo.ini Empty Re: Aula 03 - Manipulando o arquivo.ini

Mensagem por Willy Sáb 07 Jan 2012, 16:41

Isto acontece porque você está salvando um valor "real" em um campo onde deveria ser "string". Para isso, no ini_write_string, coloque o zero da seguinte forma: string(0); Isso converte real em string.
Ou se preferir, troque o ini_write_string por ini_write_real

Qualquer coisa é so falar.
flws...
blz
Willy
Willy

Games Ranking : Nota A

Notas recebidas : C + B + A + A
Data de inscrição : 08/06/2009
Reputação : 264
Número de Mensagens : 1890
Prêmios : Aula 03 - Manipulando o arquivo.ini Empty

Medalhas x 0 Tutoriais x 2 Moedas x 0

Ouro x 2 Prata x 1 Bronze x 1

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://willy-gmbr.blogspot.com/

Ir para o topo Ir para baixo

Aula 03 - Manipulando o arquivo.ini Empty Re: Aula 03 - Manipulando o arquivo.ini

Mensagem por PODEROS ARAN Qui 24 maio 2012, 16:19

Parabéns velho!

Nota 10 o teu tutorial. Fiz o que eu precisava rapidamente gastando 5 minutos lendo as três aulas.
PODEROS ARAN
PODEROS ARAN

Data de inscrição : 16/12/2011
Reputação : 1
Número de Mensagens : 19
Prêmios : Aula 03 - Manipulando o arquivo.ini Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Aula 03 - Manipulando o arquivo.ini Empty Re: Aula 03 - Manipulando o arquivo.ini

Mensagem por Arkd Qui 31 Jan 2013, 21:33

Muito bom cara Very Happy cheers muito bom mesmo, eu precisava mesmo disso, bolei um belo sistema de save Very Happy, valeu Willy, Parabens, otimo tutorial Very Happy
Arkd
Arkd

Data de inscrição : 03/04/2012
Reputação : 1
Número de Mensagens : 293
Prêmios : Aula 03 - Manipulando o arquivo.ini Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://www.arkadesgames.blogspot.com

Ir para o topo Ir para baixo

Aula 03 - Manipulando o arquivo.ini Empty Re: Aula 03 - Manipulando o arquivo.ini

Mensagem por dharrison Sáb 26 Abr 2014, 01:25

Willy

Preciso carregar um valor de uma ini para as opções do jogador, porém não posso predefiní-la.

No caso está da seguinte forma
Código:
ini_read_real("options","tela",2)

O problema é: não quero que ele configure como 2, e sim que use o valor que está contido na ini... comofas?
dharrison
dharrison

Games Ranking : Nota B

Notas recebidas : A - B
Data de inscrição : 04/02/2009
Reputação : 120
Número de Mensagens : 1363
Prêmios : Aula 03 - Manipulando o arquivo.ini Empty

Medalhas x 0 Tutoriais x 9 Moedas x 0

Ouro x 0 Prata x 1 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 1
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 2.0
  • C#


Ir para o topo Ir para baixo

Aula 03 - Manipulando o arquivo.ini Empty Re: Aula 03 - Manipulando o arquivo.ini

Mensagem por Willy Sáb 26 Abr 2014, 01:44

Os valores default só entram em cena quando o INI não encontra a chave na seção. Portanto, se você está tentando carregar um valor do INI mas o mesmo não corresponde ao esperado, significa que o o INI não está carregando, logo, um erro na programação.
Willy
Willy

Games Ranking : Nota A

Notas recebidas : C + B + A + A
Data de inscrição : 08/06/2009
Reputação : 264
Número de Mensagens : 1890
Prêmios : Aula 03 - Manipulando o arquivo.ini Empty

Medalhas x 0 Tutoriais x 2 Moedas x 0

Ouro x 2 Prata x 1 Bronze x 1

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://willy-gmbr.blogspot.com/

Ir para o topo Ir para baixo

Aula 03 - Manipulando o arquivo.ini Empty Re: Aula 03 - Manipulando o arquivo.ini

Mensagem por Gabreel Sáb 26 Abr 2014, 01:51

Se você não achar o erro, usa o file_exists() para ver se o caminho ao arquivo está certo! (lembrando que precisa estar na mesma pasta do jogo, no caso do GM8, e no included files no caso do GMS)
Gabreel
Gabreel

Data de inscrição : 02/10/2009
Reputação : 52
Número de Mensagens : 2232
Prêmios : Aula 03 - Manipulando o arquivo.ini Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Javascript
  • Outros


Ir para o topo Ir para baixo

Aula 03 - Manipulando o arquivo.ini Empty Re: Aula 03 - Manipulando o arquivo.ini

Mensagem por dharrison Sáb 26 Abr 2014, 09:15

Ja verifiquei o arquivo, ele esta alterando corretamente.
Porém acho que não estou conseguindo fazer a variável lê-lo, pois mesmo mudando o default nada acontece.
Código:
escolha1=
ini_open("userconfig.cfg");
ini_read_real("options","tela",0);
ini_close()

É assim que se atribui o valor da ini a variavel?
dharrison
dharrison

Games Ranking : Nota B

Notas recebidas : A - B
Data de inscrição : 04/02/2009
Reputação : 120
Número de Mensagens : 1363
Prêmios : Aula 03 - Manipulando o arquivo.ini Empty

Medalhas x 0 Tutoriais x 9 Moedas x 0

Ouro x 0 Prata x 1 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 1
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 2.0
  • C#


Ir para o topo Ir para baixo

Aula 03 - Manipulando o arquivo.ini Empty Re: Aula 03 - Manipulando o arquivo.ini

Mensagem por Willy Sáb 26 Abr 2014, 13:05

Ah, é por isso... Me desculpe, eu não reparei isso no primeiro código.

ini_read_* retorna um valor, portanto, a variável que deve ser atualizada deve estar antes do comando da seguinte forma:
Código:
ini_open("userconfig.cfg");
escolha1 = ini_read_real("options","tela",0);
ini_close();
Willy
Willy

Games Ranking : Nota A

Notas recebidas : C + B + A + A
Data de inscrição : 08/06/2009
Reputação : 264
Número de Mensagens : 1890
Prêmios : Aula 03 - Manipulando o arquivo.ini Empty

Medalhas x 0 Tutoriais x 2 Moedas x 0

Ouro x 2 Prata x 1 Bronze x 1

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://willy-gmbr.blogspot.com/

Ir para o topo Ir para baixo

Aula 03 - Manipulando o arquivo.ini Empty Re: Aula 03 - Manipulando o arquivo.ini

Mensagem por DUDU951 Sex 27 Jun 2014, 23:53

Se tiver apenas 1 arquivo ini no jogo, não terá a necessidade de fecha-lo?


Última edição por DUDU951 em Sáb 28 Jun 2014, 21:39, editado 1 vez(es)
avatar
DUDU951

Data de inscrição : 24/06/2014
Reputação : 2
Número de Mensagens : 90
Prêmios : Aula 03 - Manipulando o arquivo.ini Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Aula 03 - Manipulando o arquivo.ini Empty Re: Aula 03 - Manipulando o arquivo.ini

Mensagem por Witen Sáb 28 Jun 2014, 08:07

DUDU951 escreveu:1 arquivo ini pode salvar apenas 1 seção, chave, valor por vez?

Se tiver apenas 1 arquivo ini no jogo, não terá a necessidade de fecha-lo?

1- Você pode salvar vários valores em uma seção, na chave somente um, a chave representa a variável que vai guardar o valor. Exemplo.
Código:
[Configuracao do server]//Seção
//Chave = valor
Porta = 888
2-O bom é sempre recolher seus valores e fechar, economizando assim memoria.
Witen
Witen

Games Ranking : Sem avaliações

Data de inscrição : 23/05/2012
Reputação : 36
Número de Mensagens : 515
Prêmios : Aula 03 - Manipulando o arquivo.ini Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://www.wibix.webs.com

Ir para o topo Ir para baixo

Aula 03 - Manipulando o arquivo.ini Empty Re: Aula 03 - Manipulando o arquivo.ini

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos