Noviembre 13, 2012, 12:28:00 AM Ultima modificación: Noviembre 13, 2012, 10:40:12 AM por harloneti
 Aupa:
Pues tengo el chapu juego casi terminado jeje Pero quiero que el highscores no sea el que viene definido que me parece muy feo y cutre XD Me gustaria que fuera normal y corriente nada del otro mundo, que aparezca en el propio juego no en un popup fondo negro y letras blancas... Se que se puede hacer porque lo he visto en algun jeugo pero mirando el manual gml no lo pillo como hacerlo..

Edit: He buscado en el foro y encontre alguna cosilla de higshscores, pero sigo sin entenderlo bien el funcionamiento... Me gustaria si pudierais ecplicarme un poco los codigos que habria que usar....

Por lo que lei en el manual deberia ser algo como con estos codigos no? pero no entiendo bien su funcionamiento.
highscore_value(place)

highscore_name(place)

draw_highscore(x1,y1,x2,y2



Ya lo cambie... si alguein me puede ayudar...

Nunca lo hice, pero en el manual lo explica bien si ya estas acostumbrado a usar funciones:
Citarhighscore_show(numb) Muestra la tabla de highscores. NUMB es un nuevo puntaje. Si el puntaje es suficientemente bueno para ser agregado a la lista, el jugador puede introducir un nombre. Usa -1 para únicamente mostrar la lista actual.
highscore_set_background(back) Establece la imagen de fondo. BACK debe ser el índice de uno de los recursos de fondo.
highscore_set_border(show) Establece si la forma de highscore debe mostrar un borde o no.
highscore_set_font(name,size,style) Establece la fuente usada para el texto en la tabla. (Esta es una fuente normal de Windows, no una de los recursos de fuente). Debes especificar un nombre y un estilo  (0=normal, 1=negrita, 2=cursiva, 3=negrita y cursiva).
highscore_set_colors(back,new,other)Establece los colores usados para el fondo, el de una nueva entrada en la tabla, y el de las demás entradas. entradas.
highscore_set_strings(caption,nobody,escape) Cambia los diferentes strings predeterminados usados al mostrar la tabla de highscores. CAPTION es el título de la forma. NOBODY es el string usado cuando no hay nadie en un lugar en particular. ESCAPE es el string en el inferior indicando que se debe presionar la tecla ESC. Puedes usar esto en particular cuando tu juego usa un idioma diferente.
highscore_show_ext(numb,back,border,col1,col2,name,size) Muestra la tabla de hightscores con diferentes opciones (también puede lograrse usando las funciones anteriores). NUMB es el nuevo puntaje. Si el puntaje es suficientemente bueno para ser agregado a la lista, el jugador puede introducir un nombre. Usa -1 para mostrar simplemente la lista actual. BACK es la imagen de fondo a usar, BORDER indica si se debe mostrar o no el borde. COL1 es el color para la nueva entrada, COL2 para las demás entradas. NAME es el nombre de la fuente a usar, y SIZE es el tamaño de la fuente.
highscore_clear() Limpia la tabla de puntajes.
highscore_add(str,numb) Agrega al jugador con el nombre STR y puntaje NUMB a la lista.
highscore_add_current() Agrega el puntaje actual a la lista de hightsocres. También se le pide al jugador que proporcione un nombre.
highscore_value(place) Devuelve el puntaje de la persona en el lugar PLACE(1-10). Esto puede ser usado para dibujar tu propia lista de puntajes.
highscore_name(place) Devuelve el nombre de la persona con el lugar PLACE(1-10).
draw_highscore(x1,y1,x2,y2) Dibuja la tabla de puntajes en la room, con la caja dada (x1,y1,x2,y2), usando la fuente actual.

O sea, suponiendo que escribis en GML vas a tener algo así como esto:
puntaje1 = highscore_name(1)+" = "string(highscore_value(1))
puntaje2 = highscore_name(2)+" = "string(highscore_value(2))
puntaje3 = highscore_name(3)+" = "string(highscore_value(3))
puntaje4 = highscore_name(4)+" = "string(highscore_value(4))
//...

Luego solamente los mostras en pantalla

draw_text(10,10,puntaje1)
draw_text(10,20,puntaje2)
draw_text(10,30,puntaje3)
draw_text(10,40,puntaje4)
/...


Me parece que funcionaría así, obviamente podés simplificar todo con unos bucles (for) y arrays, pero no sé si los sabés usar
El Manual

- Ley de la gravitación selectiva: toda herramienta se caerá donde produzca el mayor daño.
- Si todo parece estar bien, es obvio que uno no encontró el problema
- Todo aquello que se corte a medida resultara ser demasiado corto.
- Todo archivo borrado era necesario, todo archivo conservado es inutil
- Cuando a usted se le ocurra la solución ideal, alguien habrá resuelto ya el problema.

                                                               Murphy


Bueno esos códigos de highscore son demasiado básicos si querés extender un poco las probabilidades, te conviene hacer los highscores en un array y al finalizar el juego guardarlos en un txt. Para dibujar el highscore luego sólo tendrías que recorrer el array con un for.
Te dejo un ejemplo




#5 Noviembre 14, 2012, 01:36:48 AM Ultima modificación: Noviembre 14, 2012, 09:53:12 PM por harloneti
Gracias a los dos. Nunca use arrays asi que me a sonado a chino el ejemplo... Me mirare el manual todo el tema de arrays para saber como funcionan y que son...
Gracias

P.D: Al final lo solucione poniendo solo la mejor puntuacion en el juego al estilo pacman que mientras jugabas te ponia la mejor puntuacion. :) Chorri juego terminado jeje ya etsa en la zona de descargas por si lo quereis probar.