Hola a todos y gracias de antemano. Mi problema es que sé como hacer un checkpoint (con un salto a las coordenadas donde está el punto de salvar) pero cuando salta hacia ese punto, todos los objetos recogidos y bichos que han sido matados, no están. La verdad es que no sé de variables, programación ni nada por el estilo; así que sé que lo tengo difícil. Tal y como lo tengo ahora, es que cuando el jugador colisiona con el checkpoint, cambia la imagen por checkpoint-activado, y cuando un bicho lo mata, pues si la imagen del check-activado no está se resetea la room, y si está hace un salto a donde esté la imagen del check-activado. Entonces el problema está en que si te matan casi al final, y el check está a la mitad, repites la fase pelada: sin malos ni puntos que coger ni nada...
Espero haberme explicado bien, porque dicho así, es un rollo :) Gracias de nuevo ^_^
Con saves creo que funcionaria, si no sabes que es pregunta aqui
Hola y gracias por la pronta respuesta :) Pues si te refieres a la opcion de salvar y gargar (el disquetito y la carpeta) ya lo probé, pero el caso es que la puntuación y las vidas vuelven a estar como antes de salvar, es decir, que se pierde el proceso realizado y vuelve a tener las mismas vidas que al perder. Si no te refieres a esto... explicaque, por favor (=
Bien, tenes razon :D
Osea que vos quieres que al perder vuelvas al checkpoint, conserves las vidas y los puntos pero quieres que los mountruos que mataste vuelvan a aparecer
Lo unico que se me ocurre es que uses archivos .ini (no se si sabes usarlo en Game Maker), por las dudas te digo como seria: Al perder una vida guerdas en un archivo ini las vidas que tienes y los puntos, vuelves al checkpoint con un save (el disquette y la carpeta), y luego cargas desde el archivo ini las vidas y puntos que tenias
Sería asi:
Primero creas un archivo ini, para ello abres el bloc de notas, escribes:
[Save]
Vidas=3
Puntos=100
(Importa en realidad los numeros)
Luego vas a Archivos, Guardar Como, en tipo pones "Todos los archivos (*.*), y en nombre escribes "guardado.ini"
Despues en el juego haces que cuando llegas al checkpoint se guarde con el diskette, y agregas el cuadrado de "execute a piece of code". Se va a abrir una ventana, alli escribes:
ini_open("guardado.ini")
ini_write_real("Save","Vidas",global.vidas) //en global.vidas va la variable de vidas
ini_write_real("Save","Puntos",global.puntos) //aca tambien en vez de global.puntos va la variable de puntos
ini_close()
Haces click en el tick verde para cerrar y listo
Luego en la parte en donde te mueres pones la carpeta de "load game", y agregas de nuevo un "execute a piece of code", y en este escribes:
ini_open("guardado.ini")
global.vidas=ini_read_real("Save","Vidas",0) //en global.vidas va la variable de vidas
global.puntos=ini_read_real("Save","Puntos",0) //aca tambien en vez de global.puntos va la variable de puntos
ini_close()
Es parecido pero hay diferencias ;)
Me parece que con eso funcionaria, cualquier cosa pregunta si no entiendes o envias el juego, (el .gmk o gm7 o gm6)
Reseteas el room e inmediatamente le restas una vida a las vidas actuales y haces que la pos del player salte a la del checkpoint...
si no sabes como hacerlo decime y te doy el código.. pero antes investiga, lee el manual que no muerde...
Bueno, por partes... Ciberman, lo que me comentas, ya lo había probado (en la desesperada, probé cosas raras xD) y el caso es que aunque ponga lo que me dices, no salta a la posicion; se resetea, me resta una vida, me mantiene los puntos y todos los bichos están, pero no me deja en el checkpoint, sino que me lleva al inicio; no sé porqué no salta...
Mgbu, gracias por la info... pero me da error de variable. El caso es que no tengo variables (o por lo menos no sé ponerlas) y el caso es que con el código que me diste, me da error en las lineas 2 y 3, porque no sé qué poner en "global.vidas" y dejandolo así da error. Por si sirve de informacion, tengo un objeto para los puntos y otro para las vidas, pero sin variable, simplemente estan para que se vea esa informacion... No sé... espero no estar mentiendo la pata en algo evidente xD Gracias de nuevo :)
Perfecto, seguramente es porque vos a las vidas y los puntos las modificas con los cuadraditos, luego de una busqueda en el manual se que tenes que poner en vez de global.vida y global.puntos
Primero prueba asi:
En los lugares en donde diga global.vida escribe lives
y en los lugares en donde diga global.puntos escribe score
Si te sigue tirando error prueba asi:
En los lugares en donde diga global.vida escribe global.lives
y en los lugares en donde diga global.puntos escribe global.score
Y si sigue, adjunta en tu respuesta el editable
Con respecto a lo que dijo Ciberman, esta bueno que leas el Manual (http://www.comunidadgm.org/manual_GM/Index.php), aunque ese no era el problema. Pero la respuesta de Ciberman era lo mismo que la primera que di :-\
Uff.... pues va a ser que no xDD el caso es que probé poniendo "lives" y "score" porque si ponia "global.score" el editor me marcaba la linea en rojo, como si estuviera mal (con global.lives no). Pero al ponerlo sin "global." me da este error:
___________________________________________
FATAL ERROR in
action number 22
of Collision Event with object bicho
for object kito:
COMPILATION ERROR in code action
Error in code at line 3:
score=ini_read_real("Save","Puntos",0) //aca tambien en vez de global.puntos va la variable de puntos
^
at position 7: Variable name expected.
Kito es el jugador y bicho, pues el malo :P Y como no entiendo de códigos y eso... pues no se cual es el fallo :/
Bueno, pues te adjunto un cacho de juego; puse dos malos y una vida para recoger. Lo dejé puesto con el "jump to position" para que veas lo que hace... a lo mejor simplemente es añadir otra opcion... o yo qué sé! xDD bueno, ya me diras (y gracias (= )
lo unico que necesitas es hacer que la variable del checkpoint sea global, asi que cuando tocan al check point activan esa variable, y en el event create del personaje lo que haces es verificar que si la variable global del check point es true aparezca en ese lugar del check point, asi solo te queda hacer que cuando maten al personaje reinicie el room.
y para evitar que la var checkpoint global, se mantenga activa, desactivala antes de pasar de room pero no en el event room_end si no en la condicion que aplica para pasara de room , por ejemplo si para pasar de room debes entrar en una puerta, en el event de esa puerta donde indica pasar de room desactivas la global.checkpoint asi pasa al nuevo room si estar el checkpoint activo e iniciara desde el inicio.
Gracias por tu respuesta, pero creo que no me entendiste... El checkpoint me funciona, paso por el objeto checkpoint, se activa y al morir aparezco ahí. El problema está, que al activar el checkpoint, todos los enemigos que mate, y objetos que recoja, cuando muero y vuelvo al checkpoint, ya no están. Ahora mismo tengo el checkpoint en la mitad de la fase; pues imagina que mueres casi al final. Ok, vas al checkpoint, pero debes atravesar esa mitad de fase, sin ningún enemigo. Éso es lo que quiero arreglar. Creo, más bien, que quizá el problema esté en los enemigos; cuando el jugador los mata, tengo puesto que me de unos puntos, suene un ruido, cambie el objeto (a la imagen del enemigo muerto) y luego que desaparezca (destroy instance en other y elegido el objeto del enemigo muerto). No sé si el error estará ahí, que estoy eliminando el enemigo... Más arriba comenté que no entiendo de variables, ni código ni nada (el titular de game maker dice "haz juegos sin saber programar xDD) Y como mucho algo que veo en otros juegos, copio el codigo, y lo pego :) Gracias! (y perdon por la paliza de texto :P)
Perdón por no poder arreglarte el juego, lo que pasa es que esstoy viajando y no veo que otro pueda ayudarte por ahora :-[ , el martes estoy en casa y veo que puedo hacer. Espero que puedas ir haciendo otras cosas en el juego! :D
Ahi lo descargue, veo que usas el metodo de elvis asi que sigo con ese
Lo unico que faltaría es para que los mounstruos vuelvan a aparecer, para eso uso un codigo que vas a tener que ir modificandolo mientras haces niveles
Lo que tienes que hacer es copiar y pegar el codigo modificando las variables como se ve en la imagen
Muchisimas gracias!!! Funciona a la perfección!! :D Un millón de gracias, en serio!! Entiendo que (los que comenzamos) tengamos que leer manuales y eso, como dijo Ciberman, pero aunque me hubieses dicho "usa este codigo" no habría sabido donde tenia que ponerlo; y en el manual no explican cómo usar las cosas (donde ponerlas y eso) asi que, muchas gracias otra vez!!!