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
» Servidor de Discord do fórum?
por Super Games Ontem à(s) 01:27

» Problemas com a caixa de diálogo, ela é pequena e as letras não cabem dentro
por Rukasu777 Qui 16 maio 2024, 18:10

» Problemas com particulas
por RastaMaan Dom 12 maio 2024, 17:03

» Problema ao entrar por uma porta e voltar por ela
por aminaro Seg 06 maio 2024, 10:08

» Alguém aqui já ganha dinheiro com seus games?
por theguitarmester Ter 30 Abr 2024, 11:43

» Colisões não funcionando
por theguitarmester Ter 30 Abr 2024, 10:16

» Como ajustar velocidade de cada frame da animação no game maker
por pequetux Sex 26 Abr 2024, 16:45

» Preciso de ajuda
por AftonDuGrau Dom 21 Abr 2024, 20:18

» Como faz o evento drawn GUI, não se repetir?
por aminaro Sex 19 Abr 2024, 20:30

» PROBLEMAS COM FÍSICAS DE ÁGUA
por aminaro Ter 16 Abr 2024, 10:07

» Retorno da GMBR!!!
por Ralphed Sex 12 Abr 2024, 22:45

» JOGADOR PARANDO NO AR QUANDO ATACA
por aminaro Qua 10 Abr 2024, 13:51

» Problemas com texto interativo
por Kaaru72 Dom 07 Abr 2024, 11:31

» Erro escondido e indecifrável
por dev_gabize.azv Qui 04 Abr 2024, 10:11

» Mudar cor de apenas uma palavra
por Ralphed Sáb 30 Mar 2024, 00:39

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

» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30

» 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

» 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


Como fazer uma variável não mudar o valor entre rooms

3 participantes

Ir para baixo

Como fazer uma variável não mudar o valor entre rooms Empty Como fazer uma variável não mudar o valor entre rooms

Mensagem por LittenPL Seg 08 Ago 2022, 17:28

No jogo roguelike que desenvolvo tem um sistema de gemas no menu dele. Quando eu começo o jogo, pego as gemas e volto para o menu, beleza, está lá as gemas, mas quando eu começo mais um jogo e volto novamente para o menu, as gemas do jogo anterior resetam e só adiciona as do útimo jogo.

Eu tentei fazer o seguinte: Criei uma sala para começar antes da sala do menu, que tem um objeto controle que no "Game Start Event" criava a variável global.gemas, e este objeto era persistente. Porém o mesmo erro continua.
LittenPL
LittenPL

Games Ranking : Sem avaliações

Data de inscrição : 08/08/2022
Reputação : 0
Número de Mensagens : 4
Prêmios : Como fazer uma variável não mudar o valor entre rooms 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

Como fazer uma variável não mudar o valor entre rooms Empty Re: Como fazer uma variável não mudar o valor entre rooms

Mensagem por theguitarmester Ter 09 Ago 2022, 00:35

Olá e bem vindo Very Happy


Me parece que no momento que tu está iniciando o jogo, está resetando o contador de gemas, e então por isso que a cada novo jogo, as anteriores são resetadas.

Mas ficará melhor de ajudar caso postar os códigos das partes envolvidas nesse processo das gemas.
theguitarmester
theguitarmester

Games Ranking : Nota C

Notas recebidas : B + C
Data de inscrição : 28/02/2012
Reputação : 139
Número de Mensagens : 2211
Prêmios : Como fazer uma variável não mudar o valor entre rooms Empty

Medalhas x 0 Tutoriais x 4 Moedas x 0

Ouro x 2 Prata x 2 Bronze x 1

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 1
Plataformas :
  • Unity


http://guitarmester.no.comunidades.net/index.php?pagina=19362978

Ir para o topo Ir para baixo

Como fazer uma variável não mudar o valor entre rooms Empty Re: Como fazer uma variável não mudar o valor entre rooms

Mensagem por LittenPL Ter 09 Ago 2022, 13:43

Eu tenho 3 rooms na seguinte ordem
1: Tela Inicial
2:Menu Inicial
3:Jogo principal
Na primeira room tem o objeto de controle que é persistente com o seguinte código na "Game Start Event":
Código:
global.gemas = 0;
Na segunda room tem o objeto que mostra o valor desta variável com o seguinte código na "Draw Event":
Código:
draw_text(x + 0, y + 0, string("") + string(global.gemas));
E na última room tem o objeto gema com o seguinte código na "Collision Event: Player":
Código:
global.gemas += 1;

instance_destroy();
E é assim que está o código que faz parte do sistema de gemas. Só que o erro continua
LittenPL
LittenPL

Games Ranking : Sem avaliações

Data de inscrição : 08/08/2022
Reputação : 0
Número de Mensagens : 4
Prêmios : Como fazer uma variável não mudar o valor entre rooms 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

Y0hh gosta desta mensagem

Ir para o topo Ir para baixo

Como fazer uma variável não mudar o valor entre rooms Empty Re: Como fazer uma variável não mudar o valor entre rooms

Mensagem por Y0hh Qua 10 Ago 2022, 23:52

LittenPL escreveu:Eu tenho 3 rooms na seguinte ordem
1: Tela Inicial
2:Menu Inicial
3:Jogo principal
Na primeira room tem o objeto de controle que é persistente com o seguinte código na "Game Start Event":
Código:
global.gemas = 0;
Na segunda room tem o objeto que mostra o valor desta variável com o seguinte código na "Draw Event":
Código:
draw_text(x + 0, y + 0, string("") + string(global.gemas));
E na última room tem o objeto gema com o seguinte código na "Collision Event: Player":
Código:
global.gemas += 1;

instance_destroy();
E é assim que está o código que faz parte do sistema de gemas. Só que o erro continua

Game Start Event, em vez de armazena a váriavel nesse evento, tenta pelo Create, ou o erro permanece?
Y0hh
Y0hh

Data de inscrição : 25/07/2022
Reputação : 8
Número de Mensagens : 13
Prêmios : Como fazer uma variável não mudar o valor entre rooms 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 Studio 1.4
  • Unity
  • Javascript
  • Outros


Ir para o topo Ir para baixo

Como fazer uma variável não mudar o valor entre rooms Empty Re: Como fazer uma variável não mudar o valor entre rooms

Mensagem por Y0hh Qui 11 Ago 2022, 01:05

LittenPL, não precisa mais responder nenhuma mais das minhas questões, consegui ter uma idéia do que você queria (Pelo menos eu acho né).

Eu vou te mostrar, como eu consegui fazer o Sistema de Pontos, você pode alterar como sua preferência.



[1]: Primeiro, pelo o que eu vejo, você criou um Banco de Dados até que simples, mas ele não funciona muito bem(Não querendo julgar), então eu recomendo fazer assim, vai na pasta Scripts e crie um Script chamado I_S, esse Script que iremos escrever, ele vai salvar o total de Pontos que o Jogador conseguiu numa partida.

Script:
Código:
// Salvar Pontos
// Esse Script, chamado "INI", é um Script que cria um texto que armazena Banco de Dados.
// É um Script do própio GameMaker, que está disponível em quase todas as versões.
// Eu recomendo ler também um pouco sobre esse Script.
ini_open(working_directory + "data.ini"); // Esse Script vai salvar no Diretório do seu Jogo.
ini_write_real("score", "point", global.scorepoint); // Total de Pontos, você pode mudar isso nas configurações no arquivo, se for pra ser um jogo Online ou algo do tipo [... ]
// Recomendo que você tente codificar bem o código, é bem simples de fazer, use estratégia.
ini_close(); // Esse Script, verifica se todas as informações foram salvas, se foram, fechar para que não precise ficar fazendo processo de salvamento, já que todas as informações foram salvas.
// Termino

[2]: Depois disso, iremos criar um Script que irá carregar as informações que salvamos no Banco de Dados, iremos chama-lo de "I_L", pode colocar qualquer nome que você quiser. agora você irá escrever esse Script:
Código:
// Carregar Pontos
// Esse Script vai carregar o Salvamento dos Pontos.
ini_open(working_directory + "data.ini") // Verificar o Arquivo, qual arquivo vai ser carregado.
global.scorepoint = ini_read_real("score", "point", 0); // Padrão de como será o Score.
ini_close(); // Se todos os Arquivos foram carregados, fechar para que não fique dando processo.
// Termino


AVISO: Sabe essa variável chamado "global.scorepoint", então essa váriavel é a váriavel de pontos que você colocou o "global.gemas", depois você muda se quiser, se você não mudar, o código pode dá errado.

Continuando...

Na primeira Sala, que você disse o "Game Start Event", o objeto de controle:
Código:
global.gemas = 0;
Você vai colocar isso:
Código:
I_S();
I_L();
global.gemas = 0;
O que isso vai mudar? Simples, ele vai salvar e carregar o banco de dados, agora para que ele atualize o jogo e mostre o total de pontos que o Player conseguiu.


[3]: Na sala "Jogo Principal", aonde você disse que contém um objeto gema, no "Colission Event Player":
Código:
global.gemas += 1;

instance_destroy();
Você vai colocar assim:
Código:
global.gemas += 1;
I_S();

instance_destroy();
O que isso vai mudar? Simples, ele vai salvar os pontos que o Player conseguiu.

LEMBRANDO QUE: o arquivo de salvação estará salvo nesse diretório:
C:\Users\NomeDoUsuáriodoPC\AppData\Local\T33765

FIM! Bem, terminamos, foi muito simples né? Bem, qualquer dúvida eu irei responder, caso você não conseguiu entender muito bem os código, eu vou disponibilizar um arquivo aonde eu testei o código para ver se funciona, ai você pode dá uma arrumada e colocar no seu projeto(Se tiver BUGS também, me avisa), boa noite.
https://www.mediafire.com/file/oaypjigrwmgwxqh/T33765.gmz/file


Última edição por Y0hh em Qui 11 Ago 2022, 01:16, editado 1 vez(es) (Motivo da edição : Esqueci de colocar mais informações ksksksk)
Y0hh
Y0hh

Data de inscrição : 25/07/2022
Reputação : 8
Número de Mensagens : 13
Prêmios : Como fazer uma variável não mudar o valor entre rooms 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 Studio 1.4
  • Unity
  • Javascript
  • Outros


theguitarmester gosta desta mensagem

Ir para o topo Ir para baixo

Como fazer uma variável não mudar o valor entre rooms Empty Re: Como fazer uma variável não mudar o valor entre rooms

Mensagem por LittenPL Sex 12 Ago 2022, 11:50

Cara, valeu mesmo, eu já sabia usar os arquivos ini, só pensava que não precisaria usá-lo para uma variável como esta dentro do jogo. E com toda essa sua bela explicação, vai ser bem mais fácil, valeu mesmo, foi de grande ajuda.
LittenPL
LittenPL

Games Ranking : Sem avaliações

Data de inscrição : 08/08/2022
Reputação : 0
Número de Mensagens : 4
Prêmios : Como fazer uma variável não mudar o valor entre rooms 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

Como fazer uma variável não mudar o valor entre rooms Empty Re: Como fazer uma variável não mudar o valor entre rooms

Mensagem por Y0hh Sex 12 Ago 2022, 19:33

LittenPL escreveu:Cara, valeu mesmo, eu já sabia usar os arquivos ini, só pensava que não precisaria usá-lo para uma variável como esta dentro do jogo. E com toda essa sua bela explicação, vai ser bem mais fácil, valeu mesmo, foi de grande ajuda.

Pra mim foi uma honra te ajudar, eu gosto disso, obrigado pelo elogio e boa sorte <3
Y0hh
Y0hh

Data de inscrição : 25/07/2022
Reputação : 8
Número de Mensagens : 13
Prêmios : Como fazer uma variável não mudar o valor entre rooms 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 Studio 1.4
  • Unity
  • Javascript
  • Outros


Ir para o topo Ir para baixo

Como fazer uma variável não mudar o valor entre rooms Empty Re: Como fazer uma variável não mudar o valor entre rooms

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