Entrar
Últimos assuntos
» player não consegue andarpor 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
[RESOLVIDO] Leitura infinita de arquivos .ini
2 participantes
GMBR :: Ensine & Aprenda :: Perguntas e Respostas :: Game Maker :: GMS:Windows
Página 1 de 1
[RESOLVIDO] Leitura infinita de arquivos .ini
Eu vim de uma vez aqui tentando solucionar todos os meus problemas que encontrei com o passar dos anos.
Eu fiz um projeto aqui, que cada vez que coloco um OBJETO na tela, ele salva em um arquivo .ini
a posição, se esse objeto existe e também a quantidade total de objetos na tela, com dois objetos colocados
na tela o arquivo .ini fica assim:
GAME_INFO:
A pergunta que fica é a seguinte, como ler de volta estas informações mesmos que sejam milhares? eu queria que ele salva-se em uma variavel global essas informações, logo que inicia a room, e ai coloque os objetos de volta na room na posição indicada. A Section do OBJ1_STATUS, serve para indicar se o objeto existe ou não.
Acredito que tenha que usar aquele sistema de
Eu fiz um projeto aqui, que cada vez que coloco um OBJETO na tela, ele salva em um arquivo .ini
a posição, se esse objeto existe e também a quantidade total de objetos na tela, com dois objetos colocados
na tela o arquivo .ini fica assim:
GAME_INFO:
- Código:
[ROOM_1]
OBJ1_TOTAL = 2
OBJ1_STATUS1 = 1
OBJ1_X1 = 640
OBJ1_Y1 = 480
OBJ1_STATUS2 = 1
OBJ1_X2 = 150
OBJ1_Y2 = 200
A pergunta que fica é a seguinte, como ler de volta estas informações mesmos que sejam milhares? eu queria que ele salva-se em uma variavel global essas informações, logo que inicia a room, e ai coloque os objetos de volta na room na posição indicada. A Section do OBJ1_STATUS, serve para indicar se o objeto existe ou não.
Acredito que tenha que usar aquele sistema de
- Código:
var i;
for (i = 0; i < 10; i += 1)
Re: [RESOLVIDO] Leitura infinita de arquivos .ini
Você pode usar um loop pra isso, seja um for ou um while. Como as variáveis estão em ordem numérica, nesse caso fica algo assim(considerando que você quer criar um objeto na posição x e y do ini e definir esse objeto com um status):
O código acima pega a quantidade de objetos que precisam ser lidos e pra a room atual, cria um objeto na posição x e y do arquivo e define a variável status desse objeto com base no .ini também, possivelmente com isso você consegue fazer as alterações que precisa para seu código funcionar(tentei fazer de um jeito bem generalista). Eu não compilei o código acima, mas creio que esteja tudo em ordem. Força!
- Código:
var _numeroDeObjetos, _x, _y, _refDoObjeto;
ini_open("nomeDoIni.ini");
_numeroDeObjetos = ini_read_real("ROOM_"+string(numeroDaRoom),"OBJ1_TOTAL",0);
for (var i = 0; i < _numeroDeObjetos; i++){
_x = ini_read_real("ROOM_"+string(numeroDaRoom),"OBJ1_X"+string(i +1),0);
_y = ini_read_real("ROOM_"+string(numeroDaRoom),"OBJ1_Y"+string(i +1),0);
_refDoObjeto = instance_create(_x,_y,obj_nomeDoObjeto);
_refDoObjeto.status = ini_read_real("ROOM_"+string(numeroDaRoom),"OBJ1_STATUS"+string(i +1),0);
}
ini_close();
O código acima pega a quantidade de objetos que precisam ser lidos e pra a room atual, cria um objeto na posição x e y do arquivo e define a variável status desse objeto com base no .ini também, possivelmente com isso você consegue fazer as alterações que precisa para seu código funcionar(tentei fazer de um jeito bem generalista). Eu não compilei o código acima, mas creio que esteja tudo em ordem. Força!
Super Games, Ralphed e DiegoBr gostam desta mensagem
Re: [RESOLVIDO] Leitura infinita de arquivos .ini
Mano, eu te amo, você é foda, vc é 10, vc é brilhante, eu te desejo tudo de bom nessa vida, sério, vou testar aqui, adaptar e deixo retorno se deu certo
MUITO OBRIGADO MESMO, um bom mês para você <3 <3 <3
Amigo DEU MUITO, MUITO, MUITO, CERTO, REALMENTE OBRIGADO, VOCÊ É FODA... EU entendo de game maker também uma boa parcela, se precisar de ajuda pode me chamar diogo.grande@hotmail.com, eu só não manjo de buffer e esses "arrays"... Bom fiz uma pequena alteração no código e deu 100% certo <3
Declarei essas duas variaveis no Create, só para teste mesmo:
Depois no Step modifiquei bem mas bem pouquinho seu código para ver se dava
certo:
A variável foi algo limitador para garantir que não ficasse criando infinitamente objetos na tela fazendo cair o fps...
O numeroDaRoom1 eu declarei como 1, só para teste mesmo e deu muito certo, realmente obrigado <3
Se quiser te dou créditos no meu programa <3
MUITO OBRIGADO MESMO, um bom mês para você <3 <3 <3
Amigo DEU MUITO, MUITO, MUITO, CERTO, REALMENTE OBRIGADO, VOCÊ É FODA... EU entendo de game maker também uma boa parcela, se precisar de ajuda pode me chamar diogo.grande@hotmail.com, eu só não manjo de buffer e esses "arrays"... Bom fiz uma pequena alteração no código e deu 100% certo <3
Declarei essas duas variaveis no Create, só para teste mesmo:
- Código:
variavel_creator=false
numeroDaRoom1 = 1
Depois no Step modifiquei bem mas bem pouquinho seu código para ver se dava
certo:
- Código:
if variavel_creator=false{
var _numeroDeObjetos, _x, _y, _refDoObjeto;
ini_open("GAME_CODE.txt");
_numeroDeObjetos = ini_read_real("ROOM_"+string(numeroDaRoom1),"OBJ1_TOTAL",0);
for (var i = 0; i < _numeroDeObjetos; i++){
_x = ini_read_real("ROOM_"+string(numeroDaRoom1),"OBJ1_X"+string(i +1),0);
_y = ini_read_real("ROOM_"+string(numeroDaRoom1),"OBJ1_Y"+string(i +1),0);
_refDoObjeto = instance_create(_x,_y,Obj_Creator);
_refDoObjeto.status = ini_read_real("ROOM_"+string(numeroDaRoom1),"OBJ1_STATUS"+string(i +1),0);
}
ini_close();
variavel_creator=true
}
A variável foi algo limitador para garantir que não ficasse criando infinitamente objetos na tela fazendo cair o fps...
O numeroDaRoom1 eu declarei como 1, só para teste mesmo e deu muito certo, realmente obrigado <3
Se quiser te dou créditos no meu programa <3
Última edição por DiegoBr em Sex 28 Ago 2020, 14:19, editado 2 vez(es) (Motivo da edição : Apenas esclarecendo as alterações, obrigado)
Ralphed e Diemorth gostam desta mensagem
Re: [RESOLVIDO] Leitura infinita de arquivos .ini
Que bom que você conseguiu adaptar! Colocando esse código no create ou em um script pode facilitar o uso depois.
Não precisa dar créditos no seu projeto. Estamos aqui para construir um lugar legal para aprender, fico feliz em ajudar.
Não precisa dar créditos no seu projeto. Estamos aqui para construir um lugar legal para aprender, fico feliz em ajudar.
DiegoBr gosta desta mensagem
Tópicos semelhantes
» [Resolvido]Oque são arquivos .ini ?
» [Resolvido]Sobre Arquivos GMK
» [resolvido] Separar arquivos
» [RESOLVIDO] [AJUDA] Lista de arquivos
» [Resolvido]Dúvida a respeito de arquivos Rar
» [Resolvido]Sobre Arquivos GMK
» [resolvido] Separar arquivos
» [RESOLVIDO] [AJUDA] Lista de arquivos
» [Resolvido]Dúvida a respeito de arquivos Rar
GMBR :: Ensine & Aprenda :: Perguntas e Respostas :: Game Maker :: GMS:Windows
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos