Pues eso he mirado algun post pero no me queda muy claro,lo que quiero hacer es que guarde el valor de una variable y que al pulsar un boton esa variable la modifique.
Te explico un poco..
Primero creas un objeto que tenga las globales (yo recomiendo esto)
por ejemplo digamos que queremos añadir 2 globales en este caso la global arma y la global munición. (tambien podrian estar en el evento create del player)
Pero siguiendo esto hacemos el objeto "globales" y le ponemos en el evento create lo siguiente:
globalvar arma
globalvar municion
y esto lo ponemos en cada room.
Seguimos con el siguiente paso, guardar las variables (en el evento que queramos):
ini_open("archivo.ini"); //esto abre el archivo .ini, si no existe lo crea con el nombre "archivo.ini"
ini_write_real('Eventos','municion',municion) //esto guarda en el archivo ini bajo el nombre [Eventos] la variable municion
ini_write_real('Eventos','arma',arma) //esto guarda en el archivo ini bajo el nombre [Eventos] la variable arma
ini_close();
Para cargarlo usaríamos (en el evento que queramos):
ini_open("archivo.ini"); //el mismo que el anterior esto, solamente accede a el
municion = ini_read_real('Eventos','municion',60) // esto lo que hace es que define la variable global municion a la que exista guardada en el archivo .ini y si no existe la pone por defecto en 60
arma = ini_read_real('Eventos','arma',0) // esto lo que hace es que define la variable global arma a la que exista guardada en el archivo .ini y si no existe la pone por defecto en 0
ini_close(); //cierra el archivo .ini, es muy importante siempre que se abre cerrarlo, o te lageará el juego sobremanera.
Y esto es todo, la verdad que es algo que al principio cuesta un poco de entender, pero te aconsejo que mires mucho la guía y vayas probando, a mi en su momento me costó mucho entenderlo también, pero una vez que lo captas es muy fácil trabajar con el, a mi me ayudó a entenderlo @Penumbra, pero bueno aquí te he puesto lo que yo se, supongo que habrá mejores maneras de explicarlo.
Saludos!
Cita de: LowHertzs en Agosto 07, 2014, 03:06:43 PM
Te explico un poco..
Primero creas un objeto que tenga las globales (yo recomiendo esto)
por ejemplo digamos que queremos añadir 2 globales en este caso la global arma y la global munición. (tambien podrian estar en el evento create del player)
Pero siguiendo esto hacemos el objeto "globales" y le ponemos en el evento create lo siguiente:
globalvar arma
globalvar municion
y esto lo ponemos en cada room.
Seguimos con el siguiente paso, guardar las variables (en el evento que queramos):
ini_open("archivo.ini"); //esto abre el archivo .ini, si no existe lo crea con el nombre "archivo.ini"
ini_write_real('Eventos','municion',municion) //esto guarda en el archivo ini bajo el nombre [Eventos] la variable municion
ini_write_real('Eventos','arma',arma) //esto guarda en el archivo ini bajo el nombre [Eventos] la variable arma
ini_close();
Para cargarlo usaríamos (en el evento que queramos):
ini_open("archivo.ini"); //el mismo que el anterior esto, solamente accede a el
municion = ini_read_real('Eventos','municion',60) // esto lo que hace es que define la variable global municion a la que exista guardada en el archivo .ini y si no existe la pone por defecto en 60
arma = ini_read_real('Eventos','arma',0) // esto lo que hace es que define la variable global arma a la que exista guardada en el archivo .ini y si no existe la pone por defecto en 0
ini_close(); //cierra el archivo .ini, es muy importante siempre que se abre cerrarlo, o te lageará el juego sobremanera.
Y esto es todo, la verdad que es algo que al principio cuesta un poco de entender, pero te aconsejo que mires mucho la guía y vayas probando, a mi en su momento me costó mucho entenderlo también, pero una vez que lo captas es muy fácil trabajar con el, a mi me ayudó a entenderlo @Penumbra, pero bueno aquí te he puesto lo que yo se, supongo que habrá mejores maneras de explicarlo.
Saludos!
Esto guarda la variable pero cuando el .ini se cierra puedo seguir utilizando esa variable no?
Claro que puedes seguir usando esa variable, luego puedes acceder a ella en cualquier momento, pero no olvides en un room end o en el evento que tu creas oportuno guardar el estado de la variable, para luego cargarla una vez que entres en el juego tal y como la dejaste.
Cita de: LowHertzs en Agosto 07, 2014, 03:42:10 PM
Claro que puedes seguir usando esa variable, luego puedes acceder a ella en cualquier momento, pero no olvides en un room end o en el evento que tu creas oportuno guardar el estado de la variable, para luego cargarla una vez que entres en el juego tal y como la dejaste.
Veras quiero hacer que si la variable idioma esta en 1 vaya a una room y si esta en 2 vaya a otra,como lo hago?
PD:En Evento pongo de ese objeto(por ejemplo create,draw,etc...)o pongo "Eventos" y ya
PD2:Perdona por las preguntas pero no lo entiendo muy bien xD
Cita de: Skal en Agosto 07, 2014, 03:48:14 PM
Cita de: LowHertzs en Agosto 07, 2014, 03:42:10 PM
Claro que puedes seguir usando esa variable, luego puedes acceder a ella en cualquier momento, pero no olvides en un room end o en el evento que tu creas oportuno guardar el estado de la variable, para luego cargarla una vez que entres en el juego tal y como la dejaste.
Veras quiero hacer que si la variable idioma esta en 1 vaya a una room y si esta en 2 vaya a otra,como lo hago?
PD:En Evento pongo de ese objeto(por ejemplo create,draw,etc...)o pongo "Eventos" y ya
PD2:Perdona por las preguntas pero no lo entiendo muy bien xD
Lo suyo es que vayas probando, lo de "Eventos" es un nombre que te di como idea pero tu puedes poner lo que quieras que te ayude a reconocerlo luego, en caso de querer editarlo o cambiar algo respecto a eso.
Lo de cambiar la room dependiendo del idioma que selecciones es bastante simple te pongo la idea y tu la aplicas a tu gusto, (hay mil maneras de hacer las cosas en gm:s y tu tienes que elegir la que más se adapte a tus necesidades).
Yo pondría en la room donde seleccionas el idioma lo siguiente:
Haciéndome la idea de que hay 2 objetos uno es la bandera de españa, y otra la bandera de francia, cada una quiero que si lo elijas vaya a un room determinada la roomEspaña o la roomFrancia.
Entonces primero que nada en cada objeto pondría una variable global que diga algo así: global.españa = 1 (en la del objeto de la bandera de españa) y global.francia = 1 (en la del objeto de la bandera de francia)
Crearía otro objeto que ademas de guardar las variables, y ponerlas por defecto en su evento step pusiera algo así:
if global.españa = 1
room_goto(roomEspaña);
o
if global.francia= 1
room_goto(roomFrancia);
Luego al entrar tendrías que aplicar lo que dije antes y poner un objeto que lea las variables ya escritas. De esa manera si se seleccióno "España" leera el "global.españa = 1" y el juego iniciará en Español automaticamente.
Cita de: LowHertzs en Agosto 07, 2014, 03:55:49 PM
Cita de: Skal en Agosto 07, 2014, 03:48:14 PM
Cita de: LowHertzs en Agosto 07, 2014, 03:42:10 PM
Claro que puedes seguir usando esa variable, luego puedes acceder a ella en cualquier momento, pero no olvides en un room end o en el evento que tu creas oportuno guardar el estado de la variable, para luego cargarla una vez que entres en el juego tal y como la dejaste.
Veras quiero hacer que si la variable idioma esta en 1 vaya a una room y si esta en 2 vaya a otra,como lo hago?
PD:En Evento pongo de ese objeto(por ejemplo create,draw,etc...)o pongo "Eventos" y ya
PD2:Perdona por las preguntas pero no lo entiendo muy bien xD
Lo suyo es que vayas probando, lo de "Eventos" es un nombre que te di como idea pero tu puedes poner lo que quieras que te ayude a reconocerlo luego, en caso de querer editarlo o cambiar algo respecto a eso.
Lo de cambiar la room dependiendo del idioma que selecciones es bastante simple te pongo la idea y tu la aplicas a tu gusto, (hay mil maneras de hacer las cosas en gm:s y tu tienes que elegir la que más se adapte a tus necesidades).
Yo pondría en la room donde seleccionas el idioma lo siguiente:
Haciéndome la idea de que hay 2 objetos uno es la bandera de españa, y otra la bandera de francia, cada una quiero que si lo elijas vaya a un room determinada la roomEspaña o la roomFrancia.
Entonces primero que nada en cada objeto pondría una variable global que diga algo así: global.españa = 1 (en la del objeto de la bandera de españa) y global.francia = 1 (en la del objeto de la bandera de francia)
Crearía otro objeto que ademas de guardar las variables, y ponerlas por defecto en su evento step pusiera algo así:
if global.españa = 1
room_goto(roomEspaña);
o
if global.francia= 1
room_goto(roomFrancia);
Luego al entrar tendrías que aplicar lo que dije antes y poner un objeto que lea las variables ya escritas. De esa manera si se seleccióno "España" leera el "global.españa = 1" y el juego iniciará en Español automaticamente.
Como que guardar las variables?
Tienes que buscar la mejor manera de guardar las variables, al salir del juego con el (room end) o al pulsar el mismo botón.
Si no guardas las variables en el archivo .ini tampoco vas a poder acceder a ella ni cargarlas más tarde.
Cita de: LowHertzs en Agosto 07, 2014, 04:20:03 PM
Tienes que buscar la mejor manera de guardar las variables, al salir del juego con el (room end) o al pulsar el mismo botón.
Si no guardas las variables en el archivo .ini tampoco vas a poder acceder a ella ni cargarlas más tarde.
prefiero que al pulsar el boton de x idioma la variable idioma se actualize(si es español 2 y si es ingles 1)y que cuando inicie otra vez el juego(al iniciarlo hay una room donde sale el logo de mi empresa le das click y va al menu(de momento va directamente al de ingles))abra la variable idioma y si esta en 1 vaya a la room menuingles y si la variable esta en 2 vaya a la room menuespañol,aparte tengo otro problema y ese es que al principio el jugador no habra entrado en ninguna room asi que el juego no sabra a que room ir
Cita de: Skal en Agosto 07, 2014, 04:27:50 PM
Cita de: LowHertzs en Agosto 07, 2014, 04:20:03 PM
Tienes que buscar la mejor manera de guardar las variables, al salir del juego con el (room end) o al pulsar el mismo botón.
Si no guardas las variables en el archivo .ini tampoco vas a poder acceder a ella ni cargarlas más tarde.
prefiero que al pulsar el boton de x idioma la variable idioma se actualize(si es español 2 y si es ingles 1)y que cuando inicie otra vez el juego(al iniciarlo hay una room donde sale el logo de mi empresa le das click y va al menu(de momento va directamente al de ingles))abra la variable idioma y si esta en 1 vaya a la room menuingles y si la variable esta en 2 vaya a la room menuespañol,aparte tengo otro problema y ese es que al principio el jugador no habra entrado en ninguna room asi que el juego no sabra a que room ir
Para solucionar el error tienes que hacer lo que ya te dije, crear un archivo que ponga por defecto las variables en 0, si no hay nada guardado antes, lo puedes hacer facilmente creando un objeto que defina las variables como te puse arriba "globalvar idioma.español".
arma = ini_read_real('Eventos','arma',0) --> en este código el 0 del final indica la variable por defecto si no hay nada guardado anteriormente.