Gravar em ini

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

Gravar em ini

Mensagem por Luiz A. Oliveira em Sex 02 Set 2011, 11:58

É o seguinte pessoal, eu tenho vários objetos repetidos na room, mas cada um deve gravar e ler um valor real numa ini. Mas como faço isso, talvez usando o id?

Luiz A. Oliveira

Ranking : Nota C
Número de Mensagens : 914
Idade : 19
Data de inscrição : 08/09/2010
Notas recebidas : D-B-C
Reputação : 5
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://luizgm.blogspot.com/

Voltar ao Topo Ir em baixo

Re: Gravar em ini

Mensagem por saim em Sex 02 Set 2011, 13:26

Sim, funciona. Desde que não sejam criados novos objetos. Quer dizer, até funciona assim, mas esses não vão encontrar o campo correspondente no arquivo .ini. Talvez tenha jeito de contornar isso. O que, exatamente, você quer?

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Re: Gravar em ini

Mensagem por Luiz A. Oliveira em Sex 02 Set 2011, 22:10

eu só quria fazer para gravar os dados separandoos pela id desse objeto repetitivo, mas agora que ja sei surgiu um problema, quando adc esse tal code o executavel num funfa

Luiz A. Oliveira

Ranking : Nota C
Número de Mensagens : 914
Idade : 19
Data de inscrição : 08/09/2010
Notas recebidas : D-B-C
Reputação : 5
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://luizgm.blogspot.com/

Voltar ao Topo Ir em baixo

Re: Gravar em ini

Mensagem por saim em Sex 02 Set 2011, 22:16

mostre o code

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Re: Gravar em ini

Mensagem por Luiz A. Oliveira em Sab 03 Set 2011, 11:24

Mas manolo, é um code normal de escrever na ini. Mas somente quando mexo com ini nesse obj, o exe num roda e nao é aquela janelinha que mostra os erros nos codes, e sim uma que vem escrito 'unespecified error' e tem um botão 'ok'. Isso, segundo oque li é um bug no GM. Agora fiquei pensando se dá pra fazer a estrutura de um ini num txt e usar o execute_string, será que dá?

Luiz A. Oliveira

Ranking : Nota C
Número de Mensagens : 914
Idade : 19
Data de inscrição : 08/09/2010
Notas recebidas : D-B-C
Reputação : 5
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://luizgm.blogspot.com/

Voltar ao Topo Ir em baixo

Re: Gravar em ini

Mensagem por saim em Sab 03 Set 2011, 23:23

dá até pra fazer uma estrutura melhor que a do .ini, já que no arquivo de texto, você é quem escolhe como fica a estrutura, mas essa história de bug do GM é coisa de quem cansou de procurar o bug sem achar. Já tive esse erro várias vezes, sempre era um erro mesmo. Uma variável que não tinha sido declarada, um ponto-e-vírgula que eu tinha usado vírgula, algo PEQUENO, quase invisível, mas ainda assim, um erro meu. Procura que você acha.

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Re: Gravar em ini

Mensagem por Luiz A. Oliveira em Dom 04 Set 2011, 13:14

É assim manolo, tenho dois objetos que carregam variaveis dum ini, mas somente naquele o executavel não abre. E o code é igualzin yes
Me ensina como fazer uma estrutura num txt para eu carregar e/ou salvar vars?


Última edição por luiz_100juizo em Seg 05 Set 2011, 07:49, editado 1 vez(es)

Luiz A. Oliveira

Ranking : Nota C
Número de Mensagens : 914
Idade : 19
Data de inscrição : 08/09/2010
Notas recebidas : D-B-C
Reputação : 5
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://luizgm.blogspot.com/

Voltar ao Topo Ir em baixo

Re: Gravar em ini

Mensagem por itallo em Dom 04 Set 2011, 20:59

kra se não me engano no gm só da para ler e escrever os arquivos inis 5 vezes ao mesmo tempo.
deve ter mais de 5 instancias usando o ini ao mesmo tempo.

itallo

Ranking : Sem avaliações
Número de Mensagens : 969
Idade : 24
Data de inscrição : 26/08/2009
Reputação : 12
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   :
   :

http://www.zuluhotel.com.br

Voltar ao Topo Ir em baixo

Re: Gravar em ini

Mensagem por saim em Dom 04 Set 2011, 22:40

Não, já fiz um resta1 que cada campo escrevia no id se tinha peça ou não, a cada movimento. Eu usava with(obj_campo){
escreve no ini se a id tem colisão com a peça ou não
}

Olha, a estrutura no .txt é você quem define. seria algo como
saveFile=file_text_open_write("arquivo")
with(obj_comAVariável){
file_text_write_string(saveFile,string(id)+";");
file_text_write_real(saveFile, variável);
}
e, pra carregar... também depende do teu jogo. Se os objetos estarão lá ou se serão criados em função do que houver no arquivo...
Tem algum problema em mostrar o code? Juro que não roubo nada.

...Espera um minuto, você disse que está gravando de dentro de vários objetos ao mesmo tempo, tipo, sem usar o "with"? Talvez ESSE seja o problema. Tente criar um objeto só pra gravar/carregar ou aproveite um controller pra isso.

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Re: Gravar em ini

Mensagem por Luiz A. Oliveira em Seg 05 Set 2011, 07:45

Aqui estão os códigos que uso para definir as variáveis:
Variaveis:
Var sprite_index
Código:
temp_sprite=get_open_filename("Imagens|*.png|*.gif|*.ico|*.jpg|*.bmp",sprite_get_name(sprite_index))
if temp_sprite !=""
{
pergunta=window_message_box("Fundo da imagem",mk_question,"Você quer remover o fundo da imagem?",mb_yes_no)
switch(pergunta)
{
case mi_yes:
rb=true;break;
case mi_no:
rb=false;break;
}
tmp_spr=sprite_add(temp_sprite,-1,rb,false,16,16)
sprite_index=tmp_spr
}
Var Path
Código:
str=choose("www.gugou.com.br","www.iarru.com","www.rotimeiu.com","www.bingui.com","www.urcuti.com","www.rbmg.soriemurof.moc","www.megusta.blogspot.com")
path=wd_input_box("Caminho","Digite um caminho para o objeto.",str)
if path =""{path=str}
Var texto
Código:
texto=wd_input_box("Nome","Digite o nome do objeto.(Máximo 10 caracteres)","Icone vazio")
if texto =""{texto="Icone vazio"}
if string_length(texto)>12
{
warn=window_message_box("Nome do objeto",mk_warning,"Você exedeu o número máximo de caracteres.",mb_ok)
switch(warn)
{
case mi_ok:
texto="Icone vazio"
;break;
}
}
*Se alguma função não é reconhecida no seu GM é porque eu uso uma função para mostrar as caixas de diálogos do Windows, uma dessas extensões ja vem no GM e outra não.
E um exemplo de um código para gravar. Código inserido no evento Create
Código:
ini_open("config.ini")
texto=ini_read_string(id,"texto","Icone Vazio")
ini_close()
E outro no evento game end.
Código:
ini_open("config.ini")
ini_write_string(id,"texto",texto)
ini_close()
Esses códigos são executados pelo próprio objeto que os usará. Além de me ajudar com isso, poderia me ajudar a formular um código que carregasse a sprite aberta, sem o usuário abrir de novo? Talvez copiando-a para a pasta do jogo. Se você não entendeu oque falei, te mando a engine.

Luiz A. Oliveira

Ranking : Nota C
Número de Mensagens : 914
Idade : 19
Data de inscrição : 08/09/2010
Notas recebidas : D-B-C
Reputação : 5
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://luizgm.blogspot.com/

Voltar ao Topo Ir em baixo

Re: Gravar em ini

Mensagem por saim em Seg 05 Set 2011, 09:51

Não, o código me parece bom. Eu usaria as ids nas chaves ao invés das seções e usaria o código todo dentro de um objeto à parte, usando "with", mas não acho que o que você fez esteja errado. Talvez seja o que o CogumeloDoRock falou. Vou tentar fazer algo semelhante, te aviso do resultado.

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Re: Gravar em ini

Mensagem por saim em Ter 06 Set 2011, 08:22

Eu ia só dar um edit, mas como demorei demais (net fora do ar), vou criar um novo post:
Testei aqui e o jogo TRAVOU, não apresentou erro nenhum (não defini as variáveis, só fiz os testes do carregamento e gravação). Funcionou depois que eu substituí “id” por “string(id)”. Depois, pra confirmar, fui diretamente no arquivo e alterei os valores, funcionou direitinho. Aparentemente, as sections devem ser arquivos necessariamente de texto, talvez as keys também precisem. É, pra mim também é novidade.

Se isso não resolver, o problema está nessa definição das variáveis, que não olhei com o carinho devido.

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Re: Gravar em ini

Mensagem por Conteúdo patrocinado Hoje à(s) 21:58


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