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


[Tradução] Arquivos INI

2 participantes

Ir para baixo

[Tradução] Arquivos INI Empty [Tradução] Arquivos INI

Mensagem por y_Tiago Sáb 24 Set 2011, 22:51

Nome: Arquivos INI
Descrição:Tradução de um tutorial bem útil.Link
Nível de dificuldade: Iniciante
Requerimentos: GM 6/7/8 - Pro/Lite

Arquivos INI

Você deve estar se perguntando o que são arquivos INI. Bem, simplificadamente, esses arquivos são uteis para guardar informações essenciais dos jogos em um formato simples. Os arquivos INI são bem simples de ser usados e programadores de verdade os usam, incluindo empresas como a Microsoft. Então, porque quero eu fazer os programadores iniciantes entender oque são esses arquivos? Honestamente, que tipo de jogo é um jogo se não salva nem carrega jogos? Você pode até usar a função game_save() e game_load(), mas esses salvam apenas informações básicas e geralmente falando salvam um monte de coisas inúteis. De outro lado, os arquivos INI podem ser usados para salvar o que você quiser, como por exemplo, a vida do jogador, a posição dele na fase, qual fase ele está, quanto dinheiro ele tem, quantos inimigos restam na fase, etc. O uso de arquivos INI vai reduzir bastante a quantidade de dados que precisa ser salva e vai permitir a você, programador, ter o completo poder de decidir o que salvar e o que não salvar.

Os arquivos INI, geralmente, contém seções e chaves. Seções são essencialmente uma coleção de chaves. As chaves são as suas variáveis guardadas. Então com o que elas se parecem? Aqui vai um exemplo:

[Settings]
Volume=0.8
Mute=false
RoomSpeed=60
AutoSave=false

[SavedGame]


[Settings] e [SavedGame] são seções. O resto são as chaves. Por favor constate que em todos os casos, as chaves e seções são uma palavra única para evitar erros. Se você ainda está confuso, as chaves são as partes que vem antes do sinal de igual, portanto, "Volume" e "Mute" são chaves. O valor das chaves podem ser frases pois a chave pode assumir o valor de uma String.

Hm.. Entendi, você não se importa com o que são arquivos INI, só quer saber como usá-los no Game Maker, então vamos lá. Se você quiser conhecer as funções associadas com os arquivos INI é só olhar no arquivo de ajuda do Game Maker. Não quero mais gastar tempo definindo um INI, vamos então mostrar como usá-los. Aqui vai um exemplo:

ini_open("game_settings.ini"); //ini_open(string) onde a string é o nome do arquivo (precisa obrigatóriamente ser no formato *.ini)
ini_write_real("Settings","Volume",0.8); //ini_write_real(Seção,Chave,Valor)
ini_write_string("Settings","Mute","false"); //ini_write_string(Seção,Frase,Valor)
ini_write_real("Settings","RoomSpeed",60);
ini_write_string("Settings","AutoSave","false");
ini_close(); //Fecha o arquivo aberto, não se esqueça de fazer isso sempre!


Para abrir um INI usamos o ini_open(string). Uma vez aberto, podemos editá-lo do jeito que quisermos. Se o arquivo não existir, o Game Maker se dá o trabalho de criá-lo automaticamente. Para escrever valores reais ou números, usamos a função ini_write_real(Seção, Chave, Valor). Usamos o ini_write_string(Seção, Chave, Valor) para escrever strings. A Seção é a divisão na qual queremos escrever, a Chave é a variável que estamos atribuindo um valor, e o Valor, auto-explicativo, é o valor que daremos àquela variável. Btw, se uma seção ou chave não existe, ela é criada automaticamente quando usamos as funções ini_write_string() ou ini_write_real(). O exemplo mostrado agora pouco cria o seguinte no arquivo "game_settings.ini":

[Settings]
"Volume"=0.8
"Mute"=false
RoomSpeed=60
AutoSave=false


Tudo bem, agora sabemos escrever num INI, mas de que isso adianta se não sabemos ler o que escrevemos? Bem,, aqui vai um exemplo de como recuperar os dados:

ini_open("game_settings.ini");
Volume = ini_read_real("Settings","Volume",0); //ini_read_real(Seção, Chave, Valor Padrão)
Mute = ini_read_string("Settings","Mute","true"); //ini_read_string(Seção, Chave, Valor Padrão)
room_speed = ini_read_real("Settings","RoomSpeed",30);
auto_save = ini_read_string("Settings","AutoSave","true");
ini_close();


Aqui é como as variáveis estarão após a leitura.

Volume = 0.8;
Mute = "false";
room_speed = 60;
auto_save = "false";


Ler os dados é bem parecido com escrever. A única diferença real é que temos um argumento padrão ao invés de um valor. Isso significa que se ele não conseguir ler o que você pediu, ele retornará esse valor padrão. Então, olhando de volta no código de leitura, se a chave "AutoSave" não existisse, a nossa variável auto_save assumiria o valor padrão que é "true".

Outros comandos para arquivos INI:
Código:
ini_key_exists("x","y") //Retorna true se a chave y existe na seção x.
ini_section_exists("x") //Retorna true se a seção x existe.
ini_key_delete("x","Y") //Deleta a chave y da seção x
ini_section_delete("x") //Deleta a seção x.
É isso pessoal, façam bom uso dessa maravilhosa forma de salvar configurações do jogo.
E qualquer dúvida perguntem.
y_Tiago
y_Tiago

Data de inscrição : 13/10/2010
Reputação : 1
Número de Mensagens : 149
Prêmios : [Tradução] Arquivos 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

[Tradução] Arquivos INI Empty Re: [Tradução] Arquivos INI

Mensagem por Limalokão Dom 25 Set 2011, 00:59

Cara, me falaram que arquivos ini são ruims, pois qualquer um pode abri-los e editar-los que nem a room_speed da pra mudar pra 30 por exemplo
Limalokão
Limalokão

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 24/11/2009
Reputação : 10
Número de Mensagens : 805
Prêmios : [Tradução] Arquivos INI Empty

Medalhas x 0 Tutoriais x 1 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


https://llgd.com.br

Ir para o topo Ir para baixo

[Tradução] Arquivos INI Empty Re: [Tradução] Arquivos INI

Mensagem por y_Tiago Dom 25 Set 2011, 01:02

É por isso que maioria deles é usado para configurações de sistema, tipo as que estão ali, que não mexem nas coisas do jogo, tipo level, dinheiro, etc.
Ainda editável, não são ruins, pois o modo de trabalhar com elas no Game Maker é bem dinâmico e prático.
y_Tiago
y_Tiago

Data de inscrição : 13/10/2010
Reputação : 1
Número de Mensagens : 149
Prêmios : [Tradução] Arquivos 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

[Tradução] Arquivos INI Empty Re: [Tradução] Arquivos 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