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


[RESOLVIDO] Leitura infinita de arquivos .ini

2 participantes

Ir para baixo

[RESOLVIDO] Leitura infinita de arquivos .ini Empty [RESOLVIDO] Leitura infinita de arquivos .ini

Mensagem por DiegoBr Qui 27 Ago 2020, 19:54

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:
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)
Que não sei utilizar direito, muito obrigado, desculpa perguntar essas coisas, é que tenho perdido já meses com meu programa, e essas coisinhas já me deixaram  10 ou 30 dias seguidos tentando resolver Basketball
DiegoBr
DiegoBr

Games Ranking : Nota D

Notas recebidas : D
Data de inscrição : 11/03/2011
Reputação : 2
Número de Mensagens : 156
Prêmios : [RESOLVIDO] Leitura infinita de 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
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Unity
  • Java
  • C#
  • Unreal
  • Javascript


https://www.youtube.com/channel/UCbXNlbl7fWz1Lw5F_D4c4Ng

Ir para o topo Ir para baixo

[RESOLVIDO] Leitura infinita de arquivos .ini Empty Re: [RESOLVIDO] Leitura infinita de arquivos .ini

Mensagem por Diemorth Sex 28 Ago 2020, 12:12

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):

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! Very Happy
Diemorth
Diemorth

Games Ranking : Sem avaliações

Data de inscrição : 26/01/2020
Reputação : 61
Número de Mensagens : 208
Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 2

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
  • Unity
  • Java
  • Web Tecnology
  • Unreal
  • Javascript
  • RPG Maker
  • C ou C++
  • Outros


https://diemorth.github.io/diemorth

Super Games, Ralphed e DiegoBr gostam desta mensagem

Ir para o topo Ir para baixo

[RESOLVIDO] Leitura infinita de arquivos .ini Empty Re: [RESOLVIDO] Leitura infinita de arquivos .ini

Mensagem por DiegoBr Sex 28 Ago 2020, 13:53

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 Happy

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)
DiegoBr
DiegoBr

Games Ranking : Nota D

Notas recebidas : D
Data de inscrição : 11/03/2011
Reputação : 2
Número de Mensagens : 156
Prêmios : [RESOLVIDO] Leitura infinita de 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
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Unity
  • Java
  • C#
  • Unreal
  • Javascript


https://www.youtube.com/channel/UCbXNlbl7fWz1Lw5F_D4c4Ng

Ralphed e Diemorth gostam desta mensagem

Ir para o topo Ir para baixo

[RESOLVIDO] Leitura infinita de arquivos .ini Empty Re: [RESOLVIDO] Leitura infinita de arquivos .ini

Mensagem por Diemorth Sáb 29 Ago 2020, 01:50

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. flw
Diemorth
Diemorth

Games Ranking : Sem avaliações

Data de inscrição : 26/01/2020
Reputação : 61
Número de Mensagens : 208
Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 2

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
  • Unity
  • Java
  • Web Tecnology
  • Unreal
  • Javascript
  • RPG Maker
  • C ou C++
  • Outros


https://diemorth.github.io/diemorth

DiegoBr gosta desta mensagem

Ir para o topo Ir para baixo

[RESOLVIDO] Leitura infinita de arquivos .ini Empty Re: [RESOLVIDO] Leitura infinita de 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