Cita de: ivn_eze en Marzo 30, 2014, 03:49:58 AM
y que tal si creas un archivo vacio en el block de notas, lo guardas como Settings.ini y lo pones en la carpeta de tu juego? si no configuraste nada deberia ser en:
Mis documentos\GameMaker\Projects\nombredelproyecto.gmx

luego ejecuta el juego normalmente y guarda el higscore
Pero como ago para guardar todos los datos de la tabla? Los nombres y las puntuaciones? Gracias

la idea es que pruebes crear un Settings.ini vacio en el block de notas y que luego el juego al guardar los datos lo sobreescriba.
ya que si esto funciona y guarda las puntuaciones y eso significa que el problema es que no se genera el ini desde el juego y por tanto el gm no encuentra donde guardar las puntuaciones.

#32 Marzo 30, 2014, 03:59:17 AM Ultima modificación: Marzo 30, 2014, 12:21:44 PM por Cerez0
Cita de: ivn_eze en Marzo 30, 2014, 03:56:11 AM
la idea es que pruebes crear un Settings.ini vacio en el block de notas y que luego el juego al guardar los datos
ya que si esto funciona y guarda las puntuaciones y eso significa que el problema es que no se genera el ini desde el juego y por tanto el gm no encuentra donde guardar las puntuaciones.

gracias voy a probarlo aver q tal

Cita de: Cerez0 en Marzo 30, 2014, 03:59:17 AM
Cita de: ivn_eze en Marzo 30, 2014, 03:56:11 AM
la idea es que pruebes crear un Settings.ini vacio en el block de notas y que luego el juego al guardar los datos
ya que si esto funciona y guarda las puntuaciones y eso significa que el problema es que no se genera el ini desde el juego y por tanto el gm no encuentra donde guardar las puntuaciones.

gracias voy a probarlo aver q tal

ya lo e probado y nada.. el archivo ini se mantiene en blanco.. no escribe nada gracias

Seria mas fácil si ejecutando el juego en modo debug, en GM:S te fijas en la consola al llegar al punto de guardado.

Te explico, pones que en un botón o en un checkpoint se guarde la partida, entras en el juego y llegas a ese punto o le das al botón de guardado y te fijas en la parte de abajo de GM:S, en la consola, lo que te pone al intentar guardar y lo pones aquí, para que así podamos ver que puede estar pasando.

Saludos~
"Y cuando termines de hablar... te callas."

Cita de: LowHertzs en Marzo 30, 2014, 01:51:00 PM
Seria mas fácil si ejecutando el juego en modo debug, en GM:S te fijas en la consola al llegar al punto de guardado.

Te explico, pones que en un botón o en un checkpoint se guarde la partida, entras en el juego y llegas a ese punto o le das al botón de guardado y te fijas en la parte de abajo de GM:S, en la consola, lo que te pone al intentar guardar y lo pones aquí, para que así podamos ver que puede estar pasando.

Saludos~

gracias a todos!! ya lo e solucionado por fin!! mi error era que estaba sobrescribiendo todo el rato.. cargaba y guardaba al inicio del room y no me funcionaba por eso ahora e puesto que guarde al colisionar y carge al iniciar la room puntuaciones muchas graciassss!!! :D :D

yo sigo sin poder, dices que has puesto que la colisionar podrias pasar tu codigo funcioando haber como quedaria o el proyecto, muchas gracias

#37 Abril 03, 2014, 12:51:48 AM Ultima modificación: Abril 03, 2014, 12:56:37 AM por Cerez0
Cita de: roberbtr en Abril 03, 2014, 12:44:04 AM
yo sigo sin poder, dices que has puesto que la colisionar podrias pasar tu codigo funcioando haber como quedaria o el proyecto, muchas gracias

Claro que si amigo mira yo tengo una tabla que me compara los 5 mejores puntajes.

para Guardar tengo esto:

if global.Score >= highscore_value(5){
    global.nombre = get_string("Nuevo Record!!","");
    while string_length(global.nombre) > 8
        global.nombre = get_string ("Nombre Demasiado largo",global.nombre);
    if global.nombre == ""
        global.nombre = "Player";
    highscore_add(global.nombre,global.Score);
}
global.nombre1 = highscore_name(1);
global.nombre2 = highscore_name(2);
global.nombre3 = highscore_name(3);
global.nombre4 = highscore_name(4);
global.nombre5 = highscore_name(5);
global.score1 = highscore_value(1);
global.score2 = highscore_value(2);
global.score3 = highscore_value(3);
global.score4 = highscore_value(4);
global.score5 = highscore_value(5);

ini_open(working_directory+'\Settings.ini');
ini_write_string('Score','Nombre1',global.nombre1);
ini_write_string('Score','Nombre2',global.nombre2);
ini_write_string('Score','Nombre3',global.nombre3);
ini_write_string('Score','Nombre4',global.nombre4);
ini_write_string('Score','Nombre5',global.nombre5);
ini_write_real('Score','Score1',global.score1);
ini_write_real('Score','Score2',global.score2);
ini_write_real('Score','Score3',global.score3);
ini_write_real('Score','Score4',global.score4);
ini_write_real('Score','Score5',global.score5);
ini_close();


para cargar esto:

ini_open(working_directory+'\Settings.ini');
global.name1 = ini_read_string('Score','Nombre1',"Noname");
global.name2 = ini_read_string('Score','Nombre2',"Noname");
global.name3 = ini_read_string('Score','Nombre3',"Noname");
global.name4 = ini_read_string('Score','Nombre4',"Noname");
global.name5 = ini_read_string('Score','Nombre5',"Noname");
global.score1 = ini_read_real('Score','Score1',0);
global.score2 = ini_read_real('Score','Score2',0);
global.score3 = ini_read_real('Score','Score3',0);
global.score4 = ini_read_real('Score','Score4',0);
global.score5 = ini_read_real('Score','Score5',0);
ini_close();

highscore_add(global.name1,global.score1);
highscore_add(global.name2,global.score2);
highscore_add(global.name3,global.score3);
highscore_add(global.name4,global.score4);
highscore_add(global.name5,global.score5);


y luego tienes que dibujar la tabla en una rom por ejemplo:

var space = 20;
if view_visible[0]{
    x = view_xview[0]+view_wview[0]*.5;
    y = view_yview[0]+view_hview[0]*.5 - space*2.5;
}else{
    x = room_width*.5;
    y = room_height*.5 - space*2.5;
}
draw_set_halign(fa_right);
draw_set_valign(fa_top);
draw_set_color(c_black);
draw_set_alpha(1);
draw_text(x,y,global.score1);
draw_text(x,y+space,global.score2);
draw_text(x,y+space*2,global.score3);
draw_text(x,y+space*3,global.score4);
draw_text(x,y+space*4,global.score5);
draw_set_halign(fa_left);
x += 8;
draw_text(x,y,global.nombre1);
draw_text(x,y+space,global.nombre2);
draw_text(x,y+space*2,global.nombre3);
draw_text(x,y+space*3,global.nombre4);
draw_text(x,y+space*4,global.nombre5);


guardo al colisionar con un objeto que es cuando me matan y al iniciar el room puntajes cargo :) si tienes un boton en el menu principal que sea de records tienes que cargar tmb cuando inicias la room menu principal nose si me explico..

Espero que te sirva ami me a dao mucho dolor de cabeza esto.. y me lo sigue dando porque quiero poner barias tablas de puntos uno para cada nivel y no lo consigo..  pero para una tabla con esto me funciona! :)

Saludos!

Prueba esta pagina amigo,comprobado que funciona http://gmscoreboard.com/index.php ,es lo que quieres hacer pero se guarda en una base de datos online,los jugadores tienen que estar conectados para enviar la puntuación,en la misma web tienes un como se hace todo en ingles pero no es dificil.Espero haberte ayudado y salu2 para todos ;-)
¡ Compartiendo desde Canarias !

Cita de: alcyonecodigo en Abril 03, 2014, 10:32:56 PM
Prueba esta pagina amigo,comprobado que funciona http://gmscoreboard.com/index.php ,es lo que quieres hacer pero se guarda en una base de datos online,los jugadores tienen que estar conectados para enviar la puntuación,en la misma web tienes un como se hace todo en ingles pero no es dificil.Espero haberte ayudado y salu2 para todos ;-)
sirve eso para distintos recods? o solo se pude 1 tabla por juego xq yo kiero poner una tabla de puntos por nivel

Gracias!

Esto iba de poner solo la puntuación más alta y hemos acabado hablando de una tabla completa ¿no? xD
A mi me gustaría saber poner, cuando pierdes, únicamente la puntuación más alta y que si la nueva puntuación es más alta, se actualice. (como Flappy Bird, vamos)
El ejemplo inicial parece que es eso, pero utiliza botones para guardar y cargar :S y yo quiero que todo esto sea automático, que cargue al iniciar el juego y que guarde la puntuación nada más realizarse.

Cita de: Pejota en Abril 04, 2014, 12:15:51 AM
Esto iba de poner solo la puntuación más alta y hemos acabado hablando de una tabla completa ¿no? xD
A mi me gustaría saber poner, cuando pierdes, únicamente la puntuación más alta y que si la nueva puntuación es más alta, se actualice. (como Flappy Bird, vamos)
El ejemplo inicial parece que es eso, pero utiliza botones para guardar y cargar :S y yo quiero que todo esto sea automático, que cargue al iniciar el juego y que guarde la puntuación nada más realizarse.

usa el codigo que puse arriba y en vez de poner que te compare los 5 mejores pon que te compare solo el mejor osea 1 :D

eso hace esactamente lo que tu kieres

saludos!

Tengo uno igual de 10, pero al pasarlo a 1 me dice que no puedo usar la variable add_highscore en esto. Ahora he probado con el tuyo y me pasó igual. Además de que le sobraría toda la parte de añadir, cargar y guardar nombre, ya que solo quiero la puntuación.
Total, que lo he intentado adaptar a partir de esto y nada. :(

Cita de: Pejota en Abril 04, 2014, 02:27:05 AM
Tengo uno igual de 10, pero al pasarlo a 1 me dice que no puedo usar la variable add_highscore en esto. Ahora he probado con el tuyo y me pasó igual. Además de que le sobraría toda la parte de añadir, cargar y guardar nombre, ya que solo quiero la puntuación.
Total, que lo he intentado adaptar a partir de esto y nada. :(
no quieres que cuando aiga un nuevo record pongas el nombre?

No, la verdad es que ya tengo una highscore de 10, en la que pones nombre y si es de más de 8 caracteres te dice que pongas otro,totalmente funcional y eso. Pero como es para android e intentaré que las puntuaciones se compartan por google+, quería quitarle tanto factor local y dejarlo en que solo se vaya guardando la puntuación más alta, totalmente como Flappy Bird:
-Juegas
-Pierdes y sale tu puntuación y la más alta
-Si tu puntuación fué más alta que la que había guardada, se sustituye y pone "new"