hola camaradas,les comento mi asunto,en mi juego hasta ahora una vez que el jugador moria en el nivel el juego,uno se traslada directamente a la pantalla donde esta el score obtenido en el nivel y el score mas alto obtenido en el juego,pero quiero cambiar la metodologia esa,quiero crear varios niveles y por tiempo,o sea cuando termine el tiempo en el nivel 1 y el jugador siga en pie pasa al nivel 2 pero el score no se vuelve a 0 sino que es continuo y recien al morir va a la pantalla de score y highscore,como podria hacer eso? pidan codigos especificos y los posteo,desde ya muchas gracias


Cita de: Mataca en Diciembre 25, 2014, 05:04:47 PM
Tienes que tildar "Relative" en score.

no es tan simple,tengo un objeto controller que marqué en persistente pero sigo con el mismo problema,paso de nivel y el score vuelve a cero,este es el codigo del objeto al que me refiero:

EVENTO CREATE//

global.score=0;

if file_exists("comandos.ini")
{
ini_open("comandos.ini");
global.points=ini_read_real("points","score",0);
global.highscore=ini_read_real("points","highscore",0);
ini_close();
}
else{
global.points=0
global.highscore=0
}

EVENTO GAME START//

score=0;

EVENTO GAME END//

ini_open("comandos.ini")
ini_write_real("points","highscore",global.highscore)
ini_close();

ese es el problema, cada ves que inicias el room, se crea el objeto de nuevo, reiniciando el score, trata de ponerlo en otro lado, por ejemplo, cuando inicia el juego
entra a!:

No se vuelve a crear porque es persistente.

En primer lugar no se debe poner "global.score", sino simplemente "score". El problema de que la variable score se reinicia tal vez sea que nunca cambia, ya que en tu código, en dos eventos se hace cero, pero al leer en el archivo ini usas la variable global.points, no se si esa variable es equivalente a score, si es así yo la descartaría y usaría simplemente score. También usaría sólo uno de los eventos, ya sea Create o Game Start.
[gml]
if file_exists("comandos.ini")
{
    ini_open("comandos.ini");
    score = ini_read_real( "points", "score", 0 );
    global.highscore = ini_read_real( "points", "highscore", 0 );
    ini_close();
}
else
{
    score = 0
    global.highscore = 0
}
[/gml]

amigos pude solucionarlo creando un obj score y marcando la casilla persistente,muchas gracias

Yo lo que hago es que en la primera room hago como un obj_setup y pongo todas las variables globales, hasta ahora me sirve