Mayo 01, 2015, 08:16:06 PM Ultima modificación: Mayo 01, 2015, 08:17:56 PM por El_Buitre
Buenas, estoy aprendiendo a programar en Game Maker (y GML) y para ello estoy creando un pequeño juego de terror para entrenarme. De momento quiero practicar con un elemento que normalmente impresiona al jugador: implicarlo en la historia. Así, voy a hacer que aparezca un mensaje que diga: "Hi (nombre del jugador, según su ordenador)" y que, cuando el juego acabe, en la misma carpeta en la que esté guardado el juego, aparezca un archivo de texto llamado Next.txt que diga lo siguiente:
"You shouldn't have done that, (nombre del jugador). Now you are next."

De momento parece que lo he conseguido, tras enredar un poco en un archivo aparte con la ayuda de Internet, pero hay un pequeño problema: el mensaje de "Hi" y cuando le doy a OK se vuelve a mostrar. Esto no es lo que quiero, ¿alguien me dice cómo puedo evitarlo?

(Lo que he hecho ha sido crear un objeto "code" en la room, y en el evento "Create" ponerle lo siguiente:)
name=environment_get_variable('USERNAME');

// Con el código de arriba obtenemos el nombre de usuario del PC para poder ponerlo en un mensaje. //


show_message("Hi "+name);

// Esta es la parte que me da problemas... //


file = file_text_open_write("Next.txt")

file_text_write_string(file,"You shouldn't have done that, "+name+". Now you are next.")

file_text_close(file)

// Y con esto se genera el archivo "Next.txt" dondequiera que esté guardado el archivo del juego. Sí, sé que aquí no se genera al acabar el juego, pero es para ir probando en este proyecto "en sucio"... xD //



No soy experto en GML ni en Game Maker de modo que me gustaría que me explicaran de manera sencilla cómo solucionarlo... ¡gracias por adelantado! :D

Si la función de mensaje se llama en CREATE, no debería aparecer dos veces. ¿No habrás colocado por error dos objetos "code" en la habitación?

Cita de: penumbra en Mayo 01, 2015, 08:43:24 PM
Si la función de mensaje se llama en CREATE, no debería aparecer dos veces. ¿No habrás colocado por error dos objetos "code" en la habitación?

Pues sí, al final era eso. Me siento un poco idiota al ver que era esa tontería la que me traía de cabeza... jajajaja. Muchísimas gracias, ahora ya sí que puedo empezar el juego de verdad XD