Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: Mataca en Octubre 29, 2014, 06:57:31 PM

Título: bloquear niveles
Publicado por: Mataca en Octubre 29, 2014, 06:57:31 PM
Hola. Alguien tendria algun ejemplo de bloqueo de nieveles o sabe hacerlo? Lei todos los post que hablan de estos y en ninguno dice nada concreto, lo plantean en un nivel mas avanzado que el mio, soy nuevo en esto.
Quiero que se desbloquee el nivel 2 al pasar el nivel 1, en la pantalla de seleccion de nieveles. Y que si no pasas el nivel anterior, no te deje jugar al otro.
Título: Re:bloquear niveles
Publicado por: eams1986 en Octubre 29, 2014, 07:43:36 PM
Amigo en los demos de game maker viene uno .buscalo

Es como uno de pin pon .
Título: Re:bloquear niveles
Publicado por: pacne en Octubre 29, 2014, 07:53:52 PM
Voy hacer un tutorial rapidito para que lo entiendas.
Título: Re:bloquear niveles
Publicado por: Mataca en Octubre 29, 2014, 08:07:55 PM
Lo que trate de hacer es que en el room de seleccionar nivel, lea un archivo externo (sea .txt o .ini) y si ve por ejemplo que Nivel2=1(desbloqueado) cree el objeto obj_room2 en una coordenada especifica. Pero no se como hago para al pasar un nivel me abra el archivo externo y lo modifique, asi cuando el nivel 2 se complete haga una accion de abrir el .txt, poner Nivel3=1 y asi sucesivamente.
No pude u.U
Título: Re:bloquear niveles
Publicado por: pacne en Octubre 29, 2014, 08:16:29 PM
Aqui tienes el tutorial, si hay alguna duda me dices.
Dime si te funciona bien
Título: Re:bloquear niveles
Publicado por: Mataca en Octubre 29, 2014, 09:54:56 PM
No puedo abrirlo. Me pide para importar files
Título: Re:bloquear niveles
Publicado por: kostra en Octubre 29, 2014, 11:45:58 PM
pues aquí tienes un ejemplo ranzio xd

un gmk se puede pasar facilmente al estudio, no usa cosas raras, supongo que irá bien
(adjunto)
Título: Re:bloquear niveles
Publicado por: TheSandBoxMKG en Octubre 30, 2014, 12:01:39 AM
En un sript llamado niv_cargar pon esto:
var nivelfile,nivelres;
if !file_exists("niveles.dat") then
{
    nivelfile=file_text_open_write("niveles.dat")
    file_text_write_real(nivelfile,0)
    file_text_close(nivelfile)
}
nivelfile=file_text_open_read("niveles.dat")
nivelres=file_text_read_real(nivelfile)
file_text_close(nivelfile)
return nivelres


y en un script llamado niv_guardar pon esto:
var nivelfile;
nivelfile=file_text_open_write("niveles.dat")
file_text_write_real(nivelfile,argument0)
file_text_close(nivelfile)


Como se usa:

para cargar:
global.nivel=niv_cargar()

para guardar:
niv_guardar(global.nivel)
Título: Re:bloquear niveles
Publicado por: pacne en Octubre 30, 2014, 09:28:05 PM
aqui tienes comprimido
Título: Re:bloquear niveles
Publicado por: Mataca en Noviembre 03, 2014, 03:41:13 AM
Sigo sin poder... trate con todos esos ejemplos... pero no se adaptan a mi juego
Lo que quiero es que cuando  hayan 5 objetos X en el room, desbloquee otro room. O sea en la pantalla de seleccion de niveles aparezca un nuevo room para elegir.
Título: Re:bloquear niveles
Publicado por: The_Aesir en Noviembre 03, 2014, 04:42:45 AM
Así pensándolo super simple se me ocurre que definas una variable global:global.nivel_activo[i]

Donde i vaya desde 1 hasta el último de los niveles y la inicializas en 0 para cada nivel, así cada vez que se vayan cumpliendo condiciones determinadas por tí cambias la variable global del nivel correspondiente a 1. De esa manera los niveles inactivos los representas con 0 y los activos con 1 y haces que en la pantalla de selección de niveles sólo se muestren los con 1.

Saludos!
Título: Re:bloquear niveles
Publicado por: kostra en Noviembre 03, 2014, 05:29:38 AM
if instance_number(objeto) >= 5 global.niveltal = true;
Título: Re:bloquear niveles
Publicado por: Mataca en Noviembre 03, 2014, 02:53:56 PM
Cree un ojbeto con el codigo:
Citarglobal.nivel01 = 0
global.nivel02 = 1
global.nivel03 = 1

Luego cree otro que va en la pantalla de seleccionar nivel con:
Citarif global.nivel02 = 0 instance_create (288,416,obj_level02)

Consulta1
Y cuando termina el room 1, hace un global.nivel02 = 0.
El problema es que si abro el select level y el global.nivel02 esta en 1 (bloqueado) me salta un error. Si esta desbloqueado puedo entrar y seleccionarlo, pero sino se me cierra el juego.

Consulta2
Como seria si quiero usar el mismo codigo de desbloquear para todos los niveles? Asi no tengo que crear un global.nivelX = 0 por cada nivel. (quiero algo asi como un global.nivelX(+1) = 0)

Título: Re:bloquear niveles
Publicado por: The_Aesir en Noviembre 03, 2014, 05:45:56 PM
Cita de: Mataca en Noviembre 03, 2014, 02:53:56 PM
Cree un ojbeto con el codigo:
Citarglobal.nivel01 = 0
global.nivel02 = 1
global.nivel03 = 1

Luego cree otro que va en la pantalla de seleccionar nivel con:
Citarif global.nivel02 = 0 instance_create (288,416,obj_level02)

Consulta1
Y cuando termina el room 1, hace un global.nivel02 = 0.
El problema es que si abro el select level y el global.nivel02 esta en 1 (bloqueado) me salta un error. Si esta desbloqueado puedo entrar y seleccionarlo, pero sino se me cierra el juego.

Que error te salta?

CitarConsulta2
Como seria si quiero usar el mismo codigo de desbloquear para todos los niveles? Asi no tengo que crear un global.nivelX = 0 por cada nivel. (quiero algo asi como un global.nivelX(+1) = 0)

Pero usa arrays como te dije yo, con ellos es posible hacer no solo eso sino que mucho mas...
Título: Re:bloquear niveles
Publicado por: Mataca en Noviembre 03, 2014, 06:09:12 PM
Este error me salta cuando quiero entrar de una a select level: (http://puu.sh/cBNkT/937d04f2d3.png)
Si voy a start game y paso el nivel 1 ya me anda bien.

Como seria detallado lo que vos me decis de hacer arrays? Porque me lo decis como si supiera algo de esto... soy nuevo jaja.
Título: Re:bloquear niveles
Publicado por: The_Aesir en Noviembre 04, 2014, 01:25:48 AM
Cita de: Mataca en Noviembre 03, 2014, 06:09:12 PM
Este error me salta cuando quiero entrar de una a select level: (http://puu.sh/cBNkT/937d04f2d3.png)
Si voy a start game y paso el nivel 1 ya me anda bien.

Como seria detallado lo que vos me decis de hacer arrays? Porque me lo decis como si supiera algo de esto... soy nuevo jaja.

Aqui explican bien lo de los arrays:

http://docs.yoyogames.com/source/dadiospice/002_reference/001_gml%20language%20overview/401_06_arrays.html

Saludos!