Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: criizziy en Mayo 11, 2014, 10:15:32 PM

Título: no guarda la sprite D:
Publicado por: criizziy en Mayo 11, 2014, 10:15:32 PM
hola ise una tienda en la que uno compra personajes y le puse que cuando le de al boton comprar le descontara el valor del personaje y que cambiara la sprite del jugador principal por el que acabo de comprar pero el problema esque estando en la tienda se cambia la sprite y todo queda bien pero si me salgo y entro a jugar no me aparese el nuevo personaje el codigo que use para el cambio de personaje fue este

sprite_index=sprite31

gracias
Título: Re:no guarda la sprite D:
Publicado por: penumbra en Mayo 11, 2014, 10:37:39 PM
cualquier cambio que quieras que permanezca después de cerrar la partida o después de apagar y volver a iniciar, se debe guardar en un archivo de texto o en un archivo ini, mismo archivo que tiene que ser leído cada que se continúe una partida previa. Resumiendo, debes crear un sistema de guardado para tu juego, o los cambios no se guardarán al cerrarlo.
Título: Re:no guarda la sprite D:
Publicado por: criizziy en Mayo 11, 2014, 10:57:40 PM
amigo ise un ini pero cuando le doy al boton bolber al menu principal me sale el sigiente error
___________________________________________
############################################################################################
FATAL ERROR in
action number 1
of Mouse Event for Left Pressed
for object Bback:

Push :: Execution Error - Variable Get -5.personajes(100003, -1)
at gml_Object_Bback_Mouse_4 (line 5) - ini_write_real ("personaje","todos",global.personajes);
############################################################################################

no se si estara mal escrito el ini
puse este para guardar

ini_open( "personajes.ini" );
ini_write_real ("personajes","todos",global.personajes);
ini_close();


y este para cargar:

ini_open( "personajes.ini" )
global.personajes=ini_read_real("personajes", "todos", global.personajes)
ini_close()
Título: Re:no guarda la sprite D:
Publicado por: criizziy en Mayo 12, 2014, 01:56:28 AM
.
Título: Re:no guarda la sprite D:
Publicado por: vampy09 en Mayo 12, 2014, 02:59:56 AM
Voy ha "leerte" el error para que vayas aprendiendo ha leerlos:

action number 1
action number nos indica en cual Drag and Drop sucede el error.
Podras decir: Pero yo uso GML no Drag and Drop !
Bueno, pero para poder escribir en GML primero debemos arrastrar el icono Execute Code de la pestaña code.

of Mouse Event for Left Pressed
aqui en compilador nos indica en cual evento sucede el error

for object Bback:
aquí el objeto

De esta manera el compilador nos indica en cual objeto esta sucediendo el error.
En tu caso debes intepretarlo de esta manera:
Error fatal en la acción número 1 del evento Mouse Left Pressed del objeto Bback

Despues de decirnos donde sucede, el compilador nos indica cual es el error.
Existen varias tipos de errores pero este es muy comun:
Push :: Execution Error - Variable Get
Cada vez que veas esto, el compilador te esta indicando que la variable no existe.
Como sabras en el GM para crear una variable debes simplemente asignarle un valor inicial a la variable algo que comunmente hacemos en el evento Create.

-5.personajes(100003, -1) at gml_Object_Bback_Mouse_4 (line 5) - ini_write_real ("personaje","todos",global.personajes);
Aqui el GM nos indica cual es la variable que este causando el error.

En tu caso seria la variable global.personajes, que se encuentra en la linea de código número 5 (line 5) e inclusive pone la linea que provoca el error: ini_write_real ("personaje","todos",global.personajes);

Espero haberte ayudado a enterder un poco los errores de compilador o por lo menos entiendas para que sirven.
Título: Re:no guarda la sprite D:
Publicado por: criizziy en Mayo 12, 2014, 03:17:39 AM
aaa muchas gracias amigo entonses si era lo que sospechaba por lo que no habia definido la variable global.personajes