Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: XetoXampi en Junio 26, 2014, 12:27:26 AM

Título: Mantener variable [Resuelto]
Publicado por: XetoXampi en Junio 26, 2014, 12:27:26 AM
Hola, muy buenas a todos. ¿Qué tal?

Bueno, mi problema es el más sencillo del mundo. Consiste en mantener el valor de una variable de una room a otra. La variable es ''ammo'', la de la munición. Cuando paso de un cuarto a otro el valor pasa a ser el mismo que en el anterior, osea 0. He probado desde Drag&Drop poniendo como variable ''global.ammo'' y desde código haciendo lo mismo, pero nada.. al pasar de room el valor de la variable vuelve a ser 0, hasta que coja más munición D:

Muchas gracias a todos y disculpe las molestias.

PD: La actividad del foro cada día escasea más... sólo veo 2 o 3 usuarios conectados a la vez (la mayoría principiantes como yo) a lo largo del día y entre 10 y 15 visitantes. D:



Título: Re:Mantener variable
Publicado por: TLT96 en Junio 26, 2014, 12:34:08 AM
Cita de: XetoXampi en Junio 26, 2014, 12:27:26 AM
Hola, muy buenas a todos. ¿Qué tal?

Bueno, mi problema es el más sencillo del mundo. Consiste en mantener el valor de una variable de una room a otra. La variable es ''ammo'', la de la munición. Cuando paso de un cuarto a otro el valor pasa a ser el mismo que en el anterior, osea 0. He probado desde Drag&Drop poniendo como variable ''global.ammo'' y desde código haciendo lo mismo, pero nada.. al pasar de room el valor de la variable vuelve a ser 0, hasta que coja más munición D:

Muchas gracias a todos y disculpe las molestias.

PD: La actividad del foro cada día escasea más... sólo veo 2 o 3 usuarios conectados a la vez (la mayoría principiantes como yo) a lo largo del día y entre 10 y 15 visitantes. D:

Ok.... sospecho que es de la manera que se crea.....
Revisa si en algun create event o room start event se crea la variable (Creeme, ese puede ser el unico problema....)

Cambialo al game start si quieres xD
Título: Re:Mantener variable
Publicado por: penumbra en Junio 26, 2014, 12:44:15 AM
Es probable que:

El evento CREATE del objeto se ejecute cada que se entra a una nueva habitación.

Esto quiere decir que el objeto NO ES PERSISTENTE. Al hacer persistente un objeto, dicho objeto se mantiene al pasar de habitación (sus variables no se reinician), por lo que no se debe colocar en cada habitación, sólo al comienzo del juego
Título: Re:Mantener variable
Publicado por: empardopo en Junio 26, 2014, 07:28:47 AM
Cita de: XetoXampi en Junio 26, 2014, 12:27:26 AM

PD: La actividad del foro cada día escasea más... sólo veo 2 o 3 usuarios conectados a la vez (la mayoría principiantes como yo) a lo largo del día y entre 10 y 15 visitantes. D:

Compañero,

supongo que la gente que sabe también se aburre de contestar preguntas elementales estilo de como se puede restar 1 a una variable cuando en el mismo topic le han pasado un código que suma 1 ...
La calidad de un foro la hacen todos los foreros pero también los admins, moderadores, etc y también muchas veces la afluencia de público va por rachas; tocará ahora una de menos afluencia, jeje!

Penumbra, muchas gracias por tus aportes.
Una duda sobre lo de persistente. ¿Es una forma diferente de declarar una variable o simplemente es tener cuidado de hacer lo que comentas de declararla al inicio del juego?
Si es esto segundo, supongo que entonces lo mejor sería crear un script con la declaración de todas nuestras variables globales que sepamos que deben ser persistentes y justo en el inicio del juego ejecutar dicho script y así salvamos el problema, ¿sería así?

Un saludo
Título: Re:Mantener variable
Publicado por: penumbra en Junio 26, 2014, 07:43:58 AM
Persistente se refiere a un objeto, no a una variable. Por ejemplo, en un juego RPG difícilmente querrías que en cada habitación tu jugador comenzara con la misma vida, el mismo nivel, experiencia, etc indicadas en el evento CREATE, sino que lo lógico sería que dichas variables se mantuvieran a lo largo del juego.

Es decir, si tengo un mago de nivel 15, quiero que al pasar a la siguiente habitación la variable nivel siga siendo 15 y no 1 (como está iniciada en CREATE). Pues eso se logra de dos maneras. La difícll: haciendo un sistema de guardado que guarde al fnalizar una habitación y cargue al iniciar la nueva. La manera sencilla: marcar al objeto jugador como persistente.

No están uds para saberlo ni yo para contarlo, pero hace aprox un año (meses más, meses menos) la afluencia era muchísimo menor que ahora, se hacían uno o dos posts por día.
Título: Re:Mantener variable
Publicado por: empardopo en Junio 26, 2014, 07:50:29 AM
Cita de: penumbra en Junio 26, 2014, 07:43:58 AM
Persistente se refiere a un objeto, no a una variable. Por ejemplo, en un juego RPG difícilmente querrías que en cada habitación tu jugador comenzara con la misma vida, el mismo nivel, experiencia, etc indicadas en el evento CREATE, sino que lo lógico sería que dichas variables se mantuvieran a lo largo del juego.

Es decir, si tengo un mago de nivel 15, quiero que al pasar a la siguiente habitación la variable nivel siga siendo 15 y no 1 (como está iniciada en CREATE). Pues eso se logra de dos maneras. La difícll: haciendo un sistema de guardado que guarde al fnalizar una habitación y cargue al iniciar la nueva. La manera sencilla: marcar al objeto jugador como persistente.

No están uds para saberlo ni yo para contarlo, pero hace aprox un año (meses más, meses menos) la afluencia era muchísimo menor que ahora, se hacían uno o dos posts por día.

Muchas gracias compi, por tu aclaración. Acabo de ver donde se pone lo de persistente.

Con respecto a lo del número de posts, no sólo cuenta la cantidad!  ;)
Título: Re:Mantener variable
Publicado por: XetoXampi en Junio 26, 2014, 12:25:11 PM
Muchas gracias a todos por vuestras respuestas. Efectivamente la casilla persistente mantiene variables  :D
Ahora que está solucionado, ¿cómo cierro el tema? ¿Elimino el post?
Título: Re:Mantener variable
Publicado por: zorge en Junio 26, 2014, 01:17:58 PM
Esta comunidad sigue viva gracias a gente como penumbra ocarina y algunos grandes como ellos yo desde que entre aquí son mi referente a seguir y me gustaría más adelante poder ayudar como ellos lo hacen a diario gracias sois los mejores y no me cansare de decirlo
Título: Re:Mantener variable
Publicado por: XetoXampi en Junio 26, 2014, 01:30:41 PM
Cita de: zorge en Junio 26, 2014, 01:17:58 PM
Esta comunidad sigue viva gracias a gente como penumbra ocarina y algunos grandes como ellos yo desde que entre aquí son mi referente a seguir y me gustaría más adelante poder ayudar como ellos lo hacen a diario gracias sois los mejores y no me cansare de decirlo

Igualmente. Desde que descubrí GameMaker me siento más motivado a la idea de crear videojuegos en un futuro!! y este foro es el ideal para aprender de los demás. Así que espero poder ayudar en un futuro :)