Buenas gente este es mi primer post espero una ayudita con un problema, de antemano agradezco las sugerencias
He estado hace poco con gm y estoy intentando hacer una mascota virtual, se que no es algo facil pero lo voy llevando bien gracias a esta web, el problema es que tengo una room como "inicio" donde aparece el huevo de la mascota que quieres criar, al hacerle click te lleva al room donde esta todo los stat botones para alimentar y esas cosas, el problema que tengo es que si clickeas la mascota de nuevo se recetea y vuelve a su etapa de huevo receteando todas las variables. Mi consulta es ¿si existe una manera de detener el evento una vez el objeto se encuentre en la room de crianza?.

Parte del juego lo hago en d&d y otra en codigo, la accion de cambiar de room la hice con d&d

event left buton
action: go to next room
tambien agregue exit this event pero no funciona o yo lo uso mal
Espero ser claro con mi consulta y gracias por cualquier ayuda que puedan aportar

Cita de: kuno en Mayo 16, 2016, 08:00:17 AM
Buenas gente este es mi primer post espero una ayudita con un problema, de antemano agradezco las sugerencias
He estado hace poco con gm y estoy intentando hacer una mascota virtual, se que no es algo facil pero lo voy llevando bien gracias a esta web, el problema es que tengo una room como "inicio" donde aparece el huevo de la mascota que quieres criar, al hacerle click te lleva al room donde esta todo los stat botones para alimentar y esas cosas, el problema que tengo es que si clickeas la mascota de nuevo se recetea y vuelve a su etapa de huevo receteando todas las variables. Mi consulta es ¿si existe una manera de detener el evento una vez el objeto se encuentre en la room de crianza?.

Parte del juego lo hago en d&d y otra en codigo, la accion de cambiar de room la hice con d&d

event left buton
action: go to next room
tambien agregue exit this event pero no funciona o yo lo uso mal
Espero ser claro con mi consulta y gracias por cualquier ayuda que puedan aportar

Luce como un problema de variables, la solucion sencilla es agregar Persistent, eso hace que se mantengan, bien podrias utilizar variables Globales, que al inicio de el juego con Game Start sean creadas, ya que lo mas probable es que si lo tienes en Room Start o Create Event cada vez que vuelvas a esa room todo se reiniciara.

Muchas gracias por responder pero no creo que sea problema de variables, uso variables globales, pero para este evento solo use d&d en el evento left buton puse la action go to next room, lo que pasa es que si clikeo el objeto me da error porque busca el proximo room lo que quiero es detener esa action una vez haga el cambio de room

Y porqué no mejor usas una accion de "DifferentRoom"¿
Debe ser que no hay siguiente room... Revisa...

De arriba hacia abajo van las room. La de mas arriba es la primera...

Cita de: kuno en Mayo 17, 2016, 01:29:33 AM
Muchas gracias por responder pero no creo que sea problema de variables, uso variables globales, pero para este evento solo use d&d en el evento left buton puse la action go to next room, lo que pasa es que si clikeo el objeto me da error porque busca el proximo room lo que quiero es detener esa action una vez haga el cambio de room
"el problema que tengo es que si clickeas la mascota de nuevo se recetea y vuelve a su etapa de huevo receteando todas las variables."

Eso fue lo que mencionastes .-. Sean globales o locales no importa, lo mas probable es que siempre fallaran si las pones en Create Event o Room Start Event (A menos que sepas como funciona y lo hagas a proposito)

Ok, para comenzar D&D no es muy apreciado, en serio necesitas el room goto next? Si por alguna razon modificaras el orden de las room tendrias que cambiar el codigo, o practicamente dejar las Rooms en el mismo orden, aqui esta este codigo a ver si se te es util:

room=Elcuartoquequieras

No se si lo sabias, pero si el problema es que lee el goto_next siendo el ultimo room, eso lo solucionaria :D

Si la respuesta no fue suficiente solo avisa a ver que se puede hacer.

#5 Mayo 17, 2016, 03:51:28 AM Ultima modificación: Mayo 17, 2016, 03:56:03 AM por NiuWeb
O_O, qué agresivo xD
Creo que podrías solucionarlo fácilmente usando el ejemplo del manual:
[gml]
if room_next(room) != -1 {
    room_goto(room_next(room));
}
[/gml]
Y sí, también se puede en DnD:
alaberga regué el café.

BA:STFW&RTFM

Muchas gracias por las respuestas me sirvieron mucho, lo que necesitaba era un condicional para detener el evento muchas gracias, si se que el orden de los room puede joder si se los cambia, puse go to next porque por ahora solo tengo 2 room y lamentablemente no estoy diestro con gml aunque poco a poco lo estoy testeando. por cierto de programacion se, no soy un ilustre pero java,c#,html,php,javascript,asp.net son lenguajes con los que he tratado asi que me doy una idea solo que de a poco voy viendo la estructura del gml funciones declaraciones por eso por ahora uso el d&d para probar y despues lo reemplazo por codigo cuando encuentro la forma de codificarlo muchas gracias por la ayuda a seguir adelante ahora  :)

Bueno bueno, ¿Te sirvió? Me dejaste con la duda  :'( xD
alaberga regué el café.

BA:STFW&RTFM

Si me sirvio quedo perfecto  ;) perdon por no responder antes me colgue con otro problema y no me sale  XD es simple tengo este codigo pero por alguna razon la variable no decrece


global.tiempohi +=1;
if (instance_exists(obj_desecho)&& global.tiempohi==100){
global.higiene-=1;
global.tiempohi=0;
}

esta dentro de un step, si saco  la condicion de tiempohi ==100 funciona bien pero quiero que cumpla las dos condiciones  XD, la variable tiempohi esta declarada y seteada en 0, no entiendo el error ya que un codigo similar pero de 1 condicion use antes y funcionan pero cuando quiero usar dos no arranca, incluso use if anidados y ni asi

gracias por la mano

#9 Mayo 17, 2016, 10:46:54 PM Ultima modificación: Mayo 17, 2016, 10:49:24 PM por TLT96
Cita de: kuno en Mayo 17, 2016, 09:19:02 AM
Si me sirvio quedo perfecto  ;) perdon por no responder antes me colgue con otro problema y no me sale  XD es simple tengo este codigo pero por alguna razon la variable no decrece


global.tiempohi +=1;
if (instance_exists(obj_desecho)&& global.tiempohi==100){
global.higiene-=1;
global.tiempohi=0;
}

esta dentro de un step, si saco  la condicion de tiempohi ==100 funciona bien pero quiero que cumpla las dos condiciones  XD, la variable tiempohi esta declarada y seteada en 0, no entiendo el error ya que un codigo similar pero de 1 condicion use antes y funcionan pero cuando quiero usar dos no arranca, incluso use if anidados y ni asi

gracias por la mano

En GML no es necesario el doble igual (==) o los puntos y coma (;), por eso me gusta mas :3 (Comenze con GML al probar otros siempre me tiraba errores por olvidar colocarlos xD)

Prueba este

global.tiempohi +=1;
if (instance_exists(obj_desecho)&& global.tiempohi=100){
global.higiene-=1;
global.tiempohi=0;
}


O este (Asi lo haria yo)
global.tiempohi+=1
if instance_exists(obj_desecho) and global.tiempohi>=100
{global.higiene-=1
global.tiempohi=0}


Suerte :D

PD: Entendi que hace e.e, Si el tiempo llega a 100 y hay una Caquita sera mas sucio :v

Cita de: TLT96 en Mayo 17, 2016, 10:46:54 PM
PD: Entendi que hace e.e, Si el tiempo llega a 100 y hay una Caquita sera mas sucio :v

jajajaja adivinaste  XD me funciono el segundo muchas gracias, el == segun el manual es comparacion, pasa que si usas un solo = es asignacion y daria error, el ; es costumbre mia XD igual no te da error eso por eso lo hago sino me mal acostumbro y despues en otro lenguaje termino renegando jajajaja gracias por la ayuda a seguir con otra parte ahora jajajaj

Cita de: kuno en Mayo 18, 2016, 05:53:48 AM
Cita de: TLT96 en Mayo 17, 2016, 10:46:54 PM
PD: Entendi que hace e.e, Si el tiempo llega a 100 y hay una Caquita sera mas sucio :v

jajajaja adivinaste  XD me funciono el segundo muchas gracias, el == segun el manual es comparacion, pasa que si usas un solo = es asignacion y daria error, el ; es costumbre mia XD igual no te da error eso por eso lo hago sino me mal acostumbro y despues en otro lenguaje termino renegando jajajaja gracias por la ayuda a seguir con otra parte ahora jajajaj
No me suena a que fuera eso xD, los operadores = y == hacen exactamente el mismo trabajo en comparaciones; qué extraño  :-\
alaberga regué el café.

BA:STFW&RTFM