Hola, la cosa es así:
Escuchen bien:
*Tengo un "Room1"
*En se "Room1" puse un objeto,
* Dentro del objeto tengo el evento "Create"
*Dentro de ese evento declare 1 variable.
Bueno lo que pasa, es que esa variable que declare y que esta en el "Room1", no puede ser llamada desde otro objeto. "Ese objeto de donde llamo esa variable esta puesta en otro Room2"Pero al llamar me dice que esa variable no existe.
Bueno resumidamente lo que quiero es:
Llamar una variable que pertenece a un Room1, desde otra Room2. Obviamente esas variables están correctamente en sus respectivos objetos. Revise lo nombres y no, no me anda.
Agradecería a los que me ayuden, Saludos!
Hablando en términos generales existen dos clases de variables, las locales y las globales, las variables locales son las que simplemente declaras por nombre, y solo existen dentro de la instancia donde fue creada, lo que significa que al destruir la instancia se destruye la variable.
Variable = 0
En cambio, una vez declaradas, las variables globales son reconocidas por todas las instancias y solo son destruidas cuando se finaliza el juego.
Las variables globales deben ser declaradas como tales, ya sea poniendo global. antes del nombre de la variable, o con la declaración de variables globalvar:
globalvar Vida, Magia, Nivel;
Vida = 100;
Magia = 10;
Nivel =1;
global.Puntuacion = 0;
Ahora atento que la cosa se complica un poco, una variable declarada dentro de un globalvar no necesita ser llamada con el global. antes de su nombre, pero puede hacerse, una variable declarada con global. debe siempre ser llamada con global.
Ademas el nombre de las variables declaradas con globalvar queda reservado, y no puede utilizarse para variables locales, pues el código pensará que te estas refiriendo a la variable global. En cambio variables declaradas con el global. pueden tener el mismo nombre que variables locales.
Existen metodos para evitar esto, pero como estas empezando no quiero que se te complique mucho esto.
En resumidas cuentas, si quieres una variable que deba ser declarada en el room1 y pueda ser leida en el room2 debes usar una variable global.