problemas com highscore

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

problemas com highscore

Mensagem por v4nd3r em Ter 07 Maio 2013, 20:22

Eu tava olhando uns tutoriais por aki no GMBrasil, e vi um de como faz highscore usando arquivo .ini, criado pelo Willy, só q no caso do meu jogo, eu iria gravar no highscore , o nome do jogador e a pontuação, o nome eu consigo gravar, agora a pontuação sempre fica 0, nao sei se é por causa q eu estou usando o GMS e no tutorial ele usa o GM8, ou pq eu to fazendo o jogo em html5?
se alguem puder ajudar agradeço
ou se alguem tiver alguma outra dica para me dar, tb agradeceria =)
vou deixar os codigos q eu usei no jogo aki:
Código:

//cria o highscore.ini

TopList=10 // numero max de itens na lista

ini_open("highscore.ini") //cria abre o arquivo .ini

for (i = 1; i <= TopList; i += 1)//repete o código, o numero de lugares escolhidos
{
    Nome=string(i)//transforma o lavor de [i] em uma string(coloca entre aspas), e guarda na variável Nome
    Pontos=string(i)
    Nota=string(i)
    if !(ini_key_exists("Nomes",Nome))//se não existir o "Nome"
    {
        ini_write_string("Nomes",Nome,"")//cria o "Nome"
    }
    if !(ini_key_exists("Pontuações",Pontos))//se não existir o "Pontuação"
    {
        ini_write_real("Pontuações",Pontos,0)//cria o "Pontuação"
    }
    if !(ini_key_exists("Notas",Nota))//se não existir o "Nota"
    {
        ini_write_string("Notas",Nota,"")//cria o "Nota"
    }
}
ini_close()//fecha o arquivo .ini que esta sendo usado

Código:

//DESENHAR RECORDES

ini_open("highscore.ini")
for (idraw = 1; idraw <= TopList; idraw += 1)//repete o codigo, o numero de lugares escolhidos
{
    var Poonto;
    Poonto = ini_read_real("Pontuações",string(idraw),0);//procura no arquivo ini, qual é o recorde do lugar indicado pela variável idraw da [for]. E grava na var Pontos
    draw_text(100,idraw*16,"Pontuação: "+string(Poonto));//desenha o recorde
    var Noome;
    Noome = ini_read_string("Nomes", string(idraw), ""); 
    draw_text(250, idraw*16, "Nome: " +string(Noome));
    var Nootas;
    Nootas = ini_read_string("Notas", string(idraw), "");
    draw_text(400, idraw*16, "Notas: "+string(Nootas));
}
ini_close()

Código:

//Adiciona nova pontuação ao highscore

for (i = 1; i <= TopList; i += 1)//repete o codigo, o numero de lugares escolhidos
{
    ini_open("highscore.ini")
    Poonto = ini_read_real("Pontuação",string(i),0)//procura no arquivo ini, qual é a ponuação do lugar
    Noome = ini_read_string("Nomes", string(i), "");
    Nootas = ini_read_string("Notas", string(i), "");
   
    //indicado pela variavel i da [for]. E grava na variavel Lugar
   
    if (score > Poonto)//se score for maior que o lugar indicado pela variavel i da [for]
    {//quer dizer que score quebrou o recorde do lugar indicado pela variavel i da [for]
        ini_write_real("Pontuação",string(i),score)//grava no arquivo ini a pontuação do novo recorde
        if emenino
            ini_write_string("Nomes", string(i), "Fulano");
        else
            ini_write_string("Nomes", string(i), "Fulana");
        ini_write_string("Notas",string(i),nota1+"-"+nota2+"-"+nota3);
        ini_close()
        exit;//como a [for] vai continuar encontrando os outros lugares menores que o score, exit fecha o codigo,
        //para preservar o valor dos outros lugares
    }
}

v4nd3r

Número de Mensagens : 8
Data de inscrição : 06/11/2012
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: problemas com highscore

Mensagem por Isaque Onix em Ter 07 Maio 2013, 20:32

tenta usar o write_real, ao invéz de write_string

[edit]
cara, quando você vai armazenar um valor real (numerico) você não pode colocar em string, seria como transforma-lo em texto, quando for algo tipo pontos, ao invés de colocar '' ou "", coloca 0 (ZERO)

exemplo:
ao invés de
Código:
pontos=''
coloque
Código:
pontos=0

Isaque Onix

Número de Mensagens : 1597
Idade : 23
Data de inscrição : 15/08/2010
Reputação : 147
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://spyreserver.16mb.com

Voltar ao Topo Ir em baixo

Re: problemas com highscore

Mensagem por Rodrigo Santiago em Ter 07 Maio 2013, 20:54

tanto faz... pelo menos no string economiza caracteres

Rodrigo Santiago

Ranking : Nota B
Número de Mensagens : 1281
Idade : 20
Data de inscrição : 28/07/2012
Notas recebidas : C + C + B
Reputação : 73
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 3
   : 1
   : 3

Voltar ao Topo Ir em baixo

Re: problemas com highscore

Mensagem por Isaque Onix em Ter 07 Maio 2013, 20:56

mais pra ler com o read_real não vai dar serto NUNCA, alem de que poderia atrapalhar durante o jogo para mudar um score (por exemplo) que esteja como string, se não me engano dá erro

Isaque Onix

Número de Mensagens : 1597
Idade : 23
Data de inscrição : 15/08/2010
Reputação : 147
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://spyreserver.16mb.com

Voltar ao Topo Ir em baixo

Re: problemas com highscore

Mensagem por v4nd3r em Qua 08 Maio 2013, 08:59

Onix, me fala onde q ta errado, pq todas as vezes q eu uso o pontos(score) ta em real ( o notas é pra ser em string msm)

v4nd3r

Número de Mensagens : 8
Data de inscrição : 06/11/2012
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: problemas com highscore

Mensagem por Isaque Onix em Qua 08 Maio 2013, 13:02

cara, não posso te ajudar porque no meu pc ta dando unexpected error... quando eu tento criar um ini (independente da forma), e tambem não intendi nada nesse codigo '--

tente fazer algo como
ini_write_string('HS',posição no HS, nome)
ini_write_string('HS',posição no HS, score)

Isaque Onix

Número de Mensagens : 1597
Idade : 23
Data de inscrição : 15/08/2010
Reputação : 147
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://spyreserver.16mb.com

Voltar ao Topo Ir em baixo

Re: problemas com highscore

Mensagem por Conteúdo patrocinado Hoje à(s) 00:06


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