Buenas, mi pregunta es la siguiente a la hora de poner nombres en un videojuego, sí quisiera ponerle un nombre a un personaje como Wiskhy, Vodka o Martini ¿Sería legal o inflingiría alguna ley de copyright? No sería algo como llamar a un personaje Pepsi o cocacola, pero no se sí sería legal.
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
1
Preguntas y respuestas / ¿Es legal usar ciertos nombres de bebidas alcoholicas en un videojuego?
Junio 23, 2020, 11:15:02 PM2
Preguntas y respuestas / Guardar coordenadas
Octubre 14, 2019, 05:53:48 PM
Holi¡Buenas! Vengo con otro problema xd.
Quiero hacer que si pulsas A cuando tocas un objeto te lleve a otra sala, eso lo se hacer, pero cuandoquieras irte a la sala anterior se guarden las coordenadas, alguna idea de como hacer eso?
Quiero hacer que si pulsas A cuando tocas un objeto te lleve a otra sala, eso lo se hacer, pero cuandoquieras irte a la sala anterior se guarden las coordenadas, alguna idea de como hacer eso?
3
Preguntas y respuestas / Problema con movimiento
Octubre 07, 2019, 04:10:07 PM¡Buenas!Mi problema consiste en lo siguiente:
He creado 2 objetos, el objeto jugador que se mueve "perfectamente" en 8 direcciones y se para cuando colisiona con x objetos, ademas tambien se para si levanto las teclas de direcciones.
Cuando colisiona con otro objeto el cual sería como un NPC y pulsas la letra "A" el personaje debería quedarse quieto y mostrar un mensaje, cuando vuelves a pulsar "A" vuelve a desaparecer.
Sin embargo el problema reside en que para comenzar cuando levanto la tecla "A" Mi personaje sale corriendo en la dirección que mire y además no se desbloquea hasta que pulso arriba,abajo,izquierda y derecha haciendo que pueda volver a caminar con normalidad.
Ademas el mensaje de texto se quita muy rapidamente.¿Alguien sabe como podría arreglarse?
Dejaré aquí abajo todo el codigo gracias de antemano.
He creado 2 objetos, el objeto jugador que se mueve "perfectamente" en 8 direcciones y se para cuando colisiona con x objetos, ademas tambien se para si levanto las teclas de direcciones.
Cuando colisiona con otro objeto el cual sería como un NPC y pulsas la letra "A" el personaje debería quedarse quieto y mostrar un mensaje, cuando vuelves a pulsar "A" vuelve a desaparecer.
Sin embargo el problema reside en que para comenzar cuando levanto la tecla "A" Mi personaje sale corriendo en la dirección que mire y además no se desbloquea hasta que pulso arriba,abajo,izquierda y derecha haciendo que pueda volver a caminar con normalidad.
Ademas el mensaje de texto se quita muy rapidamente.¿Alguien sabe como podría arreglarse?
Dejaré aquí abajo todo el codigo gracias de antemano.
PERSONAJE QUE SE MUEVE:
[gml]
global.objeto = 0 { //Si global objeto es 0 significa que puedo andar
if keyboard_check(vk_left)//SI PRESIONO IZQUIERDA
{
if keyboard_check(vk_up) //Y ARRIBA
{hspeed=-2.5 vspeed=-2.5}
else if keyboard_check(vk_down)//Y ABAJO
{hspeed=-2.5 vspeed=2.5}
else if keyboard_check(vk_right) {hspeed=0} //Y DERECHA
else {hspeed=-4} //SOLO IZQUIERDA
}
else if keyboard_check(vk_right)//SI PRESIONO DERECHA
{
if keyboard_check(vk_up) //Y ARRIBA
{hspeed=2.5 vspeed=-2.5}
else if keyboard_check(vk_down) //Y ABAJO
{hspeed=2.5 vspeed=2.5}
else if keyboard_check(vk_left) {hspeed=0} ////E IZQUIERDA
else {hspeed=4} //SOLO DERECHA
}
else if keyboard_check(vk_up) and !keyboard_check(vk_right) and !keyboard_check(vk_left) //SI PRESIONO ARRIBA
{
if keyboard_check(vk_down) vspeed=0;//Y ABAJO
else vspeed=-4;//SOLO ARRIBA
}
else if keyboard_check(vk_down) and !keyboard_check(vk_right) and !keyboard_check(vk_left) //SI PRESIONO ABAJO
{
if keyboard_check(vk_up) vspeed=0;//Y ARRIBA
else vspeed=4;//SOLO ABAJO
}
if !keyboard_check(vk_left) and !(keyboard_check(vk_right))//SI NO PRESIONO IZQUIERDA NI DERECHA
hspeed=0;
if !keyboard_check(vk_up) and !(keyboard_check(vk_down))//SI NO PRESIONO ARRIBA NI ABAJO
vspeed=0;
}
//AQUI ACABA EL OBJETO.0
//Cambiar sprite
if vspeed > 0 and global.objeto = 0
repeat(6)
{
contador+= 1
if contador > 50 { contador = 0 subim+=1}
if subim < 0 subim= 0
if subim > 3 subim = 0
}
else if vspeed < 0 and global.objeto = 0
repeat(6)
{
contador+= 1
if contador > 50 { contador = 0 subim+=1}
if subim < 4 subim= 4
if subim > 7 subim = 4
}
else if vspeed = 0 and global.objeto = 0
{
if hspeed < 0
repeat(6)
{
contador+= 1
if contador > 50 { contador = 0 subim+=1}
if subim < 8 subim= 8
if subim > 11 subim= 8
}
else if hspeed > 0 and global.objeto = 0
repeat(6)
{
contador+= 1
if contador > 50 { contador = 0 subim+=1}
if subim < 12 subim= 12
if subim > 15 subim= 12
}
//Colisión muro
}
if keyboard_check_released(vk_down) and vspeed = 0 and hspeed = 0{
subim = 0}
if keyboard_check_released(vk_up) and vspeed = 0 and hspeed = 0{
subim = 4}
if keyboard_check_released(vk_left) and vspeed = 0 and hspeed = 0{
subim = 8}
if keyboard_check_released(vk_right) and vspeed = 0 and hspeed = 0{
subim = 12}
if instance_place(x + hspeed, y,Colision){hspeed = 0;}
if instance_place(x,y + vspeed ,Colision){vspeed = 0;}
//PARARSE AL HABLAR CON UN OBJETO
if instance_place(x + hspeed, y + vspeed,Colision_2) and keyboard_check_pressed(ord("A")) and global.objeto = 0 {global.objeto = 1;}
if global.objeto = 1 {
hspeed = 0;
vspeed = 0;
if keyboard_check_pressed(ord("A")){
global.objeto = 0;}
}
//no tocar arriba esta todo bien crea el mensaje
if global.objeto = 1 and subim = 0{
keyboard_key_press(vk_down);
}
if global.objeto = 1 and subim = 4{
keyboard_key_press(vk_up);
}
if global.objeto = 1 and subim = 8{
keyboard_key_press(vk_left);
}
if global.objeto = 1 and subim = 12{
keyboard_key_press(vk_right);
}[/gml]
OBJETO QUE REALIZA EL TEXTO:
-EVENTO CREATE
[gml]
///variables de texto
numero= 0 ;
texto[0] = "EASTEREGG,Este mensaje no debería aparecer en la pantalla.";
texto[1] = "Esta frio, parece que ha nevado hace poco." ;
-EVENTO DRAW
if global.objeto = 1 {
draw_self();
draw_set_color(c_white);
draw_set_halign(fa_left);
draw_set_font(Dialogo);
draw_text(x+100, y+100, texto[numero]);
}
[/gml]
-EVENTO PULSACIÓN DE TECLA A
[gml]
if ( numero < 1)
{
numero += 1;
}
else
{
instance_deactivate_object(obj_dialogo);
}
[/gml]
Muchas gracias de antemano <3
4
Preguntas y respuestas / Desactivar temporalmente el evento draw
Septiembre 14, 2019, 05:08:37 PM
¡Buenas!Me ocurre el siguiente problema, tengo un objeto el cual es una pequeña montaña de nieve, mi objetivo es que cuando presione "A" aparezca un mensaje, el personaje se pare sin poder moverse y cuando vuelva a pulsar "A"Pueda moverme y no aparezca el mensaje.
He logrado hacer que el personaje se pare y que aparezca todo el mensaje, sin embargo no consigo desactivar el mensaje del evento draw, dejo por aquí el codigo.
(estoy usando varios objetos).
(EVENTO PRINCIPAL DEL OBJETO DE LA MONTAÑA DE NIEVE)
-Create:
Mensaje = "Es un montón de nieve,parece que aún no se esta derritiendo."
if keyboard_check_pressed(ord("A")) and global.objeto = 2 {global.objeto = 0};
-Draw:
if global.objeto = 2 {
draw_sprite(Cuadro_texto_objeto,0,0,400)
//Caja de texto
draw_set_font(Dialogo);
draw_set_color(c_white);
//Contenido del texto
draw_set_halign(fa_left)
draw_text_ext(50, 480 ,Mensaje,30,700);
}
-Press_keyboard
global.objeto = 2
alarm[0] = 60
En resumen lo único que hace arriba es que cuando global.objeto es igual a 2 puedo ver el mensaje y el personaje se para.
(OBJETO ACTIVADOR DESACTIVADOR)
-create
if keyboard_check_pressed(ord("A")) and global.objeto = 2 {instance_deactivate_object(Evento_nieve)};
if keyboard_check_pressed(ord("A")) and global.objeto = 0 {instance_activate_object(Evento_nieve)};
No necesito ayuda ahora mismo con el movimiento del personaje así que solo necesito saber como desactivar unicamente el evento draw, muchas gracias de antemano por la ayuda <3
He logrado hacer que el personaje se pare y que aparezca todo el mensaje, sin embargo no consigo desactivar el mensaje del evento draw, dejo por aquí el codigo.
(estoy usando varios objetos).
(EVENTO PRINCIPAL DEL OBJETO DE LA MONTAÑA DE NIEVE)
-Create:
Mensaje = "Es un montón de nieve,parece que aún no se esta derritiendo."
if keyboard_check_pressed(ord("A")) and global.objeto = 2 {global.objeto = 0};
-Draw:
if global.objeto = 2 {
draw_sprite(Cuadro_texto_objeto,0,0,400)
//Caja de texto
draw_set_font(Dialogo);
draw_set_color(c_white);
//Contenido del texto
draw_set_halign(fa_left)
draw_text_ext(50, 480 ,Mensaje,30,700);
}
-Press_keyboard
global.objeto = 2
alarm[0] = 60
En resumen lo único que hace arriba es que cuando global.objeto es igual a 2 puedo ver el mensaje y el personaje se para.
(OBJETO ACTIVADOR DESACTIVADOR)
-create
if keyboard_check_pressed(ord("A")) and global.objeto = 2 {instance_deactivate_object(Evento_nieve)};
if keyboard_check_pressed(ord("A")) and global.objeto = 0 {instance_activate_object(Evento_nieve)};
No necesito ayuda ahora mismo con el movimiento del personaje así que solo necesito saber como desactivar unicamente el evento draw, muchas gracias de antemano por la ayuda <3
5
Preguntas y respuestas / Dejar totalmente parado el personaje.
Mayo 27, 2019, 06:54:57 PM
¡Buenas!Llevo varios días rallado con esto y quería ver si alguien podría ayudarme, tengo el codigo del movimiento del personaje y de las colisiones, he programado
que cuando se encuentre con x objeto que será como un NPC se pare, hasta ahí todo bien, no se reproduce la animación de andar ni nada, pero sigue reproduciendose la animación de mirar arriba,izquierda,abajo,derecha.
¿Alguna idea para dejarlo completamente quieto?
Dejo por aquí el codigo:
CREATE
image_speed = 0;
contador=0;
subim=0;
if global.ojos = 2 {
visible = true}
STEP
if keyboard_check(vk_left)//SI PRESIONO IZQUIERDA
{
if keyboard_check(vk_up) //Y ARRIBA
{hspeed=-2.5 vspeed=-2.5}
else if keyboard_check(vk_down)//Y ABAJO
{hspeed=-2.5 vspeed=2.5}
else if keyboard_check(vk_right) {hspeed=0} //Y DERECHA
else {hspeed=-4} //SOLO IZQUIERDA
}
else if keyboard_check(vk_right)//SI PRESIONO DERECHA
{
if keyboard_check(vk_up) //Y ARRIBA
{hspeed=2.5 vspeed=-2.5}
else if keyboard_check(vk_down) //Y ABAJO
{hspeed=2.5 vspeed=2.5}
else if keyboard_check(vk_left) {hspeed=0} ////E IZQUIERDA
else {hspeed=4} //SOLO DERECHA
}
else if keyboard_check(vk_up) and !keyboard_check(vk_right) and !keyboard_check(vk_left) //SI PRESIONO ARRIBA
{
if keyboard_check(vk_down) vspeed=0//Y ABAJO
else vspeed=-4//SOLO ARRIBA
}
else if keyboard_check(vk_down) and !keyboard_check(vk_right) and !keyboard_check(vk_left) //SI PRESIONO ABAJO
{
if keyboard_check(vk_up) vspeed=0//Y ARRIBA
else vspeed=4//SOLO ABAJO
}
if !keyboard_check(vk_left) and !(keyboard_check(vk_right))//SI NO PRESIONO IZQUIERDA NI DERECHA
hspeed=0
if !keyboard_check(vk_up) and !(keyboard_check(vk_down))//SI NO PRESIONO ARRIBA NI ABAJO
vspeed=0
//Cambiar sprite
if vspeed > 0 and global.objeto = 0
repeat(6)
{
contador+= 1
if contador > 50 { contador = 0 subim+=1}
if subim < 0 subim= 0
if subim > 3 subim = 0
}
else if vspeed < 0 and global.objeto = 0
repeat(6)
{
contador+= 1
if contador > 50 { contador = 0 subim+=1}
if subim < 4 subim= 4
if subim > 7 subim = 4
}
else if vspeed = 0 and global.objeto = 0
{
if hspeed < 0
repeat(6)
{
contador+= 1
if contador > 50 { contador = 0 subim+=1}
if subim < 8 subim= 8
if subim > 11 subim= 8
}
else if hspeed > 0 and global.objeto = 0
repeat(6)
{
contador+= 1
if contador > 50 { contador = 0 subim+=1}
if subim < 12 subim= 12
if subim > 15 subim= 12
}
//Colisión muro
}
if keyboard_check_released(vk_down) and vspeed = 0 and hspeed = 0{
subim = 0}
if keyboard_check_released(vk_up) and vspeed = 0 and hspeed = 0{
subim = 4}
if keyboard_check_released(vk_left) and vspeed = 0 and hspeed = 0{
subim = 8}
if keyboard_check_released(vk_right) and vspeed = 0 and hspeed = 0{
subim = 12}
if instance_place(x + hspeed, y,Colision){hspeed = 0;}
if instance_place(x,y + vspeed ,Colision){vspeed = 0;}
//PARARSE AL HABLAR CON UN OBJETO
if instance_place(x + hspeed, y,Colision_2) and keyboard_check(ord("A")) {global.objeto = 1;}
if instance_place(x,y + vspeed ,Colision_2) and keyboard_check(ord("A")) {global.objeto = 1;}
if global.objeto = 1 {
hspeed = 0 ;
}
if global.objeto = 1 {
vspeed = 0 ;
}
DRAW
draw_sprite(sprite_index,subim,x,y)
que cuando se encuentre con x objeto que será como un NPC se pare, hasta ahí todo bien, no se reproduce la animación de andar ni nada, pero sigue reproduciendose la animación de mirar arriba,izquierda,abajo,derecha.
¿Alguna idea para dejarlo completamente quieto?
Dejo por aquí el codigo:
CREATE
image_speed = 0;
contador=0;
subim=0;
if global.ojos = 2 {
visible = true}
STEP
if keyboard_check(vk_left)//SI PRESIONO IZQUIERDA
{
if keyboard_check(vk_up) //Y ARRIBA
{hspeed=-2.5 vspeed=-2.5}
else if keyboard_check(vk_down)//Y ABAJO
{hspeed=-2.5 vspeed=2.5}
else if keyboard_check(vk_right) {hspeed=0} //Y DERECHA
else {hspeed=-4} //SOLO IZQUIERDA
}
else if keyboard_check(vk_right)//SI PRESIONO DERECHA
{
if keyboard_check(vk_up) //Y ARRIBA
{hspeed=2.5 vspeed=-2.5}
else if keyboard_check(vk_down) //Y ABAJO
{hspeed=2.5 vspeed=2.5}
else if keyboard_check(vk_left) {hspeed=0} ////E IZQUIERDA
else {hspeed=4} //SOLO DERECHA
}
else if keyboard_check(vk_up) and !keyboard_check(vk_right) and !keyboard_check(vk_left) //SI PRESIONO ARRIBA
{
if keyboard_check(vk_down) vspeed=0//Y ABAJO
else vspeed=-4//SOLO ARRIBA
}
else if keyboard_check(vk_down) and !keyboard_check(vk_right) and !keyboard_check(vk_left) //SI PRESIONO ABAJO
{
if keyboard_check(vk_up) vspeed=0//Y ARRIBA
else vspeed=4//SOLO ABAJO
}
if !keyboard_check(vk_left) and !(keyboard_check(vk_right))//SI NO PRESIONO IZQUIERDA NI DERECHA
hspeed=0
if !keyboard_check(vk_up) and !(keyboard_check(vk_down))//SI NO PRESIONO ARRIBA NI ABAJO
vspeed=0
//Cambiar sprite
if vspeed > 0 and global.objeto = 0
repeat(6)
{
contador+= 1
if contador > 50 { contador = 0 subim+=1}
if subim < 0 subim= 0
if subim > 3 subim = 0
}
else if vspeed < 0 and global.objeto = 0
repeat(6)
{
contador+= 1
if contador > 50 { contador = 0 subim+=1}
if subim < 4 subim= 4
if subim > 7 subim = 4
}
else if vspeed = 0 and global.objeto = 0
{
if hspeed < 0
repeat(6)
{
contador+= 1
if contador > 50 { contador = 0 subim+=1}
if subim < 8 subim= 8
if subim > 11 subim= 8
}
else if hspeed > 0 and global.objeto = 0
repeat(6)
{
contador+= 1
if contador > 50 { contador = 0 subim+=1}
if subim < 12 subim= 12
if subim > 15 subim= 12
}
//Colisión muro
}
if keyboard_check_released(vk_down) and vspeed = 0 and hspeed = 0{
subim = 0}
if keyboard_check_released(vk_up) and vspeed = 0 and hspeed = 0{
subim = 4}
if keyboard_check_released(vk_left) and vspeed = 0 and hspeed = 0{
subim = 8}
if keyboard_check_released(vk_right) and vspeed = 0 and hspeed = 0{
subim = 12}
if instance_place(x + hspeed, y,Colision){hspeed = 0;}
if instance_place(x,y + vspeed ,Colision){vspeed = 0;}
//PARARSE AL HABLAR CON UN OBJETO
if instance_place(x + hspeed, y,Colision_2) and keyboard_check(ord("A")) {global.objeto = 1;}
if instance_place(x,y + vspeed ,Colision_2) and keyboard_check(ord("A")) {global.objeto = 1;}
if global.objeto = 1 {
hspeed = 0 ;
}
if global.objeto = 1 {
vspeed = 0 ;
}
DRAW
draw_sprite(sprite_index,subim,x,y)
Gracias de antemano por ayudarme, si tenéis algún consejo sobre como podría realizarlo también me sirve ^^
6
Preguntas y respuestas / Como dejar quieto al personaje.
Mayo 12, 2019, 03:23:25 PM
Buenas!Me ocurre lo siguiente.Tengo las colisiones programadas en un item (realmente sería un sprite y en el objeto que se mueve tengo puesto que si se choca la velocidad es = 0)
Vale hasta hay bien, todo perfecto.
Sin embargo ahora me ocurre lo siguiente.
Tengo 8 sprites seleccionables, no puedo estar programandoles a los 8 todo el rato cuando se choca con x objeto se para y sale un mensaje.
Quiero programar que x objeto que lo vamos a llamar Nieve cuando nos choquemos con el y pulsemos A no se mueva y aparezca un texto
Vale hasta hay bien, todo perfecto.
Sin embargo ahora me ocurre lo siguiente.
Tengo 8 sprites seleccionables, no puedo estar programandoles a los 8 todo el rato cuando se choca con x objeto se para y sale un mensaje.
Quiero programar que x objeto que lo vamos a llamar Nieve cuando nos choquemos con el y pulsemos A no se mueva y aparezca un texto
7
Preguntas y respuestas / El juego se queda congelado cuando le ordeno que vaya a una room(Solucionado)
Abril 27, 2019, 09:11:10 PM
Buenas, quería exponeros un problema que llevo teniendo toda la tarde con Game Maker y me esta comenzando a tocar la moral.
Sucede lo siguiente,tengo un evento que según el nombre que habías elegido te da un mensaje, hasta aquí todo funciona perfectamente y no tengo problemas.
Sin embargo cuando le ordeno que cuando pulse "A" vaya a otra room se queda congelado en el mensaje y todos los sprites dejan de moverse.
He probado si el fallo era que por alguna razón la orden no llegaba.
Sin embargo probé a ordenarle que en vez de mandarme a otra room me diera un mensaje y funcionaba sin congelarse.
Además solo se congela la pantalla en este caso, en las otras salas cuando les ordeno ir a otro lado funciona.
¿Alguna idea de que puede ser?
[/b]
//reloj
alarm[0] = 2
object_set_visible (obj_mensaje_NOBORRAR, false);
//mensaje base
NPC = "???";
Nombre = global.nombre
Icono = Icon_Mickael;
Especial = 0;
Numero = 0;
///NOMBRES Y MENSAJES
if global.nombre = "FLAIN" {
Especial = 1;
}
if global.nombre = "VODKA" {
Especial = 2;
}
if global.nombre = "MARTIN" {
Especial = 3;
}
if global.nombre = "MILA H" {
Especial = 4;
}
if global.nombre = "LILA" {
Especial = 5;
}
if global.nombre = "RAMBAM" {
Especial = 6;
}
if global.nombre = "EIBLEC" {
Especial = 6;
}
if global.nombre = "CORNELIUS" {
Especial = 6;
}
if global.nombre = "ANGELA" {
Especial = 6;
}
if global.nombre = "MIR" {
Especial = 7;
}
if global.nombre = "CHER" {
Especial = 8;
}
if global.nombre = "HELP" {
Especial = 9;
}
if global.nombre = "SOCORRO" {
Especial = 9;
}
if global.nombre = "SOS" {
Especial = 9;
}
if global.nombre = "AYUDA" {
Especial = 9;
}
if global.nombre = "MICKAEL" {
Especial = 10;
}
///Error
if (Especial = 9) {
show_message("ERROR:NjkgODIgODIgNzkgODIgMzIgNTEgNDggNTAgNTcgNTEgNDggMzIgNzcgNjkgODMgODMgNjUgNzEgNjkgMzIgNzYgNzkgNjcgNzUgNjkgNjggMzIgNDUgMTAxIDEwNiAxMDEgOTkgMTE2IDEwNSAxMTAgMTAzIDMyIDEwMiAxMTQgMTExIDEwOSAzMiAxMTYgMTA0IDEwMSAzMiAxMTUgMTIxIDExNSAxMTYgMTAxIDEwOSA0NQ==)")
game_end()
}
if (Especial = 10) {
show_message("Error:cGJlZWhjZyBzdnlyIEhnYmN2biBhYmcgc2JoYXE=")
game_end()
}
if global.nombre = "HAMILTON" {
Especial = 11;
}
visible = true
[/b]
//Caja de texto
draw_sprite(C_de_texto_VACIO,0,3,220);
draw_set_font(Dialogo);
draw_set_color(c_black);
//NO TOCAR LO DE ARRIBA
//NOMBRE:
draw_text_ext(room_width div 2 -280,264,NPC, 10,1000);
//Imagen Animada
draw_sprite(Icono,all,73,345);
///NOMBRES
if (Especial < 1) {
draw_text_ext(420, 300 ,"¡Que bonito nombre!",30,550);
}
if (Especial = 1) {
draw_text_ext(420, 300 ,"Sin lugar a dudas es tu nombre real.",30,550);
}
if (Especial = 2) {
draw_text_ext(420, 300 ,"Interesante nombre,¡Me recuerda a alguien!",30,550);
}
if (Especial = 3) {
draw_text_ext(420, 300 ,"Ey,¿Ese nombre no es de alguien muy depresivo?",30,550);
}
if (Especial = 4) {
draw_text_ext(420, 300 ,"¿Tu conoces a Mila Hasuna?Teneís el mismo nombre.",30,550);
}
if (Especial = 5) {
draw_text_ext(460, 300 ,"¿Es una moda eso de ponerle a tus descendientes tu propio nombre?.",30,450);
}
if (Especial = 6) {
draw_text_ext(460, 300 ,"Hum...Me suena muchísimo ese nombre.¿Donde lo habré escuchado antes?",30,550);
}
if (Especial = 7) {
draw_text_ext(400, 300 ,"Conozco a un loco con ese nombre...",30,550);
}
if (Especial = 8) {
draw_text_ext(470, 300 ,"Oh...Que nombre tan dulce.Encantado de conocerte Cher.",30,550);
}
if (Especial = 11) {
draw_text_ext(460, 300 ,"Tu nombre me llena de esperanza,¡Levantemos una copa por la libertad!",30,550);
}
Si alguien me ayudara a encontrar el problema se lo agradecería mucho ya que todo funciona bien menos el room_goto T-T
Sucede lo siguiente,tengo un evento que según el nombre que habías elegido te da un mensaje, hasta aquí todo funciona perfectamente y no tengo problemas.
Sin embargo cuando le ordeno que cuando pulse "A" vaya a otra room se queda congelado en el mensaje y todos los sprites dejan de moverse.
He probado si el fallo era que por alguna razón la orden no llegaba.
Sin embargo probé a ordenarle que en vez de mandarme a otra room me diera un mensaje y funcionaba sin congelarse.
Además solo se congela la pantalla en este caso, en las otras salas cuando les ordeno ir a otro lado funciona.
¿Alguna idea de que puede ser?
---------------------------Evento Create.-----------------------
//reloj
alarm[0] = 2
object_set_visible (obj_mensaje_NOBORRAR, false);
//mensaje base
NPC = "???";
Nombre = global.nombre
Icono = Icon_Mickael;
Especial = 0;
Numero = 0;
///NOMBRES Y MENSAJES
if global.nombre = "FLAIN" {
Especial = 1;
}
if global.nombre = "VODKA" {
Especial = 2;
}
if global.nombre = "MARTIN" {
Especial = 3;
}
if global.nombre = "MILA H" {
Especial = 4;
}
if global.nombre = "LILA" {
Especial = 5;
}
if global.nombre = "RAMBAM" {
Especial = 6;
}
if global.nombre = "EIBLEC" {
Especial = 6;
}
if global.nombre = "CORNELIUS" {
Especial = 6;
}
if global.nombre = "ANGELA" {
Especial = 6;
}
if global.nombre = "MIR" {
Especial = 7;
}
if global.nombre = "CHER" {
Especial = 8;
}
if global.nombre = "HELP" {
Especial = 9;
}
if global.nombre = "SOCORRO" {
Especial = 9;
}
if global.nombre = "SOS" {
Especial = 9;
}
if global.nombre = "AYUDA" {
Especial = 9;
}
if global.nombre = "MICKAEL" {
Especial = 10;
}
///Error
if (Especial = 9) {
show_message("ERROR:NjkgODIgODIgNzkgODIgMzIgNTEgNDggNTAgNTcgNTEgNDggMzIgNzcgNjkgODMgODMgNjUgNzEgNjkgMzIgNzYgNzkgNjcgNzUgNjkgNjggMzIgNDUgMTAxIDEwNiAxMDEgOTkgMTE2IDEwNSAxMTAgMTAzIDMyIDEwMiAxMTQgMTExIDEwOSAzMiAxMTYgMTA0IDEwMSAzMiAxMTUgMTIxIDExNSAxMTYgMTAxIDEwOSA0NQ==)")
game_end()
}
if (Especial = 10) {
show_message("Error:cGJlZWhjZyBzdnlyIEhnYmN2biBhYmcgc2JoYXE=")
game_end()
}
if global.nombre = "HAMILTON" {
Especial = 11;
}
------------------Alarma0--------------------------
----------------------------------Evento Draw----------------------------------
//Caja de texto
draw_sprite(C_de_texto_VACIO,0,3,220);
draw_set_font(Dialogo);
draw_set_color(c_black);
//NO TOCAR LO DE ARRIBA
//NOMBRE:
draw_text_ext(room_width div 2 -280,264,NPC, 10,1000);
//Imagen Animada
draw_sprite(Icono,all,73,345);
///NOMBRES
if (Especial < 1) {
draw_text_ext(420, 300 ,"¡Que bonito nombre!",30,550);
}
if (Especial = 1) {
draw_text_ext(420, 300 ,"Sin lugar a dudas es tu nombre real.",30,550);
}
if (Especial = 2) {
draw_text_ext(420, 300 ,"Interesante nombre,¡Me recuerda a alguien!",30,550);
}
if (Especial = 3) {
draw_text_ext(420, 300 ,"Ey,¿Ese nombre no es de alguien muy depresivo?",30,550);
}
if (Especial = 4) {
draw_text_ext(420, 300 ,"¿Tu conoces a Mila Hasuna?Teneís el mismo nombre.",30,550);
}
if (Especial = 5) {
draw_text_ext(460, 300 ,"¿Es una moda eso de ponerle a tus descendientes tu propio nombre?.",30,450);
}
if (Especial = 6) {
draw_text_ext(460, 300 ,"Hum...Me suena muchísimo ese nombre.¿Donde lo habré escuchado antes?",30,550);
}
if (Especial = 7) {
draw_text_ext(400, 300 ,"Conozco a un loco con ese nombre...",30,550);
}
if (Especial = 8) {
draw_text_ext(470, 300 ,"Oh...Que nombre tan dulce.Encantado de conocerte Cher.",30,550);
}
if (Especial = 11) {
draw_text_ext(460, 300 ,"Tu nombre me llena de esperanza,¡Levantemos una copa por la libertad!",30,550);
}
---------------------------Evento Tecla Bajada (A)---------------------
room_goto(Vacio6)Si alguien me ayudara a encontrar el problema se lo agradecería mucho ya que todo funciona bien menos el room_goto T-T
8
Preguntas y respuestas / ¿Existe algún equivalente a Pulsar A dentro de GML?
Abril 18, 2019, 09:09:42 PM
:GM2:Tengo el siguiente problema, quiero programar algo dentro de un evento step donde me detecte el keyboard_check_pressed la letra A
Las unicas opciones que tengo para elegir teclas son las vk_(la tecla) Sin embargo no hay ninguna para pulsar Teclas como AWSD sin necesidad de hacer un evento de tecla pulsada.
Gracias de antemano por ayudar ^^
Las unicas opciones que tengo para elegir teclas son las vk_(la tecla) Sin embargo no hay ninguna para pulsar Teclas como AWSD sin necesidad de hacer un evento de tecla pulsada.
Gracias de antemano por ayudar ^^
9
Preguntas y respuestas / Problema con arbol de dialogo en GML (SOLUCIONADO)
Abril 13, 2019, 09:02:58 PM
Buenas, llevo dos semanas atascada intentando programar lo siguiente:
Quiero tener una base en la que esta escrita el nombre del personaje en x coordenada, la imagen del personaje en x coordenada y su texto.
Hasta hay todo bien.
Cuando este haga una pregunta no se como hacer que se modifique lo que diga en el evento draw.
Para que me entendáis mejor:
Quiero hacer un árbol de Preguntas y respuestas que se van dividiendo en caminos.
Esto es lo que tengo:
EVENT CREATE
///MENSAJE
alarm[1] = 140
object_set_visible (obj_mensaje, false);
//mensaje base
Mensaje[0] = "Ey, ¿ Que hace alguien como tú por aquí ?";
Mensaje2[0] = "Pregunta 2";
NPC = "???";
Icono = Icon_Mickael;
///ELECCIONES
alarm[0] = 340
menu_x = x;
menu_y = y;
button_h = 21;
// buttons
button[2] = "-...-";
button[1] = "-¿No deberías saberlo?-";
button[0] = "-No tengo ni idea-";
P_pregunta[0] ="Ey, ¿Que hace alguien como tú por aquí?";
buttons = array_length_1d(button);
menu_index = 0;
last_selected = 0;
------------------------------------------------------------------
PASO
menu_move = keyboard_check_pressed(vk_down) - keyboard_check_pressed(vk_up);
menu_index += menu_move;
if (menu_index < 1) menu_index = buttons - 0;
if (menu_index > buttons - 1) menu_index = 0;
last_selected = menu_index;
----------------------------------------------------
Alarm 0
visible = true
--------------------------------------------
Alarm 1
visible = true
----------------------------------------
DRAW
//Caja de texto
draw_sprite(C_de_texto_VACIO,0,3,395);
draw_set_font(Dialogo);
draw_set_color(c_black);
//Contenido del texto
draw_text_ext(room_width div 2 + 60, 480 ,Mensaje,30,580);
//NO TOCAR LO DE ARRIBA
//NOMBRE:
draw_text_ext(room_width div 7 ,437,NPC, 10,1000);
//Imagen Animada
draw_sprite(Icono,all,73,520);
///ELECCIONES
var i = 0;
draw_set_font(Dialogo);
draw_set_halign(fa_center);
draw_set_color(c_black);
repeat(buttons) {
draw_set_color(c_black);
if (menu_index == i) draw_set_color(c_blue);
draw_text(menu_x, menu_y + button_h * i, button)
i++;
}
-------------------------------------------------------
PULSACIÓN TECLA A
switch(menu_index) {
case 2:
instance_destroy();
break;
case 1:
instance_destroy();
break;
case 0:
instance_destroy();
break;
}
Quiero tener una base en la que esta escrita el nombre del personaje en x coordenada, la imagen del personaje en x coordenada y su texto.
Hasta hay todo bien.
Cuando este haga una pregunta no se como hacer que se modifique lo que diga en el evento draw.
Para que me entendáis mejor:
Quiero hacer un árbol de Preguntas y respuestas que se van dividiendo en caminos.
Esto es lo que tengo:
EVENT CREATE
///MENSAJE
alarm[1] = 140
object_set_visible (obj_mensaje, false);
//mensaje base
Mensaje[0] = "Ey, ¿ Que hace alguien como tú por aquí ?";
Mensaje2[0] = "Pregunta 2";
NPC = "???";
Icono = Icon_Mickael;
///ELECCIONES
alarm[0] = 340
menu_x = x;
menu_y = y;
button_h = 21;
// buttons
button[2] = "-...-";
button[1] = "-¿No deberías saberlo?-";
button[0] = "-No tengo ni idea-";
P_pregunta[0] ="Ey, ¿Que hace alguien como tú por aquí?";
buttons = array_length_1d(button);
menu_index = 0;
last_selected = 0;
------------------------------------------------------------------
PASO
menu_move = keyboard_check_pressed(vk_down) - keyboard_check_pressed(vk_up);
menu_index += menu_move;
if (menu_index < 1) menu_index = buttons - 0;
if (menu_index > buttons - 1) menu_index = 0;
last_selected = menu_index;
----------------------------------------------------
Alarm 0
visible = true
--------------------------------------------
Alarm 1
visible = true
----------------------------------------
DRAW
//Caja de texto
draw_sprite(C_de_texto_VACIO,0,3,395);
draw_set_font(Dialogo);
draw_set_color(c_black);
//Contenido del texto
draw_text_ext(room_width div 2 + 60, 480 ,Mensaje,30,580);
//NO TOCAR LO DE ARRIBA
//NOMBRE:
draw_text_ext(room_width div 7 ,437,NPC, 10,1000);
//Imagen Animada
draw_sprite(Icono,all,73,520);
///ELECCIONES
var i = 0;
draw_set_font(Dialogo);
draw_set_halign(fa_center);
draw_set_color(c_black);
repeat(buttons) {
draw_set_color(c_black);
if (menu_index == i) draw_set_color(c_blue);
draw_text(menu_x, menu_y + button_h * i, button)
i++;
}
-------------------------------------------------------
PULSACIÓN TECLA A
switch(menu_index) {
case 2:
instance_destroy();
break;
case 1:
instance_destroy();
break;
case 0:
instance_destroy();
break;
}
Muchas gracias de antemano ^^