Hola,

Mi juego consiste en conseguir puntos para desbloquear niveles que son rooms.

Mi pregunta sería la siguiente. ¿Cómo puedo bloquear un nivel a un usuario que no haya conseguido una cantidad indicada de puntos?

Un ejemplo sería. Yo quiero bloquear un room para aquella persona que no haya conseguido aun 300 puntos y además quiero que al intentar entrar en esa room le aparezca un mensaje pop-up diciendole que aun no ha conseguido los puntos necesarios para desbloquear este nivel.

¿Alguna respuesta amigos?

Un saludo.

Lo que se me ocurre es que manipulés un archivo *.ini o *.txt si te lo recomienda Texic xD donde pongas el nivel actual desbloqueado.

Es decir, si hay 5 niveles y el usuario ha pasado 3 niveles en el archivo *.ini saldría algo como:

[Config]
lvl = 4


Entonces al principio, en el objeto que crea el menú le pongás que lea la llave correspondiente del *.ini y la almacene en una variable. Luego cuando haces el menú tendrías que comparar si el menú al que le hiciste clic es mayor o igual que el de la variable almacenada, si no lo es podes hacer un pop up con un show_message.

Entiendo. Y eso lo hago mediante una variable If...?

lo único que yo voy a trabajar unicamente con puntos, sin niveles.

Para que pueda dar el condicionante tengo que poner los puntos como un objeto persistente?

Mmm...no te recomiendo entonces usar los *.ini, mejor usa partidas guardadas, más eficaz xD

Antes de largar una forma posible de hacerlo quiero saber una cosa, la estructura de tu juego, es decir si va a tener varias room, es decir una room por nivel o como. Después si vas a tener una room principal que sería el menú.

Los niveles del juego, los haría mediante rooms, por lo que, un nivel es un rooms nuevo. El menú principal sería también un room. Me gustaría saber como podría bloquear un room para aquellas personas que no tengan suficientes puntos conseguidos.

Otro ejemplo: Yo puedo pasarme el nivel 1 (Room) pero como no he conseguido suficientes puntos, en el siguiente nivel, voy a pinchar para jugar pero este me pone un mensaje pop-up advirtiéndome que debo de conseguir tantos puntos para desbloquear ese nivel.

Lo que podes hacer es que una variable global que esté dentro del menú sea, el objeto, de tipo persistente, entonces al hacer clic en cualquiera de los botones del menú te diga si podes o no dependiendo de la cantidad de puntos que tengas, es decir un IF. Después, si estás en el juego podes hacer que al hacer clic en algún lado (botón) o al tocar alguna tecla te mande al menú de vuelta, en ese momento tendrías que guardar la partida con game_save("nombrecualquiera.sav");

Esto lo harías para guardar el puntaje. Cuando abrís el juego que cargue automáticamente el archivo guardado: game_load("nombre cualquiera.sav").