Buenos días, tardes, noches
Mi problema es que creo todas las variables y luego miro si hay un archivo ini con el nombre de MDGame.ini y si no existe pues lo crea. Por el momento parece que bien, pero en cuanto un objeto comprueba una variable, ya está el juego tira un error. No se a que es debido, he mirado muchos foros y proyectos del game maker que usan este tipo de guardado pero no encuentro mi error... Alguien podría decirme donde tengo el error.
Gracias por adelantado.
En este caso lo más importante es saber cuál es el error.
Esto no tiene que ver con el error (creo) que comentas, pero en la primera imagen, si estás usando
global.posx = 0
global.posy = 0
entonces no es necesario usar
globalvar posx, posy
Cita de: penumbra en Septiembre 29, 2015, 10:42:33 PM
En este caso lo más importante es saber cuál es el error.
Esto no tiene que ver con el error (creo) que comentas, pero en la primera imagen, si estás usando
global.posx = 0
global.posy = 0
entonces no es necesario usar
globalvar posx, posy
Este es el error que me da. Es como si las variables no estuviesen creadas. Por eso intenté hacer lo de globalvar posx,posy. Pero no hay manera, y no se lo que me falla...
El error indica que ese código se ejecuta en el evento CREATE.
1. El error menciona la variable global.star4, pero en las imágenes que colocaste, no existe ninguna variable con ese nombre
2. Si la variable sí existe y sí la declaras en algún lugar, entonces lo que puede estar pasando es que el objeto donde se ejecuta la línea
if (global.star4 = 0)
se está creando ANTES que el objeto donde se declaran todas las variables, es decir, se está intentando leer una variable antes de que esa variable comience a existir. Para solucionar esto, se pueden hacer dos cosas:
a) cambiar el orden de creación de las instancias en
(http://i.imgur.com/Zi3WaMu.png)
b) en lugar de usar el evento CREATE para leer las variables, usar el evento ROOM START
3. Si el objeto don de se ejecuta la condición if anterior es el mismo objeto donde se declaran las variables globales, entonces el código para leer las variables está colocado ANTES que la declaración de las variables, cuando debería ir DESPUÉS (esto es poco probable y creo que lo que pasa sea lo que mencioné en el punt 2)
Cita de: penumbra en Septiembre 30, 2015, 12:36:41 AM
El error indica que ese código se ejecuta en el evento CREATE.
1. El error menciona la variable global.star4, pero en las imágenes que colocaste, no existe ninguna variable con ese nombre
2. Si la variable sí existe y sí la declaras en algún lugar, entonces lo que puede estar pasando es que el objeto donde se ejecuta la línea
if (global.star4 = 0)
se está creando ANTES que el objeto donde se declaran todas las variables, es decir, se está intentando leer una variable antes de que esa variable comience a existir. Para solucionar esto, se pueden hacer dos cosas:
a) cambiar el orden de creación de las instancias en
(http://i.imgur.com/Zi3WaMu.png)
b) en lugar de usar el evento CREATE para leer las variables, usar el evento ROOM START
3. Si el objeto don de se ejecuta la condición if anterior es el mismo objeto donde se declaran las variables globales, entonces el código para leer las variables está colocado ANTES que la declaración de las variables, cuando debería ir DESPUÉS (esto es poco probable y creo que lo que pasa sea lo que mencioné en el punt 2)
Si el error es por eso pero yo hago el archivo ini y declaro las variables en dos rooms anteriores, pero es como si no las generase... Es muy raro. He probado con el modo debug y no me aparece ninguna variable... Eso es lo que falla. No lo entiendo...
manda como tienes el ini que carga la global.star4 y dime en qué room(orden) se ejecuta ese ini_read, y en qué room se ejecuta el obj_lvl_4
Cita de: kostra en Septiembre 30, 2015, 02:58:06 AM
manda como tienes el ini que carga la global.star4 y dime en qué room(orden) se ejecuta ese ini_read, y en qué room se ejecuta el obj_lvl_4
Perdón por darte una respuesta tan tardía. Ya he visto el error, para empezar tenia el script hecho pero no lo había asignado a ningún objeto, lo siento por hacer perder vuestro tiempo... Y segundo tenia una linea de código mal escrita, de nuevo lo siento.
Y sobre todo gracias por ayudarme ^^ sois los mejores.
jajajaaj no pasa nada, lo importante es que solucionanste tu problema, A SEGUIR MAKEANDO!!! :D