Hola gente, tengo un juego con un sistema de desbloqueo de nivel.
Cuando el personaje coliciona con la meta se ejecuta este código:
if(room = level_3){ini_open("save.ini"); ini_write_real("niveles","nivel4",1); ini_close();}
Y el el botón que llava al nivel antes bloqueado tengo el siguiente código:
ini_open("save.ini");
n = ini_read_real("niveles","nivel2",0);
ini_close();
if(n = 0)
{
bloqueado = 1;
sprite_index = Bloqueado;
}
else
{
bloqueado = 0;
sprite_index = spr_2;
}
El problema es que a partir del nivel 6 quiero añadir un requisito más para que se cumpla el desbloqueo del nivel:
Quiero que si global.coin=0 es mayor o igual a tres recién se aplique el código que les deje ahí arriba al principio.
O sea resumiendolo si global.coin=0 es mayor o igual a tres se haga esto:
if(room = level_3){ini_open("save.ini"); ini_write_real("niveles","nivel4",1); ini_close();}
Caso contrario que no se haga nada.
¿Como podría implementar ese condicional?
:o Por los dioses del GML, por favor explícame qué significa la expresión
"si global.coin=0 es mayor o igual a tres"
Pusiste eso dos veces, así que todavía tengo más dudas de qué significa esa condición. Y también lo siguiente. Mencionas que a partir del nivel 6 (es decir, 6, 7, 8,...) quieres agregar otra condición, pero por qué luego tienes if (room = level_3)? Eso sólo se cumpliría cuando el nivel es 3, no 6, 7, 8, etc.
creo que se refiere a que si global.coin = 0 es mayor o igual al nivel 3 aunque tampoco entiendo bien eso creo que quiere que cuando tenga monedas en el nivel 3 este se desbloquee si no tiene monedas y las demas condiciones este siga bloqueado creo que es lo que intenta explicar que si tiene monedas que en este caso seria global.coin = xmonedas y este en el nivel 3 este nivel se desbloquee
mmm ya voy entendiendo, creo que quiere saber si en el nivel 3 no hay monedas... o eso me figuro.
Yo creo que más bien le sobró el "=0" y quiso decir:
CitarO sea resumiendolo si global.coin es mayor o igual a tres se haga esto: (...)
matiascarpello tendrá que volver a aclararlo.
Vale yo no entiendo mucho pero te voy a explicar como lo haria yo:
if room = level_3
{
global.nivel4 = 1;
ini_open("save.ini")
ini_write_real("niveles","nivel4",global.nivel4)
ini_close();
}
en el siguiente objeto:
evento step:
if global.nivel4 = 1
{
bloqueado = 1;
sprite_index = Bloqueado;
}
else
{
bloqueado = 0;
sprite_index = spr_2;
}
Crea una room y la pones la primera y añade un objeto que al iniciar el juego cargue todas las variables y te mande a la room principal, yo creo en el bloque de la izquierda creo un script y añado las variables entonces en el objeto pongo lo siguiente:
Script_Globals(); esto es el nombre del script
room_goto(rm_mainmenu);
en Script_Globals deberias añadir algo asi como esto para que cuando empieze el juego se carguen las variables:
ini_open("save.ini");
ini_read_real("niveles","nivel1",0);
ini_read_real("niveles","nivel2",0);
ini_read_real("niveles","nivel3",0);
ini_close();
ahora vayamos a lo de desbloquear el nivel 6 si global.nivel 6 es igual 1 y global.coin es mayor o igual a 3
if global.nivel6 = 1 and global.coin >= 3
{
bloqueado = 1;
sprite_index = Bloqueado;
}
else
{
bloqueado = 0;
sprite_index = spr_6;
}
Creo que asi esta bien explicado soy novato asi que no se explicarme muy bien. Si alguien entiende mas que yo es libre de criticar xDDDD