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
» Retorno da GMBR!!!
por theguitarmester Ter 19 Mar 2024, 22:38

» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27

» 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


[Tradução] Arquivos INI

2 participantes

Ir para baixo

arquivos ini - [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 : arquivos ini - [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

arquivos ini - [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 : arquivos ini - [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

arquivos ini - [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 : arquivos ini - [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

arquivos ini - [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