De arquivo.ini para ds_map e de ds_map para arquivo.ini....

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

De arquivo.ini para ds_map e de ds_map para arquivo.ini....

Mensagem por irlansn em Qua 29 Ago 2012, 18:02

Tem um codigo que faça com que eu passe as informações de um arquivo.ini para um ds_map (porque é muito pesado ficar abrindo e fechando os arquivos.ini durante o jogo) e depois manda o ds_map para o arquivo.ini (para gravar as mudanças)?

Sei que posso fazer isso com for, mas queria um jeito direto, tem um código para isso?

agradeço desde já flw

irlansn

Ranking : Nota C
Número de Mensagens : 482
Idade : 18
Data de inscrição : 18/01/2011
Notas recebidas : B+D
Reputação : 5
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: De arquivo.ini para ds_map e de ds_map para arquivo.ini....

Mensagem por PedroX em Qua 29 Ago 2012, 18:21

ds_map_write(mapa) te retorna o mapa inteiro codificado como string. Escreve em um arquivo de texto e pronto.

ds_map_read(mapa, string) modifica o mapa para ficar de acordo com a string, que você gerou na outra função.

Basicamente:

Escrever
Código:
f = file_text_open_write('mapa.txt');
file_text_write_string(f, ds_map_write(mapa));
file_text_close(f);

Ler
Código:
f = file_text_open_read('mapa.txt');
s = file_text_read_string(f);
ds_map_read(mapa, s);
file_text_close(f);

PedroX

Ranking : Nota C
Número de Mensagens : 6034
Idade : 21
Data de inscrição : 26/07/2008
Notas recebidas : C+B
Reputação : 286
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: De arquivo.ini para ds_map e de ds_map para arquivo.ini....

Mensagem por irlansn em Qua 29 Ago 2012, 18:43

@Pedrø e isso funciona com os arquivos.ini?
digo posso usar os códigos dos arquivos ini, nesse arquivos de testo criados?
Código:
ini_open()
ini_read_real()
...

irlansn

Ranking : Nota C
Número de Mensagens : 482
Idade : 18
Data de inscrição : 18/01/2011
Notas recebidas : B+D
Reputação : 5
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: De arquivo.ini para ds_map e de ds_map para arquivo.ini....

Mensagem por PedroX em Qua 29 Ago 2012, 19:05

Não funciona.
Só por loops ou outro método "manual".

PedroX

Ranking : Nota C
Número de Mensagens : 6034
Idade : 21
Data de inscrição : 26/07/2008
Notas recebidas : C+B
Reputação : 286
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: De arquivo.ini para ds_map e de ds_map para arquivo.ini....

Mensagem por irlansn em Qua 29 Ago 2012, 19:27

Pedrø escreveu:Não funciona.
Só por loops ou outro método "manual".

hum... É que como o ds_map e o arquivo.ini tem 2 Seguimentos (x e y | seção e chave) eu achei que dava para fazer essa transferência direto.....
E como seria essa transferência por loop (for)? (é que não tenho muito costume de usar ds_map.....)

flw

irlansn

Ranking : Nota C
Número de Mensagens : 482
Idade : 18
Data de inscrição : 18/01/2011
Notas recebidas : B+D
Reputação : 5
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: De arquivo.ini para ds_map e de ds_map para arquivo.ini....

Mensagem por PedroX em Qua 29 Ago 2012, 20:03

Supondo que o mapa já exista, então:

Código:
ini_open("mapa.ini");
k = ds_map_find_first(mapa);
s = ds_map_size(mapa);
while(s)
{
ini_write_string("Mapa", k, ds_map_find_value(mapa, k) );
k = ds_map_find_next(mapa, k);
s -= 1;
}
ini_close();

Eu fiz por while por que achei mais objetivo.

Para ler você precisará detectar as keys na seção. Ou seja, percorrer cada uma e puxar seu valor.
Para isso precisará de uma DLL:

http://gmc.yoyogames.com/index.php?showtopic=432948


Até mais!

PedroX

Ranking : Nota C
Número de Mensagens : 6034
Idade : 21
Data de inscrição : 26/07/2008
Notas recebidas : C+B
Reputação : 286
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: De arquivo.ini para ds_map e de ds_map para arquivo.ini....

Mensagem por Conteúdo patrocinado Hoje à(s) 02:24


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum