Hola amigos!!!
Por lo visto hay muchas personas que quieren hacer lo de la puntuacion mas alta en el famoso juego de Flappy birds o algo similar
aqui les traigo un ejemplo de como hacer esto
si tienen duda no duden en preguntar
saludes
He abierto el archivo y me salen todos los sprites, objetos y rooms como "indefinidos". No hay manera de abrirlos :(
En q versión de gms lo abres?? Yo use la 1.2
Cita de: ocarina en Marzo 01, 2014, 05:08:46 PM
Hola amigos!!!
Por lo visto hay muchas personas que quieren hacer lo de la puntuacion mas alta en el famoso juego de Flappy birds o algo similar
aqui les traigo un ejemplo de como hacer esto
si tienen duda no duden en preguntar
saludes
subi el archivo en rar ya que a unos no le servia!!! si no sirve me dicen
Gracias ocarina ;)
Wenas!! he seguido tus archivos y funciona a la perfección, aunque los he modificado un poco. No se que función hace tu obj_click_pantalla, pero mi pregunta no es esa.
Tengo un problema, cuando ejecuto mi juego en otro pc, en la room score, me saltan unas letras blancas gigantes, pero en mi pc no pasa, no se si sabrias decirme el porque.
Gracias de antemano!!
Cita de: buri16 en Marzo 05, 2014, 05:06:18 PM
Wenas!! he seguido tus archivos y funciona a la perfección, aunque los he modificado un poco. No se que función hace tu obj_click_pantalla, pero mi pregunta no es esa.
Tengo un problema, cuando ejecuto mi juego en otro pc, en la room score, me saltan unas letras blancas gigantes, pero en mi pc no pasa, no se si sabrias decirme el porque.
Gracias de antemano!!
¿La resolución de la pantalla es la misma en los dos ordenadores?, quizás se deba a eso.
Y el "obj_click_pantalla" hace la funcion de añadir +1 a la variable global del puntaje con: global.puntaje_jugador+=1;
Estoy dandole vueltas al ejemplo pero no lo entiendo lo siento :(
yo tengo lo siguiente por si me podeis ayudar
he creado un objeto llamado tabla_puntuaciones y la e metido en un room
en tabla_puntuaciones en el evento create e puesto este codigo:
if score > highscore_value(10)
{
var player,maxLength;
maxLength = 15;
player = get_string("Introduce Tu Nombre.","Jugardor");
if string_length(player) >= maxLength
{
player = string_delete(player,maxLength,string_length(player)-maxLength+1);
player = string_insert("---",player,maxLength);
}
player = string_replace_all(player,"#","\#");
highscore_add(player,score);
y tambien e puesto un evento draw con el siguiente codigo
draw_set_color(c_white);
draw_set_halign(fa_left);
draw_set_valign(fa_top);
draw_set_font(fnt_puntuaciones);
draw_highscore(65,65,room_width-65,room_height-65);
el codigo anterior es como tengo dibujada la tabla de puntuaciones necesito guardar esos datos al cerrar el juego y al volverlo abrir que los carge porque mientras juego funciona bien el problema es cuando salgo de juego y vuelvo a entrar.
que se supone que tengo que hacer? tengo que añadir al boton salir que cuando lo pulse guarde los datos en el archivo INI y al iniciar el juego que carge los datos del archivo INI.. pero nose como..
Gracias por vuestra paciencia
amigo exacto eso es lo que tienes que hacer!!! en el ejemplo esta como hacer que cargue el archivo y tambien esta como hacer para guardarlo!!!
saludos
Gracias ocarina por responder y tratar de ayudarme pero esque soy nuevo en game maker y en programacion y le toy dando vueltas y nada.. esque tengo 3 rooms una es el menu de inicio otra el juego y otra las puntuaciones y como tu ejemplo es de una sola room nose que tengo que poner en cada una de mis rooms.. hay alguna manera d abrir 2 proyectos a la vez para comparar bien el ejemplo con mi proyecto? Gracias
Citarhay alguna manera d abrir 2 proyectos a la vez para comparar bien el ejemplo con mi proyecto? Gracias
abre game maker dos veces y divide sus ventanas a la mitad -.-
Aver señores ya se que soy mu cansino con el tema.. cuando creo el archivo ini_open ("datos.ini")x ejemplo donde se crea? En la carpeta del proyecto o donde? Porq yo no la encuentro por ningun lao.. llevo dias con esto y nada q no lo entiendo :(
Hola de nuevo sigo con el mismo problema no soy capaz de que guarde las puntuaciones en android.. xf ayudarme aunque sea solo guardar 1 nombre y una puntuacion en el ini para saber como funciona... :'(
amigo se crea en la carpeta donde se ejecuta el juego!!! y para encontrar en donde se ubica lo que puedes hacer es una busqueda en tu pc y pones datos.ini y por lo general se encuentra en appdata/local/nombredetujuego/
gracias ocarina por responder pero nada.. tu ejemplo funciona perfectamente pero yo no consigo hacer funcionar mi proyecto lo he intentado todo ya nose que hacer.. yo no encuentro el archivo ni siquiera me lo crea :-X
Cita de: Cerez0 en Marzo 29, 2014, 06:00:05 PM
gracias ocarina por responder pero nada.. tu ejemplo funciona perfectamente pero yo no consigo hacer funcionar mi proyecto lo he intentado todo ya nose que hacer.. :-X
Pero que fallos tienes? al compilarse para Android, automáticamente se guarda en otra ruta, es decir la ruta donde se guarda es lo de menos.
no tengo fallos de nada se copila todo bien pero no guarda nada.. estoy echo un lio e comparado con la documentacion de yoyogames y sigo sin enterarme.. tambien e mirado otros ejemplos que hay por el foro de yoyogames pero no me funcionan tampoco.. no consigo guardar las puntuaciones..
ocarina aver si me puedes orientar un poco he creado un objeto llamado tabla_puntuaciones
en el create he puesto esto
if global.score>=highscore_value(5){
global.nameplayer=get_string("Nuevo Record, Introduce tu nombre","")
while (string_length(global.nombre)>8)
{
global.nombre=get_string("Nombre Muy Largo","")
}
while (string_length(global.nameplayer) = 0)
{
global.nombre="Player"
}
highscore_add(global.nameplayer,global.score);
}
global.name1=highscore_name(1)
global.name2=highscore_name(2)
global.name3=highscore_name(3)
global.name4=highscore_name(4)
global.name5=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('Settings.ini')
ini_write_string('Score','Name1',global.
name1)
ini_write_string('Score','Name2',global.
name2)
ini_write_string('Score','Name3',global.
name3)
ini_write_string('Score','Name4',global.
name4)
ini_write_string('Score','Name5',global.
name5)
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()
eso se supone que guarda el score de las 5 mejores en un archivo ini llamado settings.ini
despues en en tabla_puntuaciones e creado otro evento room start con este codigo
ini_open('Settings.ini')
global.name1=ini_read_string('Score','Name1'
,"Noname")
global.name2=ini_read_string('Score','Name2'
,"Noname")
global.name3=ini_read_string('Score','Name3'
,"Noname")
global.name4=ini_read_string('Score','Name4'
,"Noname")
global.name5=ini_read_string('Score','Name5'
,"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)
se supone que esto me carga el archivo settings.ini y me pone los 5 mejores scores guardados en el ini anterior.. y si no hay 5 puntuaciones las pone a 0 con el nombre noName.
despues creo un evento draw en tabla_puntuaciones
dibujo la variables name1,name2,name3,name4,name5 y tmb las variables score1,score2,score3,score4
que ago mal? funciona pero.. no se guarda.. o alomejor si se guarda pero no se carga.. aver si me podeis ayudar graciasss que el tema este me lleva loco llevo ya 1 semana..
amigo creo que lo que esta pasando es que utilizas comillas simples en lugar de dobles
ini_write_string('Score','Name1',global.
name1) >>>>lo que tu haces
ini_write_string("Score","Name1",global.
name1)>>>>como deve de ser
osea cambia las ' por " y creo que se te soluciona el problema
saludos
Gracias Ocarina por tu tiempo pero e cambiado las comillas tal y como me dijiste en todos los codigos e quitado las comillas simples y e puesto comillas dobles pero sigue sin funcionar..
muchas gracias saludos
ini_open('Settings.ini')
cambiaste tambien estas comillas???
es
ini_open("Settings.ini");
es asi!!!
si amigo cambie todas las comillas simples por las dobles comillas
el codigo esta bien? deberia de funcionar?
gracias y disculpa un saludo
pasame tu juego!!!! y te ayudo
Cita de: Cerez0 en Marzo 29, 2014, 06:00:05 PM
gracias ocarina por responder pero nada.. tu ejemplo funciona perfectamente pero yo no consigo hacer funcionar mi proyecto lo he intentado todo ya nose que hacer.. yo no encuentro el archivo ni siquiera me lo crea :-X
Que raro, yo si pude abrirlo, y esta mas que bien explicado el ejemplo. Quizás si yo lo exporto te funciona
matias si el ejemplo me funciona bien pero lo que pasa es que no me aclaro.. en el ejemplo lo veo claro pero luego intento hacerlo y nose.. :-X
Citarmatias si el ejemplo me funciona bien pero lo que pasa es que no me aclaro.. en el ejemplo lo veo claro pero luego intento hacerlo y nose.
que version de gm tenes? 8 o studio?
Cita de: ivn_eze en Marzo 30, 2014, 03:09:28 AM
Citarmatias si el ejemplo me funciona bien pero lo que pasa es que no me aclaro.. en el ejemplo lo veo claro pero luego intento hacerlo y nose.
que version de gm tenes? 8 o studio?
game maker studio
pues entonces no se ???
Cita de: ivn_eze en Marzo 30, 2014, 03:28:46 AM
pues entonces no se ???
supongo que sera lo mismo en GM8 que GMS necesito guardar la tabla de highscores en un archivo ini y cargarla al iniciar el juego.. saludos y gracias
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
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.
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~
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
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 (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 ;-)
Cita de: alcyonecodigo en Abril 03, 2014, 10:32:56 PM
Prueba esta pagina amigo,comprobado que funciona http://gmscoreboard.com/index.php (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"
E estado leyendo y releyendo el tema y nada no comprendo como lo hicieron, nada de lo que han echo ustedes me funciona, necesito ayuda porfavor ..
Cita de: THEKAOOS en Abril 08, 2014, 10:23:46 PM
E estado leyendo y releyendo el tema y nada no comprendo como lo hicieron, nada de lo que han echo ustedes me funciona, necesito ayuda porfavor ..
Hola amigo yo estaba igual que tu desesperao por no saber como hacerlo despues de darle 1000 vueltas..
Si as visto mi codigo de los 5 mejores puntajes es eso lo que tienes que poner.. esta claro q tienes que adaptarlo a tus necesidades.. muestra que es lo que tienes y que es lo que quieres aver si t puedo ayudar..
Un saludo
Hola, gracias por contestar, yo tengo un objeto al que llamo points que cada vez que el personaje lo toca le suma 1 a la score, muy parecido al estilo de flappy bird, mi intencion era crear un sistema de best score parecido al de dicho juego pero no consigo aberiguar como ... e visto tu codigo pero no logro comprenderlo... espero qe me puedas ayudar :)
Cita de: THEKAOOS en Abril 09, 2014, 12:52:53 PM
Hola, gracias por contestar, yo tengo un objeto al que llamo points que cada vez que el personaje lo toca le suma 1 a la score, muy parecido al estilo de flappy bird, mi intencion era crear un sistema de best score parecido al de dicho juego pero no consigo aberiguar como ... e visto tu codigo pero no logro comprenderlo... espero qe me puedas ayudar :)
Hola si la variable q guarda los puntos es score tienes q cambiarla x global.score y en mi codigo poner todas las variables global.Score en minusculas asi global.score.
Supongo q tu personaje muere al colisionar cn algo.. pos en el evento colision pone el codigo de guardar osea el 1° codigo y luego creas un objeto q se llame cargar y en el evento create pones el codigo de cargar ese objeto deve de ir en el menu principal del juego para q cuando inicies el juego t carge el archivo .ini.
Despues tienes q crear una room q se llame score o como kieras que sera donde marque los mejores puntos. Creas un objeto q se llame tabla_score y en el evento draw pones el ultimo codigo q es para dibujar los scores en pantalla.
Nose si m entenderas.. espero q si..
Un saludo
Creo qe e echo todo lo que me as dicho bien pero me da un error:
Variable get -5.score(103,-1) at gml_object_obj_fish_collision_5 -if global.score>= highscore_value(1)
Cita de: THEKAOOS en Abril 09, 2014, 02:20:29 PM
Creo qe e echo todo lo que me as dicho bien pero me da un error:
Variable get -5.score(103,-1) at gml_object_obj_fish_collision_5 -if global.score>= highscore_value(1)
Creo q no as puesto el global en el primer score del error falta q pongas global.score en esa variable
pon el código así veremos dónde está el error y te ayudaremos mejor :)
Mirar, este es el codigo que Cerezo, e cambiado como el me dijo el global.score a minusculas:
//kill the bird!
dead = 1;
//save points!
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();
Luego tengo este objeto que al colisionar me suma mas 1 a la score:
if(dead == 0)//if the bird is still alive
{
//destroy the point
with(other)
{
instance_destroy();
}
//increase the score
score += 1;
}
a ver si sabeis que hago mal :(
y muchas gracias a ambos por la ayuda :)
Cita de: THEKAOOS en Abril 09, 2014, 07:45:00 PM
Mirar, este es el codigo que Cerezo, e cambiado como el me dijo el global.score a minusculas:
//kill the bird!
dead = 1;
//save points!
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();
Luego tengo este objeto que al colisionar me suma mas 1 a la score:
if(dead == 0)//if the bird is still alive
{
//destroy the point
with(other)
{
instance_destroy();
}
//increase the score
score += 1;
}
a ver si sabeis que hago mal :(
y muchas gracias a ambos por la ayuda :)
Creo q tu fallo esta dnd sumas 1
Tienes esto
//increase the score
score += 1;
Y deveria ser esto
//increase the score
global.score += 1;
Falta el global.. en la variable score..
Esto -> ini_write_string('Score','Nombre1',global.nombre1); tmbien tienes q poner score en minusculas.
Asi -> ini_write_string('score','Nombre1',global.nombre1);
Un saludo.
Por qué usáis global.score en vez de, símplemente score, no es más fácil para tenerlo todo bien ordenadito? Imagino que es cuestión de gustos
Cita de: _-Caleb-_ en Abril 09, 2014, 08:55:50 PM
Por qué usáis global.score en vez de, símplemente score, no es más fácil para tenerlo todo bien ordenadito? Imagino que es cuestión de gustos
Yo segun tengo entendio global es para q sea global y puedas utilizarla cuando quieras.
Pero no tengo ni idea, yo personalmente lo hago asi y me funciona.
Acabo de realizar los cambios pero me sigue saliendo el error ese:
___________________________________________
############################################################################################
FATAL ERROR in
action number 1
of Step Eventobj_point
for object obj_fish:
Push :: Execution Error - Variable Get -5.score(103, -1)
at gml_Object_obj_fish_Collision_7 (line 9) - global.score += 1;
############################################################################################
no se que demonios va mal ...
Cita de: THEKAOOS en Abril 09, 2014, 09:06:33 PM
Acabo de realizar los cambios pero me sigue saliendo el error ese:
___________________________________________
############################################################################################
FATAL ERROR in
action number 1
of Step Eventobj_point
for object obj_fish:
Push :: Execution Error - Variable Get -5.score(103, -1)
at gml_Object_obj_fish_Collision_7 (line 9) - global.score += 1;
############################################################################################
no se que demonios va mal ...
Yo sigo encabezonao q hay alguna variable score por tu juego q no as añadido el global
E rebisado ya todo y en todo pone global.score ... Cerez0 ai algun modo de que te pueda pasar mi juego y mires si ves el fallo porque ya no se que hacer ... :'(
Cita de: THEKAOOS en Abril 09, 2014, 10:19:23 PM
E rebisado ya todo y en todo pone global.score ... Cerez0 ai algun modo de que te pueda pasar mi juego y mires si ves el fallo porque ya no se que hacer ... :'(
Si podemos usar teamviewer para controlar tu pc desd el mio y asi ves como lo ago
El problema q no voy a casa hasta el sabado..
Tmb puedes enviarmelo al correo jmcerezo666@gmail.com
Y mañana lo miro en el trabajo y t lo vuelvo a enviar.
Veo que está en un evento Step... puedes probar a ponerlo en el create ya que el step se ejecuta siempre. O crear un objeto para cuando maten al player y que se cree (Por ejemplo el que tengas de aviso de "game over" o similar)
Otra cosa:
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);
}
Este código está bien? Yo sólo veo un }mira en el editor si no te informa de ningún fallo...
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);
}
}
Prueba a crear las variables globales en el create del objeto o algo así.
con
globalvar nombre;
y luego úsalas sin poner el global. ya que no es necesario :)
ya lei, los comentarios y no logro poder guardar mi score en un archivo ini esto es lo que tengo
ini_open("score.ini");
ini_write_real("current","Score",score);
ini_close();
en un tutorial lei que con solo eso ya se podia guardar pero al revisar si se guardo no tengo nada
en donde lo revisas???
osea te vas al archivo y lo revisas??
o como estas seguro de que no esta??
a como lo tienes esta bien osea tiene que guardarte el score!!!
Lo reviso en la carpeta donde se guarda el projecto y no me sale ningun archivo guardado,
Quiero que se guarde al colisionar con otro objeto porqe es cuando se acaba el juego por lo tanto puse el codigo en event->colision->y en action puse el codigo, nose si ahi sea mi error
anexare una imagen para que me entiendan mejor.
ok, una ventana que se llama compileform y ahi dice qe se estea guardando "output file" y despues sale una direccion "C:\Documents and Settings\Usuario\Configuracin local\Datos de programa\Evade_the_bomb\score.txt" el problema es que yo no tengo esa direccion en mi computadora.
busca en esta direccion
C:\Users\nombre de tu pc\AppData\Local\nombre de tu juego
en esa direccion es la que esta el archivo ini
alguien por favor que haga un video tutorial donde se explique bien esto, porque hay muchas personas que no lo hemos podido hacer todabia. por favor
amigo aqui esta el video!!! ;D
https://www.youtube.com/watch?v=xifTw2fXeJk&feature=youtu.be (https://www.youtube.com/watch?v=xifTw2fXeJk&feature=youtu.be)
y adjunto el proyecto
hey gracias ocarina en este mundo necesitamos mas personas como tu
Gracias cesar120!
Te sirvió el video?
no lamentablemente cuando puse todo los codigos y lo ejecuto se desaparecen mis personajes. no se que hacer :'(
Amigo enviame el proyecto
hey ocarina ya te envié el proyecto, espero tu respuesta gracias