Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: WeGame en Noviembre 25, 2011, 05:19:53 PM

Título: (SOLUCIONADO) variables que esten siempre
Publicado por: WeGame en Noviembre 25, 2011, 05:19:53 PM
Estoy con un proyecto desde el verano que es de simulaci?n (de crear tu ciudad, cuidar un drag?n, cultivar en un huerto...) y hay un error. El c?digo es as?:

Por ejemplo, el object 1:
Create:

global.comercios=1


Y en el object 2:
Left released:
if global.comercios=1
{ global.dinero+=10 }


Pero lo que ocurre es que cuando doy clic en el object 2, me pone que la global.comercios no existe. ?Qu? puedo hacer para solucionar el problema?
Gracias.
Título: Re: variables que esten siempre
Publicado por: jefferson940 en Noviembre 25, 2011, 05:45:25 PM
a mi me ha pasado muchas veces.
- primero verifica q el objeto con la variable este en el room.
- segundo, el orden en el q se crear los objetos tambien genera este error, debes crear primero el que tiene la variable y despues los que utilizan estas variables.

pruebalo asi, o revisa lo q te digo a ver si te sirve.
Título: Re: variables que esten siempre
Publicado por: Zeit en Noviembre 25, 2011, 05:52:21 PM
Hola, tambien puedes crear las variables globales desde el evento create del room, saludos.
Título: Re: variables que esten siempre
Publicado por: MaanuRP en Noviembre 25, 2011, 06:29:41 PM
Si creaste una variable global es imposible que se borre de la nada, fijate bien si la escribiste bien, o si hiciste un cambio de room o algo. Pero la variable no desaparece.

Lo que esta bueno es como dijo Zeit, poner en el evento Create del room o de un objeto persistente en el evento Room Start, el problema es que siempre va a tener ese valor cuando empiece el room.

Sino crea un objeto perssitente y ponle en su evento create las variables globales, entonces ahi si es imposible^2 que se borren xD
Título: Re: variables que esten siempre
Publicado por: elviskelley en Noviembre 25, 2011, 08:24:33 PM
verifica la fuente de ambas vriables, Verifica si ya fue declarada la variable que dice no existir.
si no sale corre el juego en modo Deguber osea con el triangulo Rojo luego click en la ventana que abre junto con el juego, podr?s escoger ver variables globales. asi veras como est?n funcionando y saber a que viene el error.
Título: Re: variables que esten siempre
Publicado por: NOKAUBURE en Noviembre 25, 2011, 08:43:01 PM
Global Game settings > treat unitialized variables as 0

La opcion que soluciona la mayoria de errores de variables xD siempre lo estoy diciendo
Título: Re: variables que esten siempre
Publicado por: MaanuRP en Noviembre 25, 2011, 08:45:55 PM
Cita de: NOKAUBURE en Noviembre 25, 2011, 08:43:01 PM
Global Game settings > treat unitialized variables as 0

La opcion que soluciona la mayoria de errores de variables xD siempre lo estoy diciendo

Y en todos lados te decimos lo mismo, esa opcion te puede generar mas bugs que se te van a complicar el doble, como minimo, para solucionarlos.

No es buena idea a menos que TODAS las variables de tu juego comiencen con 0, sino es muy arriesgado, por ende, MUY mala idea
Título: Re: variables que esten siempre
Publicado por: NOKAUBURE en Noviembre 25, 2011, 08:53:57 PM
las que no empiezan por 0 las inicias en create y ya sta xD
A mi nunca me dio problemas
Título: Re: variables que esten siempre
Publicado por: MaanuRP en Noviembre 25, 2011, 09:25:39 PM
Porque tuviste suerte, si en algun momento una variable te da error, jamas lo vas a saber, porque esa opcion te lo impide.

Puede que te salga bien, todo perfecto, pero puede que salga mal, y ahi si que se viene el problema.
Título: Re: variables que esten siempre
Publicado por: NOKAUBURE en Noviembre 25, 2011, 09:57:35 PM
no te digo que no tengas razon, son maneras distintas de trabajar. Y los unicos errores que hay de variables con esa opcion es la de "cannot compare arguments", que ocurre al comparar un real con un string... que el mismo GM te dice la variable que es.
Título: Re: variables que esten siempre
Publicado por: WeGame en Noviembre 25, 2011, 10:02:03 PM
Bueno, pues much?simas gracias a todos. Lo que hice fue crear un object con el evento "Game start" y en un c?digo "global.comercios=0"
As? que, solucionado. Muchas gracias a todos  :)