Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: Ruisu~ en Marzo 30, 2010, 07:26:16 PM

Título: Crear una variable y que no se vuelva a poner su valor inicial RESUELTO
Publicado por: Ruisu~ en Marzo 30, 2010, 07:26:16 PM
Lo que quiero es que una variable se cree en un script, para que luego cambie, pero si no la creo en el evento Create entonces siempre sera el mismo valor y nunca cambiara -w-

lo que quiero es darle un valor una sola ves y ya, como se hace?
Título: Re: Crear una variable y que no se vuelva a poner su valor inicial
Publicado por: DarkKRuleR en Marzo 30, 2010, 07:36:38 PM
la creas global
global.points=0;
y asi la variable perdurara a lo largo de los siglos, aunque destruyas el objeto que la cre? y todo, queda como variable global que nunca se destruye y dura aunque cambies de room como la variable room_speed por ejemplo

o...

points=0 en un objeto persistente. El objeto persistente siempre estara, cuando cambies de room el objeto tambien lo hara, asi el evento create solo se ejecuta una vez al crearse y no vuelve a ejecutarse.
Título: Re: Crear una variable y que no se vuelva a poner su valor inicial
Publicado por: Killer en Marzo 30, 2010, 07:54:30 PM
Lo que quiere es que al llamar por primera vez un script se cree una variable, pero que esta no vuelva a tomar su valor inicial cada vez que se llame el script.

Puedes usar la funci?n variable_local_exists o variable_global_exists para ver si la variable ya existe, y solo declararla si no:

if !variable_local_exists("Variable") Variable = 1;
if !variable_global_exists("Variable") global.Variable = 1;
Título: Re: Crear una variable y que no se vuelva a poner su valor inicial
Publicado por: soccer2008 en Marzo 31, 2010, 09:55:59 PM
Podr?as definir dicha variable en un room inicial con un objeto respectivo y no volver a cargar dicho room para q mantenga dicha acci?n XD XD XD
Título: Re: Crear una variable y que no se vuelva a poner su valor inicial
Publicado por: Ruisu~ en Abril 01, 2010, 05:09:44 AM
ya qued? resuelto con la respuesta de killer -w- es la mas inteligente y se me habia ocurrido pero hacia mal con las comillas xD RESUELTO disculpen xD