Varialvel nao muda quando se inicia com ini.

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

Varialvel nao muda quando se inicia com ini.

Mensagem por Black Studio em Qui 19 Jan 2012, 15:43

Eu estou fazendo um market no meu jogo e tenho pouco tempo para entregar, o problema é que quando eu inicio a ini e coloco para a variavel "global.cash" se inicie com o valor da ini, ele nao muda de valor durante o jogo...

Os codigos (esse ta no create) :
Código:
ini_open("Information.ini")
global.cash=ini_read_string("progresso","cash",0)

no código da moeda quando se destroi:
Código:
global.cash+=1

e quando termina o jogo :
Código:
ini_write_real('progresso','cash',real(global.cash))
ini_close()

Quando eu defini a variavel como um numero e nao com a INI, ele funcionava, ele Adicionava dinheiro, mas agora nao.

Só para avisar eu segui os tutorials de INI que tem no indice, e nao da erro, só que nao da certo...

Black Studio

Ranking : Nota C
Número de Mensagens : 337
Idade : 18
Data de inscrição : 19/10/2011
Notas recebidas : C + C
Reputação : 9
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 1
   : 0

Voltar ao Topo Ir em baixo

Re: Varialvel nao muda quando se inicia com ini.

Mensagem por saim em Qui 19 Jan 2012, 17:26

Isso é estranho. Já tentou debugar?

Se o valor não está mudando (ao invés de aparecer um erro, por exemplo), deve ter alguma coisa errada no step ou na colisão.
Dê uma corrida nesses dois eventos.
E, já que a variável é global, pode ser que o problema esteja em outro objeto. Suponha que um objeto aumente o valor da variável e daí venha outro e carregue o valor do arquivo .ini novamente. Ele terá sempre o valor do arquivo .ini.
Pra verificar, salve o valor a cada vez que pegar uma moeda. No código da moeda, adicione:
Código:
ini_write_real('progresso','cash',real(global.cash))

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: Varialvel nao muda quando se inicia com ini.

Mensagem por PedroX em Qui 19 Jan 2012, 17:32

Coloca ini_read_real. Já que você vai somar depois, é o certo.

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: Varialvel nao muda quando se inicia com ini.

Mensagem por saim em Qui 19 Jan 2012, 17:37

Não, Pedrø, minha idéia é escrever na ini, mesmo. Se ele estiver carregando o valor da ini a cada step, ele vai passar a carregar o valor atualizado. O código é pra ser colocado depois de "global.cash += 1"

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: Varialvel nao muda quando se inicia com ini.

Mensagem por Black Studio em Sex 20 Jan 2012, 00:14

Eu tentei fazer o que voce disse saim, e nao deu certo.

E eu tambem tirei o codigo de salvar a ini, ela estava num step, mas só deveria acontecer se nao avisse mais inimigos. mesmo assim, eu fiz o que voce disse, tirei o codigo de salvar por ultimo lá e nao aconteceu NADA, continua a mesma coisa.

Black Studio

Ranking : Nota C
Número de Mensagens : 337
Idade : 18
Data de inscrição : 19/10/2011
Notas recebidas : C + C
Reputação : 9
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 1
   : 0

Voltar ao Topo Ir em baixo

Re: Varialvel nao muda quando se inicia com ini.

Mensagem por Super Maker em Sex 20 Jan 2012, 00:28

Pode ser que ele não esteja aberto pelo jogo, por isso não muda.
Você tem que abrir e lêr o arquivo com o gm, assim ele vai reconhecer o valor atual e estar ápto a mudar quando o evento acontecer.
Eu acho que o código deles não tem erro.
Tenta verificar se o arquivo externo ta sendo chamado de modo correto.
Falou!

Super Maker

Número de Mensagens : 646
Idade : 33
Data de inscrição : 09/07/2011
Reputação : 6
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Varialvel nao muda quando se inicia com ini.

Mensagem por Black Studio em Sex 20 Jan 2012, 00:36

Esta sim, e se nao tiver um, ele vai criar automaticamente.

Ele abre, vou tentar para abrir no menu ja.
(EDIT)
Não deu :|

Black Studio

Ranking : Nota C
Número de Mensagens : 337
Idade : 18
Data de inscrição : 19/10/2011
Notas recebidas : C + C
Reputação : 9
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 1
   : 0

Voltar ao Topo Ir em baixo

Re: Varialvel nao muda quando se inicia com ini.

Mensagem por saim em Sex 20 Jan 2012, 09:20

Esse .ini é administrado por um objeto só?
Se for, mostre pra gente as informações completas do objeto (coloque num spoiler se for muito grande). Se não for, peço que busque todos os eventos em que se mexe no .ini e poste aqui.

Não faz sentido uma variável ficar travada. Ela NÃO ESTÁ travada, tem alguma outra coisa acontecendo e só vamos descobrir se virmos o código.

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: Varialvel nao muda quando se inicia com ini.

Mensagem por PedroX em Sex 20 Jan 2012, 12:03

Tentou fazer o que eu disse?
global.cash=ini_read_real("progresso","cash",0)

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: Varialvel nao muda quando se inicia com ini.

Mensagem por Lucas 5293 em Sex 20 Jan 2012, 13:02

muitas vezes você até lê a .ini, mais depois o valor é mudado para o padrão.

Por exemplo:
No create ta assim:
Código:

global.cash=ini_read_real("progresso","cash",0)

Mais em outro objeto ou no mesmo, pode ser que ele atribui o valor padrão:
Código:
global.cash=0

É a mesma coisa se colocarmos uma variável no create de um objeto:
Código:
global.pontos=0
E ao longo do jogo você adiciona +1 nessa variável

Só que quando você mudar de room o valor será zero novamente, pois toda as vezes que entramos em uma room os eventos são reiniciados

FLWS

Lucas 5293

Ranking : Nota C
Número de Mensagens : 695
Idade : 18
Data de inscrição : 10/12/2010
Notas recebidas : C-D-B-B-B-C-C-C
Reputação : 18
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 1
   : 0

http://dopxgames.blogspot.com

Voltar ao Topo Ir em baixo

Re: Varialvel nao muda quando se inicia com ini.

Mensagem por Black Studio em Sex 20 Jan 2012, 16:03

Deu certo Pedro Feliz , Obrigado, mesmo, e quando comecei outro jogo, meu dinheiro estava lá!

Obrigado pessoal, pela ajuda.
Podem fechar o tópico. Very Happy

Black Studio

Ranking : Nota C
Número de Mensagens : 337
Idade : 18
Data de inscrição : 19/10/2011
Notas recebidas : C + C
Reputação : 9
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 1
   : 0

Voltar ao Topo Ir em baixo

Re: Varialvel nao muda quando se inicia com ini.

Mensagem por PedroX em Sex 20 Jan 2012, 16:32

O importante é que tenha entendido.
Você não pode ler uma string e depois somar um real.
Tem que ler real e somar real.

Tópico trancado.

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: Varialvel nao muda quando se inicia com ini.

Mensagem por Conteúdo patrocinado Hoje à(s) 04:46


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